Vim: Personalizando y mejorando nuestro editor de código favorito.

Vim: Personalizando y mejorando nuestro editor de código favorito.

Introducción


IMPORTANTE, es necesario que se tenga al menos un poco de conocimiento sobre el manejo de VIM, ya que estaremos utilizando los comandos básicos como abrir, guardar, salir, etc. 😀

Como propósito de «cuarentena» me di a la tarea de hacer muchas cosas importantes que me ayudarían a mejorar no sólo laboral, personal o fisicamente, sino también mentalmente y en habilidades. Una de esas cosas es reanudar con mi blog, el cual anteriormente perdí por no prestarle tanta atención por falta de tiempo.

Otro de ellos es aprender más cosas nuevas, patrones de diseño, arquitecturas, e incluso indagar más a fondo de lo que ya sabía, para mejorar y tener una perspectiva diferente a la que tenía hace unos meses atrás, con ello es que viene parte de ese conocimiento aquí, para compartilo con todos ustedes.

Por último, me puse como reto el aprender a utilizar vim y dejar un poco de lado el utilizar editores de texto con interfaz gráfica y así, mejorar mis habilidades con el teclado y utilizar menos el ratón. Principalmente lo estoy utilizando para scripts y algunos proyectos no tan complejos, les dejo un poco de contexto para los que no saben que es vim.

«Vim (VI IMproved) es un clon de «Vi», es decir, un programa similar al editor de textos «Vi». Vim no solo trabaja en modo texto en cualquier terminal, sino que también tiene una interfaz gráfica para el usuario, es decir, menus, soporte para el ratón»

https://www.vim.org/6k/features.es.txt

En pocas palabras, puedes escribir tu código desde la terminal sin necesidad de tener que descargar un editor de textos como Sublime, VS Code, etc.

Esto es mejor porque requiere menos consumo de recursos de tu maquina, sólo necesitas aprenderte los comandos ya que todo es por teclado, el ratón no se utiliza, o al menos yo no lo hago.

El resultado de quedará es el siguiente, se instalará un package manager, se creará/modificará el archivo de configuración de vim e instalarémos plugins para personalizarlo y dejarlo lo más genial y a nuestro gusto.

Pasaremos de tener un simple editor de textos en la terminal, a uno con estilo propio y con carácteristicas que nos ayudarán con nuestro desarollo.

vim on linux terminal
Vim en terminal de Linux

Instalando Vim


Linux

Para instalar vim en linux es realmente una tarea bastante sencilla, basta con abrir nuestra Terminal y escribir lo siguiente:

$ sudo apt-get install vim

Una vez que se termine de instalar, revisamos que esté instalado correctamente revisando la versión:

$ vim --version

Y el resultado debería aparecer algo como lo siguiente:

╭─toledano at toledano in ~ 20-10-17 - 21:14:15
╰─○ vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Apr 15 2020 06:40:31)
Parches incluidos: 1-2269
Modificado por team+vim@tracker.debian.org
Compilado por team+vim@tracker.debian.org
Versión "enorme" sin interfaz gráfica (GUI).
  Aspectos incluidos (+) o no (-):

Windows

Para el sistema operativo windows, debemos primero, tener instalado Git en nuestro equipo, para así aprovechar la terminal que nos proporciona Git Git Bash, después ir al sitio web de vim y descargar la versión para windows, acá la url – https://www.vim.org/download.php.

Una vez que tenemos descargado vim en nuestro equipo, ejecutamos el archivo y damos siguientes como un instalable más de windows, al finalizar la instalación, abrimos la Git bash y escribimos lo mismo de arriba para revisar la versión de vim y verificar que ha quedado instalado correctamente.

Mac OS

Para instalar vim en Mac OS es también prácticamente sencillo, sólo basta con tener el gestor de paquetes para mac Brew y ejecutar el siguiente comando desde nuestra terminal:

$ brew install vim

Y repetir los mismo pasos de arriba para verificar la instalación y tener la versión actual instalada en nuestro equipo.

Instalar Vundle

Vundle es una plugin manager para vim, el cual nos permite instalar diferentes plugins para dar un mayor poder a nuestro ya asombroso Vim. Para esto es importante que tengas instalado git.

Abrimos nuestra terminal y a continuación clonaremos el repositorio de Vundle en nuestro sistema.

$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Paso seguido, en tu Terminal, posicionate en la raíz con cd ~ y es hora de crear o abrir nuestro archivo .vimrc, en mi caso yo no lo tenía creado, así que me tocó crearlo, tu puedes revisar si lo tienes con ls -la y si no lo tienes, puedes crearlo touch .vimrc, ahí mismo en la raíz.

Una vez que nos aseguramos que ya tenemos nuestro archivo de configuración de Vim creado, es hora de comenzar con la magia, la magia de configurar, instalar y personalizar. Cabe destacar que en éste archivo .vimrc, puedes configurar mucho mucho más de lo que yo te explicaré aquí.

Abrimos nuestro .vimrc con nuestro vim $ vim .vimrc

# revisar si tenemos el archivo .vimrc y buscarlo en la lista
$ ls -la

# en caso de no tenerlo, crearlo
$ touch .vimrc

# abrir nuestro archivo con vim
$ vim .vimrc

Una vez abierto nuestro .vimrc, es hora de configurar Vundle y algunas cosas para Vim para poder instalar los plugins.

set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'

call vundle#end()
filetype plugin indent on
filetype plugin on

set number
set autoindent
set expandtab
set encoding=utf-8

Ya que tengan lo de arriba en su archivo, es hora de guardar los cambios y salir con ESC :x. Cabe destacar que los plugins deben de ir entre los call vundle#begin y vundle#end.

Ahora nuevamente volvemos a abrir el archivo, estrictamente requerido que se abra con vim, ya que instalaremos los plugins. Si notas algo diferente en tu vim, es correcto, ahora cuentas con una guía de números a la izquierda. Teniendo abierto vim con el archivo .vimrc, presionamos ESC y ejecutamos :PluginInstall. Se abrirá una ventana al lado donde te mostrará que se está instalando Vundle y al final si todo sale bine Done!.

Listo, ya tenemos la primera parte, ahora toca el turno de instalar nuestros plugins para personalizar, en este caso un explorador de archivos NERDTree. Debajo de Plugin 'VundleVim/Vundle.vim', añadimos lo siguiente.

Plugin 'scrooloose/nerdtree'
Plugin 'airblade/vim-gitgutter'
Plugin 'morhetz/gruvbox'

Y fuera del call vundle#end() añadimos lo siguiente para activar nuestro tema y con unos colores comodos para nosotros.

colorscheme gruvbox

Ahora es momento de guardar los cambios y salir con ESC + :x. Volvemos a abrir el archivo y ejecutamos la instalación de plugins que es con: ESC + :PluginInstall. Y veremos como se comienzan a instalar nuestros plugins.

Ahora repasemos un poco lo que hicimos y lo que pusimos en nuestro archivo de configuración.

Plugin 'scrooloose/nerdtree' es un plugin que nos añade un explorador de archivos en nuestro vim, a la hora que nosotros simplemente tecleamos en nuestra terminal vim, se abre y con éste, el explorador el cual tu puedes manejar completamente con el teclado.

NERDTree on Vim terminal linux
NERDTree con VIM en Linux

Plugin 'airblade/vim-gitgutter' no es más que un plugin que nos agrega funcionalidades de git como diferencia, que archivos se han modificado, cuales no se han subido, etc. Plugin aquí

Por último tenemos a Gruvbox, éste plugin no es más que un tema que nos añade a Vim, para verlo más bonito, en mi caso me gusta bastante esa paleta de colores y es la que estoy utilizando, así que lo dejé por defecto. Y como resultado final deberíamos tener algo parecido a lo siguiente.

resultado final vim + plugins
Resultado final de la instalación de Vim + Plugins

Conclusiones

Vim es un poderoso editor de textos que nos puede ayudar a escribir código en prácticamente cualquier lenguaje de programación, yo personalizamente lo utilizo para Python, ahora mismo estoy aprendiendo un poco de Go y de igual manera lo estoy utilizando para ese.

Para sacarle el mayor provecho a vim necesitas saber los comando a un nivel medio para sentirte comodo con la navegación y todo lo demás, si eres nuevo te confundirás mucho y tendrás que estar buscando mucho para poder hacer algunas acciones que con VS Code y el ratón te eran muy sencillo.

Espero que hayas disfrutado de éste post y si te gusta, pido que me apoyes en mis redes sociales y me dejes tu comentario, ya sea aquí o en mis redes, igual para cualquier duda, sugerencia o si quieren que escriba sobre un tema en específico.

Si desean también pueden copiar la configuración que yo tengo, la dejo en el siguiente repo: https://github.com/migantoju/vim-configuration/blob/main/vimrc

DigitalOcean Referral Badge