Empecemos este post viendo qué es VIM. VIM es un editor de texto incorporado en todos los sistemas UNIX. Proviene de otro editor, VI, aunque con el paso del tiempo se han ido implementando mejoras. Si estas utilizando Windows no te preocupes porque puedes descargarte VIM desde su página oficial http://www.vim.org/download.php.

Ventajas y desventajas de este editor

Muy bien pero, ¿Cuáles son las ventajas de VIM?.

A diferencia de otros editores de texto, este esta pensado para ser utilizado en la terminal del ordenador, por tanto no vas a necesitar utilizar el ratón. Cuando estamos programando, perdemos demasiado tiempo cambiando la mano del teclado al ratón y viceversa, pero con VIM, nos acostumbramos a no usarlo, disminuyendo así el tiempo que perdido.

Pero, la principal ventaja de VIM, es la productividad. Este editor de texto cuenta con 3 modos, a los que accedemos pulsando una sola tecla de nuestro teclado:

Estando en modo normal, tenemos a nuestra disposición toda una serie de comandos para movernos por el código, editar, copiar, borrar y un largo etc. Estos comandos los podemos combinar entre sí, de modo que, con práctica, seremos capaces de aumentar nuestra productividad abismalmente.

A todas estas ventajas hay que sumarle la posibilidad de añadir plugins creados por la comunidad, con lo cual podemos aumentar sus funcionalidades.

¿Y qué hay de las deventajas?

Este editor no tiene interfaz gráfica, de modo que puede ser un caos. Otra desventaja es que todos los comandos vistos anteriormente te los tienes que aprender de memoria si realmente los quieres sacar provecho. VIM tiene una curba de dificultad muy alta de tal forma que si es la primera vez que lo utilizas, te va a costar mucho aprender como funciona todo.

Atajos y comandos básicos de VIM

Recuerdo que para poder utilizar estos comandos, debemos estar en modo normal.

| Letra | Uso | | ————- |:————-:| | h, j ,k, l | Para desplazarnos, en lugar de movernos con las flechas del teclado, nos movemos con estas letras ( h: ← j: ↓ k: ↑ l: → ) | | w, b | La w para desplazar el cursor una palabra hacia adelante y la b para desplazarnos una palabra hacia atrás | | 0, $ | El 0 sirve para desplazarnos hacia el inicio de la linea en la que nos encontremos y $ para movernos al final | |^| Para movernos hasta el primer carácter no vacío de la linea| | gg, G |gg para movernos al principio del documento y G para movernos al final| | d|Este comando se utiliza después de usar uno de los anteriores, elimina desde la posicion de nuestro cursor hasta el desplazamiento indicado| | dd| Elimina toda la linea sobre la que se encuentre el cursor| | y,p|y para copiar el texto hasta el desplazamiento que le indiquemos con los comandos anteriores, p para pegar| | . (punto)|Con este comando repetiremos el comando ejecutado anteriormente|

Hay muchisímos más comandos, pero he querido poner algunos de los principales, te animo a que sigas descubriendo nuevos comandos. Decir que los comandos anteriores se pueden combinar con números, es decir, si pulsamos sobre el 7 y luego sobre la w, nos moveremos 7 lineas hacia adelante. Aparte de estos atajos, hay que sumar, otras instrucciones que podemos escribimos:

:q Cierra vim.

:w Guardamos los cambios.

:e + “Nombre de la ruta” Para abrir el archivo que le indiquemos con la ruta.

:split Parte la pantalla verticalmente o horizontalmente para editar varios archivos a la vez.

:Ex Explorador de archivos.

:help Para ver el archivo de ayuda de Vim con todos los comandos.

Cómo editar el archivo de configuración de vim

A VIM le podemos cambiar muchos de sus parámetros y opciones por defecto, para ello, teniendo VIM abierto, ejecutamos el comando:

:e ~/.vimrc

A continuación dejo algunas de las configuraciones que tengo yo puestas en mi archivo:

    " Vim por defecto crea archivos de backup pero son muy molestos con estas opciones los podemos quitar

    set nobackup       
    set nowritebackup   
    set noswapfile     
    
    " Para hacer que VIM tabule automaticamente
    set autoindent

    "Para hacer que VIM utilize por defecto 2 espacios para lenguajes que se ven mejor así
    autocmd FileType html,css,sass,scss,javascript setlocal sw=2 sts=2
    autocmd FileType json setlocal sw=2 sts=2
    autocmd FileType ruby,eruby setlocal sw=2 sts=2
    autocmd FileType yaml setlocal sw=2 sts=2

    "Para que muestre a la izquierda los números de linea relativos, muy útil para cuando introducimos comandos
    set relativenumber  

    "Para que resalte los paréntesis y los corchetes
    set showmatch        

Como siempre, hay muchas más configuraciones, dependiendo de los gustos de cada uno.

Plugins para VIM

Para instalar plugins en VIM, lo mejor es utilizar un gestor de plugins, yo recomiendo vim-plug: https://github.com/junegunn/vim-plug. Una vez instalado, simplemente añades en tu archivo .vimrc:

    call plug#begin('~/.vim/plugged')

        "Entre estas dos líneas añades Plug + 'nombre del plugin que quieres instalar'

    call plug#end()

Plugins que yo utilizo:

Conclusiones

VIM es muy pontente en el sentido de la productividad, aunque es muy dificil de aprender. Tiene muchísimos plugins y configuraciones, pero no es un IDE, para algunos lenguajes se nos queda corto incluso con plugins. Habrá a muchas personas a las que no compese el esfuerzo de aprender a manejar solo el editor de texto, pero si lo dominas los resultados son increíbles.




También te puede intersar...