# rm-rf.es

Autocompletar en Vi y Vim

Vi y Vim integrar varias funcionalidades de autocompletado entre las que se encuentran el autocompletado de palabras o líneas completas, selección de palabras a partir de un diccionario, completado de rutas del sistema e incluso podríamos buscar sinónimos y antónimos.

Todos estos ejemplos los ejecutamos en modo edición.

Autocompletar ruta del sistema

De todas estas opciones, una de las más interesantes es la de poder buscar un path determinado dentro del sistema e insertarlo en la edición. Para ello utilizamos la combinación de teclas «Ctrl+x Ctrl+f».

En el siguiente ejemplo vemos como si a la hora de escribir un path pulsamos «Ctrl+x Ctrl+f, «^X^F», automáticamente aparece un desplegable sobre el que podemos elegir la ruta:

Y así podríamos seguir hasta llegar a la ruta que queremos incluir en la edición:

 

Autocompletar palabras

Utilizando la combinación «Ctrl+x y Ctrl+n» y «Ctrl+x y Ctrl+p» aparecerá un desplegable para completar una palabra a partir de las que contiene el documento. La diferencia entre ambas combinaciones es que con la primera, la primera selección en el desplegable es la primera palabra y en el segundo la última.

Autocompletar línea completa

Si lo que queremos es autocompletar una línea completa en lugar de una palabra, utilizaremos la combinación «Ctrl+x y Ctrl+l»:

Usar un diccionario de palabras

Para poder utilizar un diccionario de palabras deberemos indicar a Vim la ruta donde se encuentra el diccionario. En «/usr/shared/dicts» encontraréis diccionarios:

$ ls -l /usr/share/dict
total 4620
-rw-r--r-- 1 root root  938848 Oct 23  2011 american-english
-rw-r--r-- 1 root root  938969 Oct 23  2011 british-english
-rw-r--r-- 1 root root     417 Jun 19  2008 connectives.gz
-rw-r--r-- 1 root root    4551 Jun 19  2008 propernames.gz
-rw-r--r-- 1 root root     199 Jan  6  2012 README.select-wordlist
-rw-r--r-- 1 root root 2486824 Jun 19  2008 web2
-rw-r--r-- 1 root root  339463 Jun 19  2008 web2a.gz
lrwxrwxrwx 1 root root      30 May 25  2012 words -> /etc/dictionaries-common/words
lrwxrwxrwx 1 root root      16 May 25  2012 words.pre-dictionaries-common -> american-english

Para especificar el diccionario, utilizamos nuestro archivo personal de preferencias de vim (.vimrc) y añadimos un «set dictionary» la ruta al diccionario:

$ grep "dictionary" ~/.vimrc
set dictionary+=/usr/share/dict/words

La combinación a utilizar es «Ctrl+x y Ctrl+k». Si no tenéis especificada la variable dictionary a la hora de ejecutarla os aparecerá el aviso:

'dictionary' option is empty

Ejemplo del diccionario en funcionamiento:

Salir de la versión móvil