Opciones para personalizar de forma productiva nuestro editor VIM

Vim es mi editor de texto favorito en entornos Linux. Es sencillo de utilizar y posee gran cantidad de opciones para personalizarlo a nuestro gusto. Todas estas opciones podemos definirlas en nuestro fichero ~/.vimrc añadiendo utilidades y aportando mayor productividad a la herramienta. Cada uno tendrá las suyas, y aquí os comento las que a mí me han resultado más útiles en el día a día.

:syntax on activa el resaltado de sintaxis para el código que estemos editando.

:colorscheme [ nombre_tema ] permite seleccionar un tema de colores para resaltar la sintaxis en VIM. Si introducimos :colorscheme en VIM y vamos presionando el tabulador podemos ver los temas disponibles.

:set history=1000 nos deja controlar el tamaño del historial de VIM, al que podemos acceder en modo comando con :history

:set ignorecase permite realizar búsquedas ignorando las letras mayúsculas o minúsculas siempre y cuando busquemos el string en minúsculas.

:set smartcase relacionado con la anterior opción, si bien podemos ignorar minus/mayus cuando buscamos el string en minúsculas, si introducimos parte del string de búsqueda en mayúsculas VIM lo considerará como una búsqueda explícita en la que queremos que encontrar exactamente esas letras.

:set ff=unix puede evitarnos más de un susto si estamos trabajando en una máquina Windows y realizamos copy-pastes habituales a terminales SSH donde estamos editando ficheros de Linux. El fin de línea en Windows no le gustaría a nuestros scripts ni a determinados ficheros de configuración… Siempre tendremos la opción de utilizar dos2unix, aunque con :set ff=unix ya nos ahorramos el trabajo de antemano.

:set hlsearch resalta las coincidencias con la búsqueda que estemos haciendo.

:set incsearch permite realizar búsquedas incremental. VIM irá resaltando el resultado de la búsqueda conforme vayamos introduciendo el string. Ej.: ca,cas,casa

:set cursorline nos indica la línea en la que estamos situados.

:set tabstop=4 indica cuántos espacios tiene una tabulación. Por defecto 8, yo suelo bajarlo a 4

:set expandtab convierte las tabulaciones a espacios. El nº de espacios será el definido en :set tabstop

:set shiftwidth=4 indica el nº de espacios para una indentación

:set backupdir=~/.vim/backup// fija el directorio para ficheros de backup.

:set directory=~/.vim/swap// fija el directorio donde se guardan los ficheros de swap.

:set undodir=~/.vim/undo// y :set undofile fija el directorio para los ficheros undo, es decir, la copia de seguridad de un fichero original antes de su modificación con VIM.

:set number muestra nº de línea a la izquierda. Interesante combinarlo con la siguiente opción.

:set mouse+=a con esta opción cuando copiemos desde la terminal deslizando el ratón por el texto del fichero no se copiarán los números de línea.

:set confirm si intentamos salir con :q y hemos realizado cambios, nos preguntará si queremos guardar los cambios.

:set paste nos servirá para hacer copy-paste en vim respetando tabulaciones y espacios del texto original.

Como comentaba al principio, todas esas opciones podéis ponerlas en vuestro ~/.vimrc. En mi caso tengo:

" BASIC SETTINGS
syntax on
set ff=unix

" COLORS
colorscheme desert

" OPTIONS
set cursorline
set number
set mouse+=a

set hidden
set paste
set backupdir=~/.vim/backup//
set directory=~/.vim/swap//
set undodir=~/.vim/undo//
set undofile

set smartcase
set ignorecase
set hlsearch
set incsearch

set tabstop=4
set expandtab
set shiftwidth=4

set confirm
set history=1000

Recordad además que siempre que tengáis dudas, podéis consultar la ayuda de VIM con :help, por ejemplo :help ‘showcmd’

Hay más opciones disponibles para VIM que las comentadas en este artículo. Ya corresponde a cada uno investigar un poco más y seleccionar las que más se adapten según gusto y necesidad.

😉