Original article: How to Use Vim – Tutorial for Beginners
Vim es uno de los editores de texto más populares entre los usuarios de Linux. Los administradores de sistemas Linux lo prefieren especialmente frente a otros editores.
En este artículo, aprenderá mucho sobre Vim y verá cómo puede comenzar a usar Vim rápidamente como si fuera un desarrollador.
¿Qué es Vim?
Vim es un acrónimo de Vi IMproved. Es un editor de texto multiplataforma gratuito y de código abierto. Fue lanzado por primera vez por Bram Moolenaar en 1991 para variantes de UNIX.
Vim se basa en el editor Vi original, que fue creado por Bill Joy en 1976. En los años 90, comenzó a quedar claro que a Vi le faltaban algunas funciones en comparación con el editor Emacs. Así que Bram implementó muchas funciones que faltaban y lo lanzó con el nombre de Vim.
Cómo instalar Vim
Vim se ejecuta en varias plataformas, como Windows, Linux y Mac.
Para instalar Vim en Windows, descargue el archivo ejecutable del sitio de Vim y ejecútelo. Siga las instrucciones que se muestran en la pantalla y estará listo para comenzar.
Vim viene preinstalado en la mayoría de los sistemas operativos *nix. Pero si no está instalado en su sistema, puede instalarlo con un administrador de paquetes de su elección.
Aquí está el comando de instalación para sistemas operativos basados en Debian:
Para asegurarse de que esté instalado correctamente, ejecute which vim
y debería obtener /usr/bin/vim
en su output.
Cómo iniciar con Vim
Puede comenzar con Vim escribiendo su nombre en la terminal de esta manera:
Una vez que ingrese el comando anterior, podrá ver una pantalla que muestra información sobre Vim y algunas instrucciones para encontrar ayuda y salir de Vim.
Modos de Vim
Debe conocer el concepto más importante en Vim antes de continuar: los modos en Vim.
Todo en Vim se considera un modo. Puedes lograr lo que quieras si entiendes los modos en Vim. Hay muchos modos en Vim. Pero, veremos los 4 modos más importantes.
Ellos son:
- Modo Comando
- Modo Línea de Comandos
- Modo Insertar
- Modo Visual
Explorémoslos uno por uno.
¿Qué es el Modo Comando?
Este es el modo predeterminado (también llamado modo Normal) en Vim. Siempre que se inicie Vim, estarás en este modo. Puede cambiar a cualquier modo desde este modo. No puede hacer esto en ningún otro modo.
Básicamente, para cambiar de un modo a otro, primero debe ingresar al Modo Comando y luego navegar al otro modo. Los comandos que ejecuta sin ningún prefijo (dos puntos) indican que está ejecutando el comando en Modo Comando.
¿Qué es el Modo Insertar?
Este modo se utiliza para editar el contenido del archivo. Puede cambiar al Modo Insertar presionando i
desde el Modo Comando. Puede usar la tecla Esc
para volver al Modo Comando.
¿Qué es el Modo Línea de Comandos?
Puede usar este modo para jugar con algunos comandos. Pero los comandos en este modo tienen el prefijo de dos puntos (:). Puede cambiar a este modo presionando : (dos puntos) en el Modo Comando.
¿Qué es el Modo Visual?
Utiliza este modo para seleccionar visualmente algún texto y ejecutar comandos sobre esa sección de código. Puede cambiar a este modo presionando v
desde el Modo Comando.
Los 4 modos anteriores son suficientes para realizar un conjunto básico de operaciones de archivo en Vim.
Ok, terminamos con la teoría. Exploremos Vim de manera práctica.
Operaciones comunes del editor de texto en Vim
Crear un nuevo archivo con Vim es simple. Puedes hacerlo desde el Modo Línea de Comandos.
Ejecute el siguiente comando para crear un nuevo archivo:
El comando anterior abre un archivo sample.txt
en Modo de Edición, si existe, y crea un nuevo archivo de lo contrario.
Después de ejecutar ese comando, estará en el Modo Comando (como se muestra en la siguiente captura de pantalla) y no podrá ingresar ningún texto:
Para agregar algo de texto al archivo creado, presione i
en el teclado. Utiliza el comando i
para ingresar texto en el archivo. Una vez que presione i
, podrá ver que ingresó al Modo Insertar en Vim mirando la parte inferior izquierda del archivo.
En este modo, puede escribir lo que quiera en el archivo.
Hemos terminado de escribir nuestro contenido. Y ahora querremos guardar el archivo. Si no llegas a guardar y simplemente cierras la terminal en este punto, todo su contenido se perderá.
Cómo guardar un archivo
Para guardar un archivo, debe cambiar del Modo Insertar al Modo Línea de Comandos. Recuerde que le dije antes: siempre que desee cambiar de un modo a otro, primero debe cambiar al Modo Comando y luego puede cambiar fácilmente al modo que desee.
Para cambiar al Modo Comando desde el Modo Insertar, debe presionar la tecla Esc
.
Después de presionar la tecla Esc
, no podrá ver --INSERT-- en la parte inferior izquierda. Esto indica que ya no está en Modo Insertar y ahora está en Modo Comando.
Para guardar el archivo, escriba el siguiente comando:
Cómo cerrar un archivo y salir de Vim
Una vez que guarde el archivo, puede cerrar Vim cerrando la terminal. Pero, la forma correcta de cerrar el archivo y el editor Vim es usando el siguiente comando:
El comando anterior cierra el archivo y sale del editor Vim.
Alternativamente, puede usar un comando que es la combinación de los 2 comandos anteriores (guardar y salir) para guardar y salir rápidamente de Vim. El comando es:
El comando anterior cierra el editor Vim inmediatamente después de guardar el archivo.
Cómo editar un archivo en Vim
Para editar un archivo, debe abrir el archivo usando Vim y cambiar al Modo Insertar.
Abramos el archivo sample.txt
que creamos arriba:
Ahora estamos en Modo Comando. Para editar el archivo, tenemos que cambiar al Modo Insertar. Como vimos anteriormente, al presionar i
desde el Modo Comando cambiará al Modo Insertar.
Siga el mismo procedimiento para guardar el archivo y salir de Vim. Presione Esc
en el teclado y escriba :w
para guardar el archivo y :q
para salir de Vim.
Sin embargo, es posible que se pregunte qué sucede si quiero cerrar el archivo sin guardar los cambios. (Ignorar los cambios que hice y devolver el archivo al estado anterior).
Cómo cerrar el archivo sin guardar los cambios
Para cerrar el archivo sin guardar los cambios, debe ejecutar :q!
desde el Modo Comando.
Exploremos esto con un ejemplo:
He agregado algo más de contenido al archivo.
Pero no quiero guardar los cambios que hice ahora. Para cerrar el archivo sin guardar este cambio, tenemos que cambiar al Modo Comando (pulsando la tecla Esc
). Escribe :q!
en el Modo Comando. Esto cerrará el archivo ignorando los cambios realizados.
Veamos el archivo y confirmemos si obtenemos el resultado esperado:
Vemos que el archivo no tiene la última línea que agregamos recientemente. Por lo tanto, los cambios no se guardaron.
Cómo cortar, copiar y pegar texto de un archivo usando Vim
Puede cortar, copiar y pegar de 2 maneras en Vim. Estas son:
- Usando el Modo Visual
- Usando el teclado
De estas dos formas, el Modo Visual es más fácil de entender. Dado que esta es una guía para principiantes, exploremos cómo cortar, copiar y pegar en el modo Visual.
Abramos el archivo en Modo Comando antes de continuar:
Supongamos que desea copiar la palabra "Hola" de la primera línea y pegarla en la tercera línea.
El primer paso es colocar el cursor en el lugar desde donde desea copiar el texto (estando en modo comando).
Ingrese al modo Visual presionando la tecla v
en el teclado.
El texto -- VISUAL –-
en la parte inferior izquierda indica que estamos en Modo Visual.
Mueva el cursor al lugar donde termina el texto que desea copiar.
En este caso, muevo el cursor a la letra o
de la palabra Hello
.
Mientras mueve el cursor, el Modo Visual resalta el texto desde el principio hasta el cursor.
Una vez que haya terminado de mover el cursor al lugar correcto, presione y
para copiar el texto o presione d
para cortar el texto.
En este caso, estoy copiando el texto. Entonces, presiono y
en mi teclado.
Mueva el cursor al lugar donde desea pegar el texto.
En nuestro caso, tenemos que mover el cursor a la 3ra línea.
Presione p
(en minúsculas) para pegar el texto después del cursor y P
(en mayúsculas) para pegar el texto antes del cursor.
Presione :wq
para guardar y cerrar el archivo.
Cómo encontrar y reemplazar texto en Vim
Encontrar texto y reemplazarlo con otro texto es simple y directo en Vim. Hay un comando de una línea que simplifica todo este proceso.
Está es la sintaxis:
Desmontemos cada parte y comprendamos cómo funciona todo.
[range]
indica que puede pasar el rango de líneas. Pase % para buscar y reemplazar en todas las líneas. El rango está separado por una coma. Para encontrar y reemplazar entre las líneas 5 a 10, pase 5,10. Usar.
para representar la línea actual y$
para representar la última línea del archivo.{pattern}
indica el patrón para encontrar el texto. Puede pasar patrones de expresiones regulares aquí.{string}
es la cadena a reemplazar en el texto encontrado.[flags]
indica si desea pasar banderas adicionales (por ejemplo, la banderac
se pasa para confirmar antes de reemplazar el texto). De forma predeterminada, esto hace una búsqueda que distingue entre mayúsculas y minúsculas. Puede cambiarlo para realizar una búsqueda que no distinga entre mayúsculas y minúsculas pasando la banderai
.
Muy bien, exploremos esto con un ejemplo.
Nuestro archivo sample.txt
tiene 2 "Hello". Reemplacemos "Hello" con "Hi" en ambos lugares.
El comando para hacer eso es:
%s
indica reemplazar el contenido en todo el archivoHello
es el patron de búsquedaHi
es el texto a reemplazarg
indica hacer el cambio globalmente
Entendamos esto con otro ejemplo.
Esta vez, quiero cambiar la palabra "Hi" (búsqueda que no distingue entre mayúsculas y minúsculas) que aparece entre las líneas 2 y 3 y reemplazarla con "Hello and Welcome", con una confirmación para cambiar cada aparición.
El comando para hacer eso es:
Aquí hay una descripción por cada bandera:
y
- Reemplazar el patronn
- Saltar el patrona
- Sustituye el patron y todas las ocurrencias restantes del patronq
oEsc
- Cancelar sustituciónl
- Reemplazar el patron y salirCTRL+Y
- Desplazar la pantalla hacia abajoCTRL+E
- Desplazar la pantalla hacia arriba
Quiero aceptar el cambio. Entonces, presiono y
. Aquí está la salida después de presionar y
.
Dado que solo tenemos una ocurrencia de"Hi" entre las líneas 2 y 3, no solicitó más confirmación y la operación se completó.
Cómo deshacer o rehacer en Vim
Para deshacer un cambio en Vim, presione u
en el Modo Comando. Para rehacer, presione CTRL + R
. Puede anteponer un número (n) con u
para deshacer n
veces. por ejemplo, 2u
deshará 2 veces. Para enumerar las opciones de deshacer disponibles, escriba :undolist
n el modo comando.
Entendamos esto con un ejemplo.
Este es el estado actual de nuestro archivo sample.txt:
Tengo mi cursor en "a" en el texto "Hello and Welcome" en la tercera línea. Eliminemos la palabra "and" escribiendo dw
en el Modo Comando:
Vamos a deshacer para traer de vuelta la palabra "and" al archivo. Para hacerlo, presione u
en el modo comando
Rehagamos y eliminemos la palabra "and" escribiendo CTRL + R
en el Modo Comando.
Conclusion
En este artículo, ha aprendido los conceptos básicos de Vim. Este artículo debería ser suficiente para comenzar y realizar algunas operaciones básicas de lectura/escritura de archivos con Vim.
Solo tenga en cuenta que ni siquiera he cubierto el 1% de Vim. Pero estoy seguro de que estos conceptos básicos te ayudarán a explorar Vim de forma rápida y segura.