Gateando en Vim

En el artículo anterior estuvimos sentando las bases de Vim. De dónde viene, adónde va, dónde cena los martes por la noche… Hoy avanzaremos un poco más en los comandos básicos y le daremos a Julia una manera de practicar Vim.

De hecho, vamos a comenzar con esto último.

El omnipresente modo Vim

Sorpresa: la mayor parte de editores de cierta entidad incluyen un modo Vim. Tan querido, amado y utilizado es este editor de texto, que muchos IDEs (entornos de desarrollo) incluyen un modo Vim. Atom lo tiene, Sublime Text lo tiene, Visual Studio lo tiene, PHPStorm lo tiene y, por supuesto, PyCharm también lo tiene. Pero antes, un poco de historia reciente.

En su último comentario, Julia mencionaba que en su día a día usa PyCharm, un entorno de desarrollo de JetBrains para desarrollar en python. Así, sólo tiene la oportunidad de practicar con Vim cuando edita el texto de un commit en Git o cuando edita algún fichero suelto. Pero no pasa nada: para eso está el modo Vim.

Para activar el modo Vim en Pycharm hay que instalar primero el plugin IdeaVim. En el enlace anterior están las instrucciones, que contienen:

  • Cómo instalar el plugin IdeaVim desde el marketplace de plugins de PyCharm
  • Cómo resolver los posibles conflictos con los atajos de teclado nativos de PyCharm
  • Cómo editar el archivo de configuración del modo Vim de PyCharm

Conocimiento y sabiduría

Hacer aquí un pequeño inciso antes de entrar con los comandos básicos de edición en Vim.

Para aprender a manejarse en Vim es estrictamente necesaria la práctica. No vale leerse las instrucciones que voy a compartir aquí y creernos que sabemos manejar Vim. Lo que hemos hecho ha sido reunir conocimiento.

Si quiero aprender a jugar al tenis, puedo leerme media docena de libros de tenis. Tendré muchas ideas entonces acerca de ello, pero eso es solamente conocimiento. Para saber jugar al tenis hace falta sabiduría, y la sabiduría la entrega la práctica. Si quiero saber jugar al tenis tengo que ir a la pista, tengo que coger la raqueta y tengo que empezar a practicar los diferentes ejercicios: ahora un saque, ahora un drive, ahora un revés, ahora una volea, ahora subo a la red…

Es fácil leerse un libro de tenis y creer que se sabe jugar al tenis. Eso es un error grave. Sólo la práctica da la sabiduría. Esto es válido para el tenis, para el Vim y para cualquier otra cosa en la vida.

Un gramo de práctica equivale a una tonelada de teoría.

Aprendiendo a gatear en Vim

Si en el artículo anterior vimos cómo abrir y cerrar Vim, en esta ocasión vamos a avanzar un poco más.

Moviendo el cursor

Comencemos moviendo el cursor.

Evidentemente (y decir esto, tratándose de Vim, es atrevido) podemos mover el cursor con las teclas de cursor, esas teclas con flechitas en el teclado. El cursor responde como se espera: arriba, abajo, etc.

Ahora, la manera pro de mover el cursor en Vim es mediante las teclas: h,j,k,l.

Arriba: k

Abajo: j

Izquierda: h

Derecha: l

Estas cuatro letras están en una línea en la parte central derecha del teclado. La h queda a la izquierda del grupo y por tanto lleva el cursor a la izquierda. La l queda a la derecha y, por tanto, lleva el cursor hacia la derecha. La j se ve como una flecha hacia abajo (?!) y lleva el cursor hacia abajo y, por último, la k lleva el cursor hacia arriba por sus santos cojones. Tal vez eso sirva de regla mnemotécnica.

Otra manera de recordar que la j lleva el cursor hacia abajo es notar que, de las dos teclas centrales del grupo, es la primera que aparece leyendo de izquierda a derecha. Como la operación de movimiento más común al mover el cursor en un fichero de texto es hacia abajo, es natural que esa tecla esté dispuesta antes que la que lo lleva hacia arriba. Ahí dejo eso.

Honestamente, suelo usar los cursores para mover el cursor en Vim, pero voy a aprovechar este mini-curso para aprender a usar hjkl.

La razón para usar esas cuatro teclas, una junto a otra, en lugar de los cursores, es que así la mano permanece en el teclado y se mueve lo mínimo posible. Si los usuarios de Vim renuncian al ratón, y esa es una de las máximas ventajas del editor, para estas personas es incluso demasiada concesión apartar la mano derecha de la parte central del teclado para llevarla hasta la periferia, donde se ubican los cursores. Así está la cosa, señores y señoras. Sólo nos queda dar cera, pulir cera.

Despedida y cierre

Para hacerle a Julia más llevadero el aterrizaje en Vim y el aprendizaje del mismo, vamos a ir despacito, bocado a bocado. De momento le dejo como deberes instalar el plugin y aprender a mover el cursor en plan pro. En el artículo de mañana veremos qué encontramos más allá de esto.

¿Feedback? ¿Es esto útil? ¿Más rápido? ¿Más despacio? ¿Más serio? ¿Más divertido?

Torre de una iglesia en Haidhausen al caer la noche

Comentarios

4 respuestas a «Gateando en Vim»

  1. Avatar de Julia
    Julia

    Buenos días y gracias de nuevo!
    No se me había ocurrido usar el modo vim en pycharm pero ahora que lo mencionas tiene sentido! Si Mahoma no va a la montaña…
    Tampoco sabía lo del hjkl.
    Este post está genial, me da dos cosas para hacer (instalar el plugin y empezar a probar el hjkl en lugar de las flechas). Suficiente para hoy pero no demasiado abrumador. Me gusta también el enfoque desenfadado, que aquí estamos para pasar un buen rato.
    Gracias de nuevo y con ganas de leer los próximos capítulos.

    1. Avatar de Javier

      Buenos días y gracias por el feedback, Julia 🙂
      Me alegro de que el post te haya sido útil. Creía que lo del hjkl era una de las principales razones de aprender a usar Vim. Seguro que tus colegas lo usan así de pro 😉
      Me alegro de que te guste el enfoque y el hacerlo así, poquito a poco. Con este feedback sigo por este camino entonces.
      Me pongo a preparar el artículo del lunes. Un saludo y que tengas un buen fin de semana 🙂

  2. Avatar de Ed
    Ed

    Javier, haces muy agradable la lectura con tu estilo desenfadado. Da lo mismo que escribas de temas técnicos, filosóficos o mundanos. Es “cómodo” leerte.
    Los atajos del “modo vi” está omnipresente es muchos programas de frikis, pero también en otros mas populares. En Gmail, cuando estas leyendo un email puedes pasar al siguient/anterior con la teclas j/k
    Tambien en el lector de RSS Feedly. Es muy cómodo no tener que despegar las manos del teclado y prescindir del raton

    1. Avatar de Javier

      Muchas gracias, Ed. Lo tomo como un pedazo de cumplido.
      En Gmail sabía que se podía usar atajos. Los usé un tiempo pero después olvidé las teclas exactas. Bueno es saber que son las mismas que las de vim. ¡Gracias!
      Que tengas un buen fin de semana 🙂

Deja una respuesta