¿Cacharreas? aprende vim 2ª parte
--- Fecha: lun 03 mar 2025 00:46:39 CET ---
-- Actualización --
- 06-03-2025
- 08-03-2025
Ya llevas un tiempo con lo básico de vim que expliqué en la anterior entrada:
Te das cuenta de que con editores gráficos podías hacer más cosas, como usar pestañas, abrir archivos en varias instancias del editor o usar el clipboard del sistema para copiar cosas que vas a usar mucho, pero con Vim no puedes, ¿estás seguro/a/e?
Buffers
El espacio donde escribes realmente es un bufer y no será un archivo hasta que lo guardes como tal. Cuando abres un archivo, el bufer incluye el contenido de ese archivo.
Puedes abrir o cerrar buffers, es fácil:
:e archivo - Abres archivo en otro buffer. Al hacerlo, ese será tu buffer actual, ¿y donde ha ido el otro?
:bp/:bn - Ir al buffer previo y next (siguiente) respectivamente.
:bd - Cierra el buffer
:buffers - Para saber cuantos buffers tienes
:b2 - Ir al buffer 2
NOTA: Si en vez de :e tecleas :E aparece un file manager
Tabs (pestañas)
Si en vez de múltiples buffers quieres pestañas, también es fácil:
:tabnew - Abre pestaña (también puede usarse :tabe).
:tabnew archivo - Abre pestaña con archivo
:gt/gT - Ir a pestaña siguiente/previa
:q - Cerrar pestaña
Splits
Puedes tener 2 archivos abiertos en el mismo buffer mediante los splits:
:split archivo - Parte la pantalla en modo horizontal (abreviado :sp).
:vsplit - Parte la pantalla de forma vertical (abreviado :vp)
CTRL+ww - Se mueve por los splits
:q - Cerrar el split
Registros
Vim tiene su propio clipboard que no es compatible con el del sistema (a no ser que esté compilado con soporte para ello). Este clipboard se usa mediante registros, que no son más que espacios asignados a teclas donde pegar contenido. Desde modo Visual, seleccionar el texto y:
"ay - Indica "crear un registro (") en la tecla (a) y en ella copiaremos (y)".
"ap - Indica "recuperar el registro (") de la tecla (a) y copiarlo (p)".
"a23p - Indica "recuperar el registro (") de la tecla (a) y copiarlo (p) 23 veces".
:put a - Recupera el registro y lo copia pero en la siguiente línea, no después del cursor.
:register - Nos dará un listado de todos los registros.
Si ya estás en modo Insertar, pulsa "CTRL+r a" para recuperar el registro guardado en a.
Para recuperar el registro sin nombre (lo último que hayas copiado), teclea ""p
Limpiar registros
No hay mucha necesidad de limpiarlos, ya que se van sobreescribiendo, pero aun así quieres eliminarlo:
qaq - Graba una macro vacía en el registro "a"
Trucos
:r archivo - Añade archivo al que ya tengas
:! comando, ejecuta un comando linux
:yi" - Yank Inside ", copia entre comilla sin añadirlas
:ya" - Yank Around ", copia entre comilla añadiendolas
:di" - Delete Inside ", borra el contenido entre comillas sin añadirlas
:da" - Delete Around ", borra el contenido entre comillas añadiendolas
:s/\<vaca>\/toro - Cambia "vaca" como palabra completa, no como parte de otras, por ejemplo, no cambiará "vaca" en la palabra vacaciones
:%s/^./\u&/g - Cambiar la primera letra de linea a mayúsculas
:1,4s/^./\u&/g - Lo mismo pero en las lineas 1 a 4
Bonus track
Quiero comentar todas las líneas de un archivo de configuración bastante extenso, y es engorroso hacerlo una a una, así que lo haré con vim:
1. Pongo el cursor al inicio de la primera linea
2. CTRL+V para seleccionar el modo bloque visual
3. Bajo hasta el final del archivo
4. SHIFT+i para entrar al modo edición especial
5. Tecleo # y pulso ESC
Ya tengo las lineas comentadas al instante.
Bueno, con esto creo que ya podrás hacer todo lo que haces normalmente con tu editor gráfico.
Tag: #vi #vim
/gemlog/