Eu sei que CTRLgexibe o arquivo atual em que você está trabalhando. Existe uma maneira de modificar o meu de .vimrc
forma que o nome do arquivo / caminho seja sempre exibido?
Respostas:
Em sua linha de status, adicione um %F
para exibir o caminho completo:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
Observe, %F
será o caminho completo. Para obter um caminho relativo ao diretório de trabalho, use %f
.
Se a sua linha de status ainda não estiver visível, você pode primeiro precisar configurá-la para estar sempre visível, via laststatus=2
set laststatus=2
Veja o :help laststatus
que significam as opções. Normalmente, a linha de status pode estar oculta, ou oculta, a menos que vários buffers estejam abertos, mas acho extremamente útil tê-la sempre ativada com personalizações como essa, vale a pena abrir mão de uma reserva de linha de tela para ela.
:set statusline=%F
sem o+
:set statusline=%F
? Olhe bem para a direita ou para a esquerda para ver se o nome do arquivo está escondido ali na linha de status
set laststatus=2
para manter a linha de status visível o tempo todo. Eu esqueci que estava com isso.
definir ls = 2
adicione isso no vimrc e você verá o nome do arquivo sempre na parte inferior.
set modeline
é um pouco perigoso e não tem nada a ver com a questão. Permite a execução de comandos Vim nas 5 linhas de início / fim de um arquivo. Deve ser ativado apenas por quem sabe por que e realmente deseja isso. (É por isso que eu -1 esta resposta)
Eu encontrei 2 maneiras de exibir o caminho do arquivo na barra de título do terminal gnome enquanto edito um arquivo com o Vim.
A maneira mais simples (e melhor): adicione a seguinte linha ao seu ~/.vimrc
:
set title
Que irá mostrar a você no topo:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
A maneira mais complicada mostrará o caminho absoluto do arquivo. Está documentado com mais detalhes nesta postagem do blog que escrevi recentemente.
A única maneira que eu encontrei para obter o caminho completo do arquivo que estou trabalhando em é: :echo expand('%:p')
. Você pode mapear novamente ctrl + g se quiser, mas eu pessoalmente não gosto de mudar muito dos padrões. Eu mapeei F7 assim:
map <F7> <Esc>:echo expand('%:p')<Return>
:help CTRL-G
, e olhe dois parágrafos abaixo para CTRL-G
contar.
1 CTRL-G
mostra o nome completo do arquivo. Eu estava procurando por essa opção.
~
.
Se você estiver usando o vim -irline , coloque .vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
Esta é uma modificação do padrão da companhia aérea, mudando %f
por %F
.
O statusline é muito poderoso e prático, eu acho. Retirado da caixa, ele exibirá o nome do arquivo, a posição do cursor e algumas bandeiras. Mas você quer fazer o mesmo que eu e substituir o nome do arquivo -part pelo caminho completo para o arquivo.
Então, enquanto edito minha linha de .vimrc
status, poderia ser parecido com o padrão:
.vimrc 26,16 7%
Você pode visualizar a configuração da linha de status com:
:set statusline?
Mas se você não fez nenhuma alteração e nenhum módulo o mudou, ele estaria vazio. Mas pelos exemplos na seção de ajuda ( :help statusline
), você pode descobrir que o padrão é:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
Portanto, inclua isso em seu .vimrc
e mude %f
para%F
. Também adicionei o sinalizador filetype ( %y
) à minha linha de status, pois acho conveniente. Então, minha configuração resultante é assim:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
E o resultado seria mais ou menos assim:
~/.vimrc [vim] 26,16 7%
Boa leitura:
PS. Eu executo o vim 7.3
Se você quiser que o caminho inclua links simbólicos resolvidos, use o seguinte:
set statusline +=%{resolve(expand('%:p'))}\ %*
Para manter a abreviatura '~' do seu diretório pessoal, inclua fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
set statusline+=%F
à minha~/.vimrc
não parece corresponder ao que você está dizendo. Embora os médicos certamente pareçam concordar com você ...