(Photo credit: Wikipedia) |
A continuación presentamos una Guía de Supervivencia de VIM, para los recién iniciados en GNU-Linux.
En la gran mayoría de las distribuciones Linux, ya viene instalado VIM, pero en el caso de que no esté instalado en Ubuntu, podemos usar el Repositorio de Software e instalarlo desde allí.
Al contrario, si estamos trabajando sobre Linux únicamente en modo consola, y no tenemos instalado VIM, podemos hacer una instalación completa usando el Advanced Package Tool (apt) de Debian:
sudo apt-get install vim vim-scripts vim-doc vim-latextsuite vim-gui-com vim-gnome
Mini Guía de VIM
VIM tiene dos modos de trabajo: Modo Comando y Modo Inserción. (también existe un modo visual)En el "modo comando", también llamado modo normal, podemos ejecutar comandos propios de VIM o creados por nosotros mismos, y también hacer operaciones de edición con el archivo que hayamos abierto con VIM, pero no podremos escribir código directamente en él.
Para escribir código, debemos pasar al segundo modo de trabajo de VIM, es decir, usarlo en "modo inserción" o modo edición.
Revisar VIM en los distintos Modos
Para conocer VIM, como cualquier herramienta de software, no basta con sólo leer acerca de ella, sino utilizarla. Por lo tanto, detenga la lectura y vaya a su Linux y examine las siguientes acciones:- Iniciar VIM: Desde la terminal de Linux se ejecuta el comando "vim" junto al nombre del archivos con su extensión. VIM usa la extensión del archivo para saber el lenguaje con el cual se encuentra escrito el código, pues tiene resaltado de sintaxis, como cualquier editor de código respetable:
vim nombre-archivo.extension - Activar el Modo Normal: Se activa presionando la tecla "Esc", al iniciar VIM este aparece por defecto en Modo Normal.
- Activar el Modo Inserción: Este modo permite la escritura de código y se activa presionando la tecla "Insert".
Principales Comandos
Los comando se ejecutan en el "modo comando" y se accede a él presionando la tecla "Esc". La mayoría de los comandos comienzan con ":" aunque no todos, los principales son::q!
salir sin grabar del archivo actual.
:q
salir del archivo actual, pero si han sucedido cambios en el archivo VIM mostrará una advertencia.
:w
guarda el fichero actual.
:syntax on
Activa el destacado de sintaxis, recordar que VIM usa la extensión del archivo para reconocer el lenguaje de programación utilizado.
:set number
Activa la numeración de las líneas.
:set sw=3
Establece una indentación de código a 3 espacios.
:set ts=3
Establece una tabulación de código a 3 espacios.
:set cindent
Establece una indentación automática al escribir código.
gg=G
Para ejecutar un indentado automático de todo código del archivo actual.
yyP
Duplica la línea actual.
u
Anula el último cambio en el archivo actual.
$
Para ir al final de la línea
:$
Ir al final del archivo actual.
:25
Salta a la línea número 25 del código, la instrucción es muy simple sólo hay que colocar ":numero_de_linea" para saltar al número de línea en cuestión.
:g/^\s*$/d
El comando ":g" busca una patrón, en este caso la expresión regular "^\s*$", que iguala a cualquier línea que se inicie y termine con el caracter "espacio en blanco" repetido cero o más veces en la misma línea.
La expresión regular debe delimitarse, para tal efecto se usa el signo "/". Finalmente, la letra "d" le indica la acción a realizar sobre las líneas que coincide con el patrón, en este caso, deben ser borradas.
Buscar y Reemplazar en VIM
Las opciones de buscar y reemplazar son especialmente potentes en VIM, pues aceptan inclusive expresiones regulares como patrón de búsqueda y reemplazo::s/house/casa/g
Busca la palabra "house" y la reemplaza por "casa", sólo en línea actual.
:%s/house/casa/g
Busca la palabra "house" y la reemplaza por "casa", en todo el archivo.
:10,25s/house/casa/g
Busca la palabra "house" y la reemplaza por la palabra "casa", sólo en el texto situado entre las líneas 10 y 25, inclusive las líneas 10 y 25.
Trabajando con varios archivos en VIM
En la mayoría de los casos, estaremos editado sobre más de un archivo, así que esta característica de VIM es muy necesaria.:tabnew nombre_archivo.extension
Carga un nuevo archivo en VIM, esta valiosa característica facilita la edición de varios archivos dentro del mismo entorno de edición, emulando en alguna medida a los editores gráficos. Cambiamos de archivo usando el comando "gt".
:wall
Guarda todos los archivos actualmente cargados en VIM.
:qall!
Salir de VIM y cerrar todos los archivos sin grabar.
Ejecutar comando del Shell dentro de VIM
Esta es una práctica característica de VIM, que permite correr comandos del sistema operativo usando ":![nombre_del_comando]", por ejemplo::!pwd
Muestra el directorio actual
:!ls -la
Muestra la lista de archivos y directorio con todos sus detalles.
VIM también tiene un "history" (historial) que puede usar presionando las teclas de flecha hacia arriba o abajo, al igual que sucede en la línea de comandos tradicional de Linux. Además, VIM en el modo de Inserción dispone de un AUTOCOMPLETADO DE CÓDIGO, se usa inicia con las teclas "Ctr + n" que desplegará las sugerencias.
Configurando a VIM
Si desea evitarse escribir ciertas opciones, que desea mantener por defecto en VIM, debe establecer en el archivo de configuración de este editor.
Por ejemplo, para establecer el resaltados de sintaxis, deje ejecutar desde el terminal de Linux el comando:
sudo vim /etc/vim/vimrc
Y ubicar la línea:
"syntax on
Y cambiarla por:
syntax on
Es es todo!... como hemos visto, VIM es un editor poderoso, pero eso no significa que aprender a usarlo sea difícil. Tan sólo usando esta Mini-Guía de VIM, podrá iniciarse con facilidad en el uso de esta herramienta.
Recuerde, que sólo hemos mostrado la punta del iceberg y queda en sus manos sacarle todo el provecho de esta esencial herramienta en el desarrollo web en Linux.
Puede revisar el manual de VIM, simplemente desde la línea de comando ejecute:
man vim
Por último VIM dispone de un tutorial que se puede acceder con:
vimtutor
Mas Información acerca de VIM
Para una lista más completa de la descrita en esta Mini-Guía, visite el enlace:Y para comprobar la potencia de la búsqueda y reemplazo de texto lea este artículo: