2010-11-06 15 views
90

¿Cómo se muestra el nombre de archivo del archivo en el que está trabajando en vim?¿Cómo se muestra el nombre de archivo del archivo en el que está trabajando en vim?

+1

Si de su terminal configurado correctamente, usted debe obtener el nombre del archivo en el título de la ventana. – Cascabel

+0

Ver también: [¿Cómo puedo visualizar de forma permanente la ruta del archivo actual en Vim?] (Http://stackoverflow.com/questions/10488717/how-can-i-permanently-display-the-path-of-the -current-file-in-vim) – User

+1

Relacionado: [¿Cómo puedo ver la ruta completa del archivo actual?] (http://vi.stackexchange.com/q/104/467) en Vim SE – kenorb

Respuesta

137

:f (:file) hará mismo que <C-G>. :f! dará una versión no truncada, si corresponde.

+2

Agradable, ¿pero es posible mostrarlo en la barra superior de la terminal? (o terminator) o en algún lugar sin escribir un comando. – eMarine

+13

'' ': f!' '' No siempre funciona, presione 1, luego Ctrl-G para la ruta completa. – ives

+0

¿Qué tal un camino completo? Cuando comienzo vim desde '~/dev/file.py' y ejecuto': f' dentro de vim, obtengo 'file.py' como resultado en lugar de' ~/dev/file.py'. – gxyd

12

establece la línea de estado. más información con :help statusline

Estos comandos pueden ir en su archivo .vimrc, o puede ingresarlos como comandos mientras está en vim escribiendo ':' en modo comando.

En primer lugar, establecer el estado pasado a 2 usando la siguiente:

set laststatus=2

A continuación, establezca la línea de estado de% f para el nombre de archivo corto.

set statusline=%f

Por la ruta completa al archivo, el uso% F.

+0

E518: Desconocido Opción:% f – Isius

+0

He actualizado la respuesta, Isius. Con suerte, eso lo deja más claro. –

50

ctrl + g lo hará.

Además, me gustaría tener:

set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L" 

que produce:

 
foo.c [C] [0x23]<code/foo.c 1, 1 2% of 50 

Además, como alguien ha mencionado (pero ahora suprimido) % será reemplazado por el nombre del archivo actual. Por ejemplo:

 
:!echo "current file: %" 
current file: foo.c 
Press ENTER or type command to continue 
+0

¿Qué significan las partes '[C]' y '[0x23]'? – LangeHaare

3

Para mostrar la ruta completa de cualquier archivo, incluidos los enlaces simbólicos resueltos, utilice lo siguiente.

:echo resolve(expand('%:p')) 

Esto se puede agregar a la barra de estado añadiendo la siguiente línea a su ~./vimrc

set statusline +=%{resolve(expand('%:p'))}\ %* 
Cuestiones relacionadas