Soy un programador Ruby que intenta cambiar de Textmate a MacVim, y tengo problemas para recorrer las gigantescas listas de cosas que puede hacer en VIM y todas las pulsaciones de teclas para ellas. Estoy cansado de escuchar "Puedes usar 'I' para insertar texto, o 'a' para agregar texto después del carácter, o 'A' para agregar texto al final de la línea, o ..." No puedo imaginar todos usan las 20 pulsaciones de teclas diferentes para navegar por el texto, unas 10 teclas para comenzar a agregar texto y 18 formas de seleccionar visualmente un bloque interno. ¿¡O tú !?
Mi hoja de trucos ideal serían las 30-40 pulsaciones de teclas o comandos más utilizados que todos usan para escribir código a diario, junto con los complementos absolutamente esenciales que los rubyists usan a diario y los 10 comandos más utilizados para ellos. En teoría, una vez que tenga eso y empiece a ser tan competente en VIM como en Textmate, entonces puedo empezar a aprender los miles de otros comandos de VIM que me harán más eficiente.
¿O estoy aprendiendo VIM de forma totalmente incorrecta?
fuente
Respuestas:
Aquí hay una hoja de consejos que escribí una vez, con los comandos que realmente uso con regularidad:
Referencias
General
<Esc>
te saca de cualquier modo y vuelve al modo de comandoNavegación
Edición
Insertar
Todos los comandos de inserción terminan con
<Esc>
para volver al modo de comando.Cambiando
<motion>
cambia el texto en la dirección del movimientoEliminando
<motion>
borra en la dirección del movimientoCortar y pegar
Bloques
Global
buscando
Archivos
name
escribe el archivo en el disco comoname
Ventanas
Navegación de fuente
tags
archivo); ^ T volver a la posición anterior (se mantiene una pila arbitraria de posiciones)Mostrar cambios locales
Vim tiene algunas características que facilitan el resaltado de líneas que se han cambiado desde una versión base en el control de código fuente. He creado un pequeño script vim que facilita esto: http://github.com/ghewgill/vim-scmdiff
fuente
Esc
clave (¿y RSI?), Puede usar^[
.^c
también funciona (pero no amplía las abreviaturas). Fuente: vim.wikia.com/wiki/Avoid_the_escape_keyhttp://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
Esto es lo más grandioso que he aprendido en VIM.
fuente
Aquí hay una gran hoja de trucos para vim :
fuente
¿Has repasado el tutorial integrado de Vim? De lo contrario, vaya a la línea de comandos y escriba
vimtutor
. Es una excelente manera de aprender los comandos iniciales.Vim tiene una increíble cantidad de flexibilidad y potencia y, si eres como la mayoría de los usuarios de vim, aprenderás muchos comandos nuevos y te olvidarás de los antiguos, y luego los volverás a aprender. La ayuda incorporada es buena y digna de una navegación periódica para aprender cosas nuevas.
Hay varias buenas preguntas frecuentes y hojas de trucos para vim en Internet. Recomiendo buscar
vim + faq
yvim + cheatsheet
. Cheat-Sheets.org # vim es una buena fuente, al igual que la wiki de Vim Tips .fuente
~/.vimrc
,~/.gvimrc
y el~/.vim
directorio en una tar-ball para cuando tenga que montar algo. Copiar eso y extraer los archivos me permite ejecutar vim con todos mis comandos y esquemas de colores habituales en minutos en Windows, Macs y Linux.Lo que muchos hacen es empezar con lo básico lo básico, tal como i, yw, yy, y p. Puede continuar usando las teclas de flecha para moverse, seleccionar texto con el mouse, usar los menús, etc. Luego, cuando algo lo está frenando, busca la forma más rápida de hacerlo y gradualmente agrega más y más comandos. Puede aprender un nuevo comando por día durante un tiempo, luego pasará a uno por semana. Te sentirás bastante productivo en un mes. Después de un año tendrás un repertorio bastante sólido, y después de 2-3 años ni siquiera pensarás conscientemente lo que escriben tus dedos, y se verá extraño si tienes que deletrearlo para alguien. Aprendí vi en 1993 y todavía aprendo 2 o 3 nuevos comandos al año.
fuente
La hoja de trucos de @Greg Hewgill es muy buena. Comencé mi cambio de TextMate hace unos meses. Ahora soy tan productivo como lo era con TM y constantemente me sorprende el poder de Vim.
Así es como cambié . Quizás te pueda ser útil.
Grosso modo, no creo que sea una buena idea hacer un cambio radical. Vim es muy diferente y lo mejor es ir progresivamente.
Y para responder a su subpregunta, sí, uso todos los
iaIAoO
días para ingresar al modo de inserción. Ciertamente parece extraño al principio, pero realmente no lo piensas después de un tiempo.Algunos comandos increíblemente útiles para cualquier tarea relacionada con la programación:
r
yR
para reemplazar personajes<C-a>
y<C-x>
aumentar y disminuir el númerocit
para cambiar el contenido de una etiqueta HTML, y sus variantes (cat
,dit
,dat
,ci(
, etc.)<C-x><C-o>
(asignado a,,
) para omnicompleción<C-v>
Una vez que esté acostumbrado a la forma de Vim, se vuelve realmente difícil no presionar
o
ox
todo el tiempo al editar texto en algún otro editor o campo de texto.fuente
Hago.
Esa es la forma correcta de hacerlo. Comience con comandos básicos y luego elija los que mejoren su productividad. Me gusta seguir este blog para obtener consejos sobre cómo mejorar mi productividad con vim.
fuente
tuxfiles.org tiene una muy buena hoja de trucos. Creo que hay un par de puntos para aprender los comandos:
d$
), realice una búsqueda rápida en Google para ver si puede encontrar un comando para ello.Además de estos consejos, hay algunos conceptos básicos que debe comprender.
d$
. Para resaltar una línea después de un uso de carácter particularv$
. Así que observe que$
indica que estará haciendo algo hasta el final de la línea desde donde se encuentra actualmente el cursor.u
es deshacer yctrl+r
rehacer.3dd
eliminará la línea en la que se encuentra el cursor y las dos líneas que siguen, de manera similar3yy
copiará la línea en la que se encuentra el cursor y las dos líneas que siguen.:ls
para enumerar los tampones y:bn
,:bp
para pasar por ellos.:help
Esta es probablemente la mejor manera de "aprender a manejar" y el resto de los comandos que aprenderá a través del uso.fuente
Ponga esto en su .bashrc para abrir vim con el último archivo editado en la última línea editada
fuente
Vaya a Edición eficiente con vim y aprenda lo que necesita para comenzar. No todo en esa página es esencial para empezar, así que elige lo que quieras.
A partir de ahí, usa vim para todo. "hjkl", "y" y "p" le ayudarán mucho, incluso si no es la forma más eficiente. Cuando te encuentres con una tarea para la que no conoces la clave mágica para hacerlo de manera eficiente (o en absoluto), y te encuentras haciéndola más de unas pocas veces, búscala. Poco a poco se convertirá en una segunda naturaleza.
Encontré vim desalentador hace muchas lunas (cuando no tenía la "m" al final), pero solo tomó alrededor de una semana de uso constante para volverse eficiente. Todavía lo encuentro el editor más rápido para hacer las cosas.
fuente