Comandos básicos de Vim que todo usuario de Linux debe conocer [se incluye hoja de referencia gratuita]

No importa si es administrador de sistemas o desarrollador de software, si trabaja en la terminal Linux, se enfrentará a la situación en la que necesitará editar archivos de texto en la terminal.

Cuando esté restringido a la terminal, debe usar uno de los editores de línea de comandos como Vim. La mayoría de nosotros estamos acostumbrados a los editores GUI y esto causa un problema porque usar un editor de línea de comandos no es lo mismo que usar un editor de texto gráfico como Atom.

Hay varios editores de texto de líneas de comando disponibles y puedes utilizar cualquiera de ellos. Vim es uno de los editores de texto de línea de comandos más populares y lo encontrará instalado en cualquier distribución estándar de Linux. Es por eso que aprender los conceptos básicos de Vim te ayudará mucho.

Ahora bien, esta no es una guía completa para convertirte en un experto en Vim. Es una guía completa de Vim destinada a brindarle lo suficiente para sobrevivir a Vim en la terminal de Linux.

Espero que hayas instalado Vim en Ubuntu o cualquier distribución de Linux que estés usando.

Comandos básicos de Vim que debes conocer

Si ha trabajado con Vim anteriormente, tal vez sólo quiera refrescar sus recuerdos mirando esta hoja de trucos de Vim:

comando vim Descripción
i Ingrese al modo de inserción
Esc Ingrese al modo de comando
x o Supr Eliminar un personaje
X Eliminar carácter es el modo de retroceso
tu Deshacer cambios
Ctrl+r Rehacer cambios
yy Copiar una línea
dd Eliminar una línea
pag Pega el contenido del buffer
/<search_term> Busque y luego recorra las coincidencias con n y N
[[ o gg Ir al principio de un archivo
]] o G Ir al final de un archivo
:%s/foo/bar/gci Buscar y reemplazar todas las ocurrencias con confirmación
Esc + :v Guardar cambios
Esc + :wq o Esc + ZZ Guardar y salir de Vim
Esc + :q! Forzar el cierre de Vim descartando todos los cambios

También puede descargar los comandos anteriores como PDF. Descárguelo, imprímalo y guárdelo en su escritorio para consultarlo rápidamente.

No te preocupes, también voy a explicar estos comandos básicos de Vim en detalle.

Comprender los modos de Vim

Antes de comenzar, conozcamos los modos de Vim. Vim tiene tres modos:

  • Modo de comando: cuando inicias Vim, se te coloca en el modo de comando. En este modo, puede moverse por la pantalla, eliminar texto y copiar texto.
  • Modo Insertar: No puedes escribir texto en modo comando. Para escribir texto (o digamos insertar texto) en un archivo, existe un modo de inserción dedicado. Cuando quieras escribir algo en un archivo, debes ingresar al modo de inserción.
  • Modo visual: algo así como el modo de comando, pero aquí puede usar las teclas de flecha para seleccionar texto entre líneas (en lugar de trabajar directamente en palabras y líneas según la posición del cursor).

Una vez que conozca los modos de Vim, veamos algunos comandos básicos de Vim para diversos propósitos.

Entrando al modo de inserción en Vim

Recuerde siempre que i significa modo de inserción. Túpresione la tecla 'i' para ingresar al modo de inserción.

Cuando ingresa al modo de inserción, verá — INSERTAR — en la parte inferior de la pantalla del editor/terminal. Esto indica que está en modo de inserción.

Pero no es la única forma de ingresar al modo de inserción. Hay varios otros comandos para ingresar al modo de inserción en Vim. La posición del cursor es importante al ingresar al modo de inserción.

  • i – El nuevo texto aparecerá antes del cursor
  • a – El nuevo texto aparecerá después del cursor.
  • I: el nuevo texto aparecerá al principio de la línea actual.
  • A: el siguiente texto aparecerá al final de la línea actual.
  • o – Se crea una nueva línea después de la línea actual
  • O: se crea una nueva línea antes de la línea actual

Volver al modo comando en Vim

