Cuando está en modo de inserción Vim, ¿hay alguna forma de agregar autocompletado de ruta de archivo?


Escribo muchos scripts de shell y constantemente tengo que ingresar rutas de archivo. Me pregunto si alguien sabe de una manera de hacer que Vim autocomplete rutas de archivo mientras está en modo de inserción, al igual que cuando está en su shell favorito, tabula para completar la ruta del directorio o archivo.

Crédito extra si puede obtener CTRLD funcionalidad del shell en modo de inserción Vim (es decir, para ver qué archivos/directorios están en la ruta actual).

Author: Keith Pinson, 2009-12-17

4 answers

Para nombre de archivo omni completion, puede usar:

Ctrl-XCtrl-F

 136
Author: CMS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-01 01:55:34

Hay ctrl-x ctrl-f

:he compl-filename

 17
Author: michael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-15 18:24:29

Para construir sobre @ CMS y @ michael excelentes respuestas

Cuando se utiliza ctrl+X ctrl+f secuencia de comandos mostrará una lista de archivos en el directorio actual. Paso un minuto buscando la tecla correcta para moverse arriba y abajo entre los diferentes nombres de archivo. Las teclas correctas son Ctrl-n y Ctrl-p. Puede usar casi cualquier otra tecla (como Espacio) para seleccionar y continuar escribiendo.

Además, si aún no está en el directorio file / si desea insertar, puede bajar una estructura de árbol de archivos de la siguiente manera:

  1. Opcionalmente ingrese alguna parte del directorio. ¡Incluso puedes usar ../../ por ejemplo!
  2. Pulse ctrl+X ctrl+f y seleccione el primer elemento en el árbol de la lista.
  3. Siguiente prensa ctrl+f de nuevo mientras el elemento correcto está resaltado para mostrar una lista del siguiente nivel en la estructura de árbol de directorios.

Usted puede seguir haciendo esto hasta que encuentre el directorio / archivo que desea insertar en el documento.

 14
Author: SnapShot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-02 13:53:47

Experimenté un problema similar. Encontré una solución como:

    sudo apt-get install realpath

Y en VIM naviagte para archivar con el tipo en modo normal:

    :r !realpath /path/to/file

Cuando está navegando en modo no insertado después!realpatch usted es capaz de utilizar nuestro botón clave.

VOILA! TAB está funcionando de nuevo!

 0
Author: amonowy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-15 13:57:12