VIM: obter o caminho do arquivo atual

O registro% contém o nome do arquivo atual e o registro # contém o nome do arquivo alternativo. Esses registros permitem que o nome dos arquivos atuais ou alternativos sejam exibidos ou inseridos. O nome, caminho completo ou diretório que contém o arquivo pode ser usado.

Por exemplo, no diretório / abc, o comando vim def / my.txt edita o arquivo /abc/def/my.txt. Os comandos a seguir podem ser inseridos para exibir as informações mostradas.

: echo @% def / my.txt diretório / nome do arquivo (relativo ao diretório de trabalho atual de / abc)
: echo expand (‘%: t’) my.txt nome do arquivo (‘tail’)
: echo expand ( ‘%: p’) /abc/def/my.txt caminho completo
: echo expand (‘%: p: h’) / abc / def diretório contendo o arquivo (‘head’)
: echo expand (‘%: p: h : t ‘) def Primeiro obtenha o caminho completo com: p (/abc/def/my.txt), em seguida, obtenha o cabeçalho desse com: h (/ abc / def), em seguida, obtenha o final disso com: t ( def)
: echo expand (‘%: r’) def / meu nome do arquivo menos uma extensão (‘root’)
: echo expand (‘%: e’) txt nome da extensão do arquivo (‘extensão’)
Para obter mais informações, execute : ajuda a expandir

Se tudo o que você deseja é exibir o nome do arquivo atual, digite Ctrl-G (ou pressione 1 e depois Ctrl-G para o caminho completo).

Ao usar @%, o nome é exibido em relação ao diretório atual.

No modo de inserção, digite Ctrl-R e% para inserir o nome do arquivo atual.

No modo de comando (após digitar dois pontos), digite Ctrl-R e, em seguida,% para inserir o nome do arquivo atual. O nome inserido pode então ser editado para criar um nome semelhante.

No modo normal, digite “% p para colocar o nome do arquivo atual após o cursor (ou”% P para inserir o nome antes do cursor).

Os comandos a seguir inserem linhas que consistem no caminho completo dos arquivos atuais e alternativos no buffer:

:put =expand('%:p')
:put =expand('#:p')

ligação