Comienzas en modo comando, entras en modo inserción. Si quieresvolver al modo de comando, presione la tecla Esc (escape).

Cuando haya ingresado su texto, le recomiendo presionar la tecla Esc para ingresar al modo de comando. De esta manera, no ingresarás ningún texto nuevo sin saberlo o involuntariamente. Consejo: Si no recuerdas nada más, recuerda presionar 'i' para el modo de inserción y la tecla Esc para el modo de comando. Esto debería ser suficiente.

Moverse en Vim

Cuando estás en Vim, no puedes usar el mouse para hacer clic en un punto de la pantalla como lo hacen los editores de texto o código normales. Es por eso que necesitas conocer los comandos de movimiento a una determinada línea, palabra o posición en Vim.

Los puristas de Vi/Vim sugerirán usar las teclas h, j, k y l para moverse hacia arriba, izquierda, derecha y abajo respectivamente cuando esté en el modo de comando. Si bien esto es aplicable tanto a los editores de Vi como a los de Vim, no prefiero usar estas combinaciones de teclas extrañas.

Trivia: Cuando se desarrolló por primera vez el editor Vi, la mayoría de los teclados no tenían teclas de flecha. Es por eso que se utilizaron las teclas h,j,k,l para el movimiento.

Utilizo las teclas de flecha para moverme en Vim. Funciona bien incluso cuando estás en modo de inserción en Vim.Esa es la forma estándar de moverse a la que está acostumbrada la mayoría de la nueva generación.

Si es nuevo en Linux o Vim, puede optar por las teclas de flecha. Ningún daño hecho.

Sin embargo, si desea dominar un poco más Vim, es posible que desee memorizar algunos atajos de Vim para moverse fácilmente por la pantalla. Algunos de mis comandos de movimiento de Vim favoritos son:

  • H: ir a la parte superior de la pantalla. Tenga en cuenta que no siempre significa pasar a la primera línea del archivo. Es sólo para pasar a la parte superior de la pantalla visible.
  • L: ir a la parte inferior de la pantalla. Tenga en cuenta que no siempre significa pasar a la última línea del archivo. Es sólo para pasar a la parte inferior de la pantalla visible.
  • M: pasar al centro de la pantalla.
  • [[ – Pasar a la primera línea del archivo. También puedes usar gg aquí.
  • ]] – Pasa a la última línea del archivo. También puedes usar G aquí.
  • nG: pasar a la línea número n. Tenga en cuenta que no verá nada en la pantalla mientras escribe los números de línea.

Consejo: Puede mostrar los números de línea en Vim ingresando al modo de comando y escribiendo: establecer número

Como puede ver, con estos comandos de movimiento adicionales, le resultará más fácil moverse en un archivo de texto grande. Puede aprender más comandos de movimiento como { y } para avanzar y retroceder párrafo, w para mover palabra por palabra, etc.

También puedes usar 'modificadores de repetidor' como nG que acabas de ver con la mayoría de los comandos en Vim. Por ejemplo, si usa 5w, moverá 5 palabras. Si usa 6H, se moverá a la sexta línea desde la parte superior de la pantalla.

Los modificadores repetidores también funcionan con 'i' y aquí es donde mucha gente comete errores. Si accidentalmente presionó un número como 7 antes de presionar 'i' para ingresar al modo de inserción, cualquier texto que escriba se agregará 7 veces. No lo verá en la pantalla inmediatamente hasta que comience a guardar el documento.

Entonces, ¿qué hacer cuando cometes un error tonto como este? Deshacerlo.

Deshace tus cambios en Vim

Si cometiste un error en Vim, no tendrás que vivir con él para siempre. También he visto personas que abandonan el editor sin guardar en tales casos, lo cual es algo ridículo.

Vim le permite deshacer y rehacer sus cambios. También puedes rehacer tus cambios. Todo es aplicable en la misma sesión, por supuesto. Una vez que haya guardado los cambios, no podrá deshacerlos.

Para deshacer un cambio, vaya al modo comando y presione la tecla 'u'. Puede presionarlo varias veces para realizar múltiples acciones de deshacer.

Si desea rehacer un cambio, presione la combinación de teclas Ctrl+r en el modo de comando. Puede presionarlo varias veces para realizar múltiples acciones de rehacer.

Eliminar en Vim

Además de deshacer los cambios, es posible que también desees eliminar parte del texto del archivo. En Vim, siempre puedes usar la tecla Eliminar para eliminar un carácter, pero hay algunas combinaciones de teclas para manejar mejor la eliminación en Vim.

  • x: elimina el carácter en la posición actual del cursor como una tecla de eliminación
  • X: elimina el carácter antes de la posición actual del cursor como una tecla de retroceso. Tenga en cuenta que la tecla de retroceso en sí no funciona en Vim.
  • dw – Eliminar palabra. En realidad, elimina desde la posición actual del cursor hasta el final de la palabra actual más el espacio en blanco que sigue.
  • dd: elimina la línea actual.
  • d$ – Eliminar desde la posición actual del cursor hasta el final de la línea.
  • dG: eliminar desde la posición actual del cursor hasta el final del archivo.

Nota: No hay comandos de corte en Vim porque cuando eliminas algo, el texto eliminado se coloca en el búfer. En otras palabras, los comandos de eliminación son los comandos de corte.

Copiar y pegar en Vim

Quizás te preguntes cómo copiar y pegar en Vim. Esta es una preocupación legítima porque no siempre escribirás los textos.

Hay dos tipos de copiar y pegar en Vim. Uno que se ocupa del búfer y otro que se ocupa del texto "externo".

Cuando está en modo comando, puede usar los atajos de su terminal Linux para copiar el texto o las siguientes combinaciones de teclas para copiar texto:

  • yw – Copiar palabra. En realidad, copia desde la posición actual del cursor hasta el final de la palabra actual más el espacio en blanco que sigue.
  • yy: copia la línea actual.
  • y$ – Copiar desde la posición actual del cursor hasta el final de la línea.
  • yG: copia desde la posición actual del cursor hasta el final del archivo.

Suponga que utilizó uno de los comandos de eliminación discutidos anteriormente. El texto eliminado se coloca en el búfer. Puede pegar este texto desde el búfer usando estos dos comandos de pegado:

  • p: pega el contenido del búfer antes de la posición del cursor
  • P: pega el contenido del búfer después de la posición del cursor

Tenga en cuenta que si ha eliminado una línea completa, el contenido se colocará antes o después de la línea actual con los comandos de pegado mencionados anteriormente.

Los comandos de pegar solo funcionan con el búfer de Vim. ¿Qué pasa con el texto que copiaste de algún otro archivo? En esos casos, puede utilizar las combinaciones de teclas estándar copiar y pegar de su Terminal Linux.

En Ubuntu y en la terminal predeterminada de muchas otras distribuciones de Linux, Ctrl+Shift+C se usa para copiar y Ctrl+Shift+V se usa para pegar. En algunos otros terminales, al seleccionar un texto se copia y puedes pegarlo haciendo clic derecho.

Cualquiera que sea la forma de copiar y pegar en su terminal Linux, también puede usarlo en Vim. Solo asegúrese de estar en el modo de inserción para este tipo de copiar y pegar.

Buscando texto en Vim

Encontrar un texto en particular es una función importante de un editor de texto. Puede buscar texto en el archivo en Vim usando '/'.

En el modo de comando, use / y luego escriba el texto de búsqueda y presione Entrar. Verás lo que estés escribiendo en la parte inferior izquierda de la pantalla.

Hará una búsqueda hacia adelante del término buscado desde la posición del cursor. También puedes usar '?' y luego escriba su término de búsqueda y presione Entrar para realizar una búsqueda hacia atrás. Tenga en cuenta que la búsqueda distingue entre mayúsculas y minúsculas.

Si hay más de una coincidencia para su texto de búsqueda, puede saltar a la siguiente posición presionando la tecla n. Si desea volver al partido anterior, presione N. Básicamente, con n y N puede recorrer todos los partidos. Consejo: Puede usar la opción c para ejecutar una búsqueda que no distinga entre mayúsculas y minúsculas en Vim. Ejemplo: /cMi_Búsqueda

Buscar y reemplazar en Vim

Vim proporciona un comando sustituto (:s) para buscar y reemplazar texto. Se basa en gran medida en expresiones regulares (regex) para buscar y reemplazar.

Puedes usarlo de la siguiente manera:

:%s/foo/bar/g

El comando anterior reemplazará todos los 'foo' con 'bar' en todo el archivo. La 'g' al final es responsable de extender la función de búsqueda y reemplazo en todas las coincidencias. De lo contrario, sólo se reemplaza la primera coincidencia.

:s/foo/bar/g

El comando ':s' realizará exactamente la misma función que el anterior, pero solo en la línea actual en lugar de en todo el archivo.

De forma predeterminada, la búsqueda distingue entre mayúsculas y minúsculas. Para que no se distinga entre mayúsculas y minúsculas, puede utilizar la bandera 'i' junto con g.

:%s/foo/bar/gci

Agregué una bandera 'c' adicional aquí. En realidad, es posible que no se sienta cómodo con la idea de que todo el texto coincidente sea reemplazado en todo el documento en cuestión de segundos. Aquí es donde la bandera 'c' ayuda mucho. Con esta bandera de confirmación, Vim le pedirá que confirme si desea realizar un reemplazo en cada coincidencia.

En el modo de confirmación, se le presentará la siguiente opción: ¿reemplazar con UU (y/n/a/q/l/^E/^Y)?

Déjame explicarte las opciones aquí:

  • y – SÍ, reemplace esta coincidencia
  • n – NO, no reemplaces esta coincidencia y pasa a la siguiente
  • a – Reemplazar TODAS las coincidencias
  • q – SALIR sin reemplazar ningún fósforo
  • l – Reemplace esta coincidencia y salga como si fuera la ÚLTIMA coincidencia
  • ^E – Desplazar la pantalla hacia arriba
  • ^Y: desplaza la pantalla hacia abajo

Consejo: Si no puedes recordar todo lo demás, recuerda:%s/foo/bar/gci intentará reemplazar todas las coincidencias en el archivo completo con tu confirmación.

Guardar y salir de Vim

Acabas de aprender los conceptos básicos de los comandos de Vim. Es hora de guardar tu trabajo y salir de Vim. Para guardar o salir de Vim, primero debe ingresar al modo de comando presionando la tecla Esc. Y luego puedes usar las siguientes opciones:

  • :w – Guarda los cambios pero no sales.
  • :wq – Guardar y salir
  • :q – Simplemente salga (si tiene cambios no guardados, verá esta advertencia: E37: No se ha escrito desde el último cambio (agregue ! para anular))
  • :q! – Forzar el cierre (descartará cualquier cambio no guardado)

Descargue la hoja de trucos de Vim Command en formato PDF

Puedo entender que si eres nuevo en Vim, recordar lo que acabas de aprender puede resultar difícil. Es por eso que creé una lista de comandos básicos de vim y su rápida explicación.

Puede descargar esta hoja de trucos de Vim en formato PDF, imprimirla y guardarla en su escritorio para una referencia rápida.

Llegando más lejos con Vim

Bueno, acabas de aprender todos los conceptos básicos de Vim que necesitas para sobrevivir a este increíble editor de texto. Con tanto conocimiento, puedes leer texto, buscar texto y realizar algunas ediciones básicas en Vim. Esto será suficiente para evitarle el pánico tan pronto como se le ocurra la idea de utilizar un editor de texto de terminal como Vim.

Debes marcar esta página como favorita para actualizar lo que aprendiste en Vim aquí. También puedes usar el comando vimtutor. La mayoría de las distribuciones de Linux tienen instalado el comando vimtutor. Si tiene ganas de mejorar sus conocimientos de Vim o practicar los comandos de Vim, simplemente ejecute vimtutor en una terminal.

Si desea llevar sus habilidades de Vim al siguiente nivel, le recomiendo el recurso Mastering Vim Quickly. Vale la pena la inversión.

Espero que esta guía te haya ayudado a comenzar con Vim. Si tienes preguntas o sugerencias, por favor deja un comentario.

Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín