¿Cómo aprender vim en un alto nivel? [cerrado]


77

Sé que vim (como emacs) es un editor muy potente para programadores, siempre que sepa cómo usarlo, sus accesos directos, etc. ¿Qué pasos puedo seguir y qué tutoriales puedo leer para convertirme en un usuario avanzado de vim?


Es posible que desee consultar el wiki de la comunidad aquí: ubuntu.stackexchange.com/questions/804/…
myusuf3

Respuestas:


116

Paso 0: aprende a tocar el tipo. En serio: si tus dedos no saben dónde están las teclas, entonces vim será un dolor. E incluso si rechaza vim, la escritura táctil mejorará su programación (pregunte a Steve Yegge ) al hacer que la mente monitoree el enlace sin fricción. Existe una gran cantidad de software que puede ayudarlo a mejorar su escritura.

Paso 1: use las preferencias del teclado para intercambiar Caps Lock y Escape; en serio, ¿con qué frecuencia usa Caps Lock? Usando vim estarás usando Escape todo el tiempo, y tenerlo disponible en la fila de inicio hace una gran diferencia. Con el escritorio estándar de Ubuntu, vaya a los menús: Sistema -> Preferencias -> Teclado -> pestaña Diseños. Luego presione el botón "Opciones de diseño", haga clic en el triángulo junto a "Comportamiento de la tecla Bloq Mayús" y seleccione "Cambiar ESC y Bloq Mayús". (Observe cómo ha cambiado esto; vea esto para saber cómo hacerlo en 14.04 .

Paso 2: use vimtutor para comenzar. Está en gvim (en el menú de ayuda, creo) o simplemente puede escribir 'vimtutor' en la línea de comando. Tomará 30-45 minutos de su tiempo y luego sus dedos conocerán los conceptos básicos de vi / vim y debería poder editar archivos sin querer lanzar su teclado por la ventana.

Paso 3: usa vim en todas partes. Consulte esta pregunta de StackOverflow para obtener consejos y enlaces para usar las asociaciones de teclas vim y vi en la línea de comandos, desde su navegador web, para redactar correos electrónicos, en su IDE ... Debe usar vim para incrustar las asociaciones de teclas en su memoria muscular .

Paso 4: aprende más sobre vim. Solo habrá arañado la superficie con vimtutor. Usted puede

Aprender un poco a menudo sería mi consejo: hay tanto por ahí que apegarse a trozos del tamaño de un bocado será la mejor manera de hacer que el conocimiento se mantenga.

Paso 5: Beneficio :)


10
no puedo votar esto lo suficiente :)
tutuca

¡Muchas gracias por la mejor respuesta! Afortunadamente, ya estoy tocando mecanógrafa. :) Entonces, seguiré los siguientes pasos ...
Zango

1
El paso 2 es muy importante. Cambié vim de ser un dolor a mi editor favorito.
Mateo

2
Quiero impulsar el Paso 3, incluso puedes usar (g) vim en Windows o Mac o ... (ver vim.org/download.php ) Solo usando un editor te familiarizarás más con él.
ddeimeke

Haga que las mayúsculas bloqueen un control adicional (o cámbielas). Vim tiene muchos usos de ctrl, más de lo que uso escape (de todos modos, uso kj para escapar), pero esa tecla de control útil y más fácil también es útil en todos los demás programas que uso.

22

El paquete de formulario "vimtutor" "vim" es probablemente el mejor lugar para comenzar.


14

Dos cosas:

  1. Aprende la escritura táctil. Realmente no hay otra manera. Luego vincule ESC a ";;" para que nunca tenga que abandonar su fila de casa:inoremap ;; <esc>

  2. Buscar github para la de otras personas .vimrcs

Y un tercero: VimCasts




6

Esto sonará tonto, pero conozca el comando de ayuda de vim. El sistema de ayuda es notablemente intuitivo y fácil de navegar.

La ayuda está disponible escribiendo :help. Puede encontrar información sobre un tema específico si lo incluye en la línea de comando (p :help insert. Ej .). Puede recorrer los temas presionando la pestaña después de escribir uno o más caracteres del tema.

La ayuda está hipervinculada, con enlaces indicados en texto en negrita o en color. Puede seguir los enlaces presionando <Ctrl -]> cuando el cursor esté sobre él y <Ctrl-t> para retroceder. Para salir de la ayuda, escriba :q.


1
Y tiene dos manuales completos: manual de usuario y manual de referencia. No necesita nada más que vimtutor y: ayuda para convertirse en un experto de Vim.
Marius Gedminas

5

Algunas buenas respuestas. Definitivamente intente integrarlo en la vida diaria y asegúrese de no tratar de inundar demasiado su cerebro a la vez. Hay demasiadas cosas para aprender todo en una semana.

Al principio, solo comience con uno / dos comandos / teclas nuevos por semana. Úsalos e introdúcelos en tu cerebro. No quiere tener que consultar una hoja de trucos todo el día.

Tengo una configuración de configuración de vim de muestra que está muy bien documentada. Publico para personas: http://github.com/mitechie/pyvim

Sin embargo, no solo copie / pegue. Asegúrese de comprender lo que está pasando en su configuración de vim para no olvidar / malinterpretar lo que está haciendo por usted.

y comencé a hacer algunos screencasts de vim: http://lococast.net/archives/111




3

Sé que podría recibir comentarios negativos para esta respuesta, ya que puede perjudicar a los fanáticos y usuarios de vim: primero pregúntese qué quiere hacer. Y solo si vim es la mejor herramienta para esa tarea específica, haga lo que le dicen todas las otras respuestas.

O para decirlo con más imágenes: puede intentar obtener el doble de rápido o mejor con un martillo de lo que es ahora. Pero dependiendo de la situación, un destornillador puede ayudar más que el martillo. :)


44
Sí, como fanático de vim tengo que decir que vim es un poco más que un martillo. Puede proporcionar usos útiles para cualquier persona, desde sysadmin, db admin, programador (de cualquier idioma) e incluso simplemente editor de texto sin lujos. Se instala de manera predeterminada en todos los sistemas por una razón y no sé si hay muchos argumentos para "bueno, ¿realmente necesitas saberlo?" Más allá de eso, el usuario publicó esto explícitamente para encontrar formas / ayuda para avanzar su vim conocimiento y experiencia.
Rick

1
¡Estoy totalmente de acuerdo contigo!
ddeimeke

2

Realmente no he aprendido Vim todavía, pero creo que haciendo toda mi navegación con la extensión Pentadactyl para Firefox, será menos difícil cuando pueda hacerlo.

Cualquier campo de texto y la línea de comando se pueden tratar como el modo normal de Vim con Ctrl T (o automáticamente, si cambia una configuración); sin embargo, aquí es donde cae en este momento para mí, ya que muchas acciones se interpretan como globales, por ejemplo, al intentar pegar con p se abre una url con el texto que está en el búfer e intentar sobrescribir el texto con r vuelve a cargar la página. Pero puede abrir el campo de texto en Gvim presionando Control I, por lo que no es realmente un problema.

Otro problema es que hace que sitios web como Gmail o Remember the Milk sean más difíciles de usar, ya que tienes otro modo con el que lidiar.


2

Vea las respuestas en los consejos para principiantes para aprender Vim de Programmers SE

Para reiterar mi respuesta a esa pregunta:


Aprendí mucho del libro de O'Reilly "Aprendiendo los editores de Vi y Vim" . Es el mejor libro de Vim que he leído.

También recomiendo echar un vistazo:

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.