Eu uso alguns atalhos no meu arquivo .vimrc (sintaxe exata abaixo).
Eles se baseiam no fato de que em 90% dos casos, desejo abrir outro arquivo no mesmo diretório que o arquivo que estou editando no momento ou em um diretório muito próximo da hierarquia do arquivo editado.
Aqui está o que os comandos fazem:
,cd
: Altere o diretório de trabalho atual para o diretório em que o arquivo atual está sendo editado.
,e
: Abre um arquivo com o diretório de trabalho atual já preenchido para que você tenha que especificar apenas o nome do arquivo.
Coloque-os no seu .vimrc:
map ,e :e <C-R>=expand("%:p:h") . "/" <CR>
map ,cd :cd %:p:h <CR>
Aqui está uma sequência de eventos:
- Você está editando um arquivo chamado test.java em "/ home / prog"
,cd
-> O diretório de trabalho atual agora se torna "/ home / prog"
,e
-> Expande para ": e / home / prog" para que você possa simplesmente preencher o nome do arquivo, diga test.h.
,e
-> Expande para ": e / home"
tab
-> Alterne entre subdiretórios de / home
enter
-> cd
para o diretório que você quer dizer / home / prog
,e
-> Expande para ": e / home / prog"
:tabe
abrirão o arquivo em uma nova guia,:new
dividirão a janela horizontalmente e:edit
fecharão o arquivo atual antes de abrir o novo.