Aunque expand('%')
trabaja a menudo, hay rare occasions donde no lo hace. Pero puede forzar Vim para presentar siempre la ruta relativa llamando fnamemodify
:
:echo fnamemodify(expand("%"), ":~:.")
Del manual:
:. Reduce file name to be relative to current directory, if
possible. File name is unmodified if it is not below the
current directory.
For maximum shortness, use ":~:.".
El :~
es opcional. De ser posible, reducirá la ruta relativa a su carpeta de inicio (~/...
). (Desafortunadamente eso solo funciona en su en casa; no cambiará /home/joey
en ~joey
.)
Si usted está limitado por el espacio, y puede gestionar la información "fuzzy" acerca de dónde se encuentra el archivo, a continuación, echa un vistazo a pathshorten()
que comprime nombres de las carpetas a un personaje:
:echo pathshorten('~/.vim/autoload/myfile.vim')
~/.v/a/myfile.vim
Referencia: :h fnamem<Tab>
y :h pathsh<Tab>
¡Genial! Funciona para mí también. – Rafid
También puede usar '%' en el modo de inserción para insertar el nombre del archivo actual. –
Esto no siempre funciona y depende de cómo abrió inicialmente el archivo. Vea la respuesta de @joeytwiddle a esta pregunta para una solución más completa. – senbrow