2010-05-17 8 views
7

Duplicar posibles:
Open file from complete path under cursor in Vimarchivo abierto Vim bajo el cursor

Digamos que tengo el siguiente árbol de archivos:

/ 
    include/ 
    library/ 
     a.hpp 
     b.hpp 
    src/ 
    a.cpp 
    b.cpp 

Y el /src/a.cpp siguiente archivo:

#include "a.hpp" 
#include "b.hpp" 

Siempre abro Vim en el directorio raíz. Así que cuando quiero cargar a.hpp hago:

:tabnew include/library/a.hpp 

o:

:tabnew **/a.hpp 

me gustaría mapa <F4> para abrir el archivo con el cursor en una nueva pestaña, usando una búsqueda recursiva.

He probado el comando siguiente mapeo:

:map <F4> :tabnew **/expand("<cfile>")<cr> 

Pero, obviamente, esto no puede funcionar, ya que trata de abrir el archivo "/expand(" lugar.

¿Alguna pista sobre cómo podría hacer eso?

Gracias.

Respuesta

3

:help gf da una pista sobre cómo lograr esto.

:nmap <F4> :tabe **/<cfile><cr>

Parece <cfile> se expande automáticamente en asignaciones.

+0

Esto no puede funcionar (y no funciona) porque '' se evalúa mediante el comando ': execute' y no cuando se utiliza la asignación. – ereOn

+0

Bah, tienes razón. Funciona bien cuando defines el mapa mientras el cursor está en tu caso de prueba;) –

+0

¡Acabo de descubrirlo y luego vi tu edición! Gracias de todos modos;) Lo aceptaré. – ereOn

Cuestiones relacionadas