El editor vim (versión mejorada del editor vi) es un editor de consola muy poderoso incluido por default en todos los sabores de Unix incluyendo las distribuciones GNU/Linux. Además incluye un resaltado con colores de la sintaxis de muchos lenguajes de programación por lo que es una muy buena alternativa para editar y desarrollar código. Saber usarlo es indispensable para los amantes de la consola. Por ello, he recopilado los principales comandos de vim.
Para editar un archivo ejecutamos vim nombre_archivo. Una vez abierto, podemos hacer lo siguiente:
Para editar un archivo ejecutamos vim nombre_archivo. Una vez abierto, podemos hacer lo siguiente:
| ESC | Para cambiar de modo inserción a modo de comandos |
| i | Para insertar texto posicionando el cursor antes del carácter sobre el que se encontraba |
| shift + A | Para insertar texto posicionando el cursor al final de la linea |
| :w ENTER | Guardar cambios |
| :x ENTER | Guardar cambios y salir |
| :q ENTER | Salir o cerrar el archivo |
| :wq ENTER | Guardar y salir |
| :x! ENTER | Guardar y salir, forzando la escritura |
| :q! ENTER | Salir ignorando los cambios realizados |
| :numero_linea ENTER | Ir a una linea especifica |
| G | Ir al final del archivo |
| 1G | Ir al principio del archivo |
| /texto_a_buscar ENTER | Buscar un texto |
| :/texto_a_buscar ENTER | Buscar texto y resaltarlo |
| :nohl: | Quitar el resaltado |
| :u ENTER | Deshacer cambios |
| :red ENTER | Rehacer cambios |
| Control + r | Rehacer cambios |
| control + u | Eliminar la linea actual |
| v | Cambiar el cursor para seleccionar texto |
| y | Copiar el texto seleccionado |
| d | Cortar el texto seleccionado |
| dd | Cortar la linea donde estamos posicionados |
| p | Pegar la linea cortada o el texto copiado a la derecha del cursor. |
| Shift + p | Pegar el texto a la izquierda del cursor |
| ndd | Numero de lineas que se desean cortar |
| :%s/cadena/nueva_cadena ENTER | Se usa para sustituir 'cadena' por 'nueva_cadena' en el texto del archivo |
| :r archivo ENTER | Volcará el contenido de archivo sobre la posición actual del cursor. |
| !comando ENTER | Insertará la salida de un comando ejecutado. Por ejemplo, !ls insertará la salida de ls en nuestro archivo. |
| . | (punto). Repetirá el último comando usado. |
Configuración de vim
Podemos personalizar el comportamiento de vim modificando su configuración. Para ello hay que editar el fichero ".vimrc" de nuestro /home, en donde podemos modificar algunos parámetros:
Podemos personalizar el comportamiento de vim modificando su configuración. Para ello hay que editar el fichero ".vimrc" de nuestro /home, en donde podemos modificar algunos parámetros:
| syntax on | Activa el coloreado de sintaxis, muy útil para programar. |
| set nobackup | Desactiva la creación de copias de seguridad cada vez que editemos un fichero |
| set showmode | Nos mostrará siempre en qué modo estamos trabajando (comando o edición). |
| set ruler | Nos mostrará una regla con información en la parte inferior de nuestra consola. |
| set vb | Desactiva el "pitido" para sustituirlo por un parpadeo de la pantalla. |
| set ignorecase | Hará que vim no diferencie entre mayúsculas y minúsculas. Muy útil en las búsquedas. |
| set showmatch | Es útil para cuando realicemos una búsqueda, vim nos resaltará los resultados coincidentes con nuestro patrón. |
| au BufReadPost * if line ("""")lexecute(normal`"")|endif | Con esto lograremos que cuando volvamos a editar un fichero, el cursor se encuentre en el último lugar donde lo dejamos. |
Hay más opciones a configurar pero considero que estas son las más importantes.