¿Cómo muestra el nombre de archivo del archivo en el que está trabajando en vim?
¿Cómo muestra el nombre de archivo del archivo en el que está trabajando en vim?
Respuestas:
:f
( :file
) hará lo mismo que <C-G>
. :f!
dará una versión no truncada, si corresponde.
:f!
no siempre funciona, presione 1, luego Ctrl-G para la ruta completa.
~/dev/file.py
y ejecuto :f
dentro de vim, obtengo file.py
como salida en lugar de ~/dev/file.py
.
ctrl-g
para devolver ruta + archivo. :f
devolverá el nombre del archivo sin ruta, como podría ctrl-g
. Un 1
antes ctrl-g
mostrará la ruta y el nombre (aunque no necesariamente se expande). es decir, se mostrará en ~/dev/file.py
lugar de file.py
. 2
seguido por ctrl-g
incluirá que buffer: buf 1: "~/dev/file.py"
.
ctrl+ glo hará.
Además, me gusta tener:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Que produce:
foo.c [C] [0x23] <código / foo.c 1, 1 2% de 50
Además, como alguien mencionado (pero ahora eliminado) %
será reemplazado con el nombre de archivo actual. Por ejemplo:
:! echo "archivo actual:%" archivo actual: foo.c Presione ENTRAR o escriba comando para continuar
[C]
y [0x23]
?
'statusline'
es una cadena, pero no incluye comillas en el conjunto: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
también necesita espacios escapados
establecer 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.
Primero, establezca el último estado en 2 usando lo siguiente:
set laststatus=2
Luego establezca la línea de estado en% f para el nombre de archivo corto.
set statusline=%f
Para la ruta completa al archivo, use% F.
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 su barra de estado agregando la siguiente línea a su ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Una de las sugerencias anteriores tuvo que cambiarse a
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
para que funcione también
set laststatus=2
se utilizó.
Yo uso lo increíble vimrc
de amix: https://github.com/amix/vimrc
Utiliza el lightline.vim
pluging y muestra el nombre del archivo en la barra de estado.
Lo mejor de usar amix/vimrc
es que este complemento se encarga de la mayor parte de la personalización, es muy estable y ha sido probado por miles de personas, como puedes comprobar observando la cantidad de estrellas github ... y los problemas poco frecuentes.
También se actualiza con bastante frecuencia.
PD: no es el autor de ninguno de los complementos ... solo un fan :)
También necesitaba poner esto en mi archivo .vimrc:
set noruler
set laststatus=2
Entonces podría poner algo como set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
en mi archivo .vimrc y después de reiniciar mi terminal, la línea de estado se muestra correctamente.
'statusline'
es una cadena, pero no incluye comillas en el conjunto: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
también necesita espacios escapados