VIM Usage (Tips & Tricks) - Chapter I

Esta es mi primera entrada en el Blog y he decidido comenzar por unos pequeños trucos sobre el conocido editor VIM debido a su uso extendido en el trabajo diario del Grupo GPI

Espero que os resulte de utilidad y que sea de vuestro agrado.

Nota: Los comentarios son bien recibidos y me servirán de referencia para futuras entradas en el Blog o bien para dedicarme a coger coquinas en la playa.

Un saludo, compañer@s

Personalización del Editor

Comenzaremos por unos cuantos comandos referentes a la personalización del editor, es decir, adaptar el editor a nuestras preferencias dependiendo del uso que le deseamos dar

Algo desconocido en VIM es su carácter solidario. Podemos obtener información de a dónde se destinan los fondos recaudados por las donaciones mediante este comando:

:help uganda

Podemos cambiar el esquema de colores del editor VIM con este comando

:colorscheme scheme

Ejemplo> :colorscheme blue

Los valores para scheme los podemos obtener presionando el tabulador después del comando :colorscheme. Estos esquemas predefinidos están instalados en el directorio colors dentro del directorio de instalación de VIM.

Para resaltar una palabra en concreto dentro del texto podemos emplear el siguiente comando:

:match colorgroup /pattern/

Ejemplo> :match error /whille/

Resalta el patrón facilitado en pattern siguiendo el esquema de colores indicado por colorgroup. Para ver los esquemas de colores disponibles empleamos el siguiente comando:

:so $VIMRUNTIME/syntax/hitest.vim

Si deseamos crear un nuevo esquema de colores y utilizarlo para destacar determinados términos podemos emplear el siguiente comando:

:highlight colorgroup scheme-definition

Ejemplo> :highlight resaltado ctermbg=blue ctermfg=yellow cterm=bold

Los parámetros de la instrucción se refieren a:

ctermbg: Color del Fondo
ctermfg: Color de la Letra
cterm: Estilo de la Letra

Y para utilizar este esquema como resaltado de algún patrón, por ejemplo la palabra emergya emplearemos la siguiente sentencia:

:match resaltado /emergya/

Si deseamos desactivar el resaltado, podemos emplear el siguiente comando:

:match NONE

Podemos ampliar la información de la barra de estado del editor VIM con la siguiente instucción:

:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\[HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]

Y la activamos con el siguiente comando:

:set laststatus=2

Para desactivarla empleamos este otro comando:

:set laststatus=0

Los parámetros que utiliza esta instrucción son:

%F: Ruta completa al fichero abierto en el editor
%m: Marca que indica si el fichero ha sido modificado [+] o no [-]
%r: Marca que indica si el fichero es de Solo Lectura [RO]
%h: Indica si la ayuda está activada [help]
%w: Indica si el fichero está en vista previa [Preview]
[FORMAT=%{&ff}]: Indica el formato del fichero
[TYPE=%Y]: Indica el tipo de fichero
[ASCII=\%03.3b]: Indica el código ASCII del carácter sobre el que se encuentra el cursor
[HEX=\%02.2B]: Indica el código hexadecimal del carácter sobre el que se encuentra el cursor
[POS=%04l,%04v][%p%%]: Indica la posición (línea y columna) en la que se encuentra el cursor, además del porcentaje del tamaño total del fichero
[LEN=%L]: Indica el número de líneas que tiene el fichero

Si deseamos más información sobre los diferentes parámetros de la barra de estado, podemos consultarlos desde la ayuda:

:help statusline

Para resaltar la línea sobre la que se encuentra el cursor podemos emplear el siguiente comando:

:set cursorline

Y para resaltar la columna sobre la que se encuentra el cursor utilizamos el siguiente:

:set cursorcolumn

Podemos cambiar el color de resalto de ambos del mismo modo que cambiamos el esquema de colores del editor:

:highlight cursorline ctermbg=lightgray ctermfg=black
:highlight cursorcolumn ctermbg=lightgray ctermfg=black

Para mostrar los números de línea empleamos la siguiente instrucción:

:set number

Podemos posicionar el cursor directamente en una línea utilizando el siguiente comando:

:XXX

Ejemplo> :143

Si deseamos ampliar o reducir el ancho de la columna de los números de línea, podemos hacerlo indicando el número de dígitos de la numeración del siguiente modo:

:set numberwidth=X

Ejemplo> :set numberwidth=5

También podemos cambiar el esquema de colores de la columna de los números de línea, al igual que lo hacemos con el resto de esquemas:

:highlight linenr ctermbg=red ctermfg=yellow

El editor VIM incluye un corrector ortográfico que podemos activar del siguiente modo:

:set spell

Para indicar el idioma deseado para el corrector ortográfico empleamos la siguiente instrucción

:set spelllang=xx

Ejemplo> :set spelllang=es

Si el paquete de idioma no estuviera instalado, VIM nos lo indicará y nos preguntará si deseamos instalarlo además del paquete con las palabras sugeridas.

Posicionándonos encima de una palabra mal escrita y presionando z= en modo normal (Esc) nos muestra la lista de sugerencias para la palabra indicada. Podemos escoger una indicando el número de la misma. Si deseamos limitar la lista a un número concreto de palabras podemos hacerlo del siguiente modo:

:set spellsuggest=X

Por último podemos crear abreviaturas para palabras o frases completas que utilicemos con frecuencia:

:iabbrev abbrev content
Ejemplo> :iabbrev sl Software Libre

Esta sentencia sustituirá cada ver que escribamos "sl" por "Software Libre" de forma automática

Hasta aquí el primer capítulo del tutorial. Espero que os haya resultado por lo menos entretenido

Comentarios

mcun:

Excelente articulo, estos son la clase de tips que uno guarda para consultar constantemente y para recomendar ampliamente

Yo actualmente estoy migrando de IDE y me decidí por vim, al principio me resulto un poco incomodo, mucho que aprender y si bien en otras ocasiones he tenido la intención de abandonar NetBeans no me animaba debido a no querer cambiar en medio de algún proyecto... ahora es el momento y me alegra a ver encontrado una guía de tan buen nivel como la tulla estimado rteijeiro

un saludo

rcmorano:

Great!

Me apunto un par de cositas :]

 

rteijeiro:

Gracias por los comentarios. Me aportan ánimos para postear los siguientes capítulos que seguramente os gustarán tanto o más que este...

Un saludo.

In a world without fences and walls, who needs gates and windows? (Proverbio Opensource)

jojeda:

¡Me ha encantado! :-)

Llevo unos cuantos años usando VIM como editor para casi todo y pensé que iba a ser la típica introducción de cosas que sabe todo el mundo, pero no, de hecho son cosas que sabía que se podían hacer pero me resultaba pesado buscar.

La verdad es que el VIM es muy potente pero yo uso lo más típico y básico. Que me ayuda muchísimo, pero sé que me pierdo muchas funcionalidades chulas y útiles.

Creo que con tu serie voy a aprender unas cuantas :-)

Sobre todo porque me ha resultado muy práctica y bien explicada. La ayuda del VIM me resulta muy coñazo y termino pasando.

Un saludo, estaré pendiente de tus próximas entradas ;-)

Juanje

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.