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:
:P