Como você exibe o nome do arquivo no qual está trabalhando no vim?
Como você exibe o nome do arquivo no qual está trabalhando no vim?
Respostas:
:f( :file) fará o mesmo que <C-G>. :f!fornecerá uma versão não truncada, se aplicável.
:f!nem sempre funciona, pressione 1 e, em seguida, pressione Ctrl-G para obter o caminho completo.
~/dev/file.pye execure :fno vim, recebo file.pycomo saída em vez de ~/dev/file.py.
ctrl-gpara retornar o caminho + arquivo. :fretornará o nome do arquivo sem o caminho, como pode ctrl-g. Um 1antes ctrl-gmostrará o caminho e o nome (embora não necessariamente expandido). ou seja, será exibido em ~/dev/file.pyvez de file.py. 2seguido por ctrl-gincluirá que tampão: buf 1: "~/dev/file.py".
ctrl+ gfará isso.
Além disso, eu gosto de ter:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Qual produz:
foo.c [C] [0x23] <código / foo.c 1, 1 2% de 50
Além disso, como alguém mencionado (mas agora excluído) %será substituído pelo nome do arquivo atual. Por exemplo:
:! echo "arquivo atual:%" arquivo atual: foo.c Pressione ENTER ou digite o comando para continuar
[C]e [0x23]?
'statusline'é uma cadeia, mas você não incluir aspas no set: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ linesespaços também precisa escaparam
defina a linha de status. mais informações com:help statusline
Esses comandos podem ir no seu arquivo .vimrc ou você pode inseri-los como comandos enquanto estiver no vim, digitando ':' no modo de comando.
Primeiro, defina o último status como 2 usando o seguinte:
set laststatus=2
Em seguida, defina a linha de status como% f para o nome curto do arquivo.
set statusline=%f
Para o caminho completo do arquivo, use% F.
Para mostrar o caminho completo de qualquer arquivo, incluindo links simbólicos resolvidos, use o seguinte.
:echo resolve(expand('%:p'))
Isso pode ser adicionado à sua barra de status adicionando a linha abaixo ao seu ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Uma das sugestões acima teve que ser alterada para
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
para fazê-lo funcionar. Além disso
set laststatus=2
foi usado.
Eu uso o incrível vimrcda amix: https://github.com/amix/vimrc
Ele usa o lightline.vimpluging e exibe o nome do arquivo na barra de status.
O melhor de usar o amix/vimrcé que este plug-in cuida da maior parte da personalização, é muito estável e foi testado por milhares de pessoas, como você pode verificar olhando o número de estrelas do github .. e os problemas pouco frequentes.
Também é atualizado com bastante frequência.
PS: não é o autor de nenhum dos plugins .. apenas um fã :)
Eu também precisava colocar isso no meu arquivo .vimrc:
set noruler
set laststatus=2
Então eu poderia colocar algo como set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"no meu arquivo .vimrc e depois de reiniciar o meu terminal, a linha de status é exibida corretamente.
'statusline'é uma cadeia, mas você não incluir aspas no set: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ linesespaços também precisa escaparam