O comando no modo normal gf
vai para um arquivo com o caminho no qual o cursor está atualmente.
Mas o faz na janela atual, substituindo o texto atual. Isso significa que você precisa voltar explicitamente para voltar mais tarde e escrever potencialmente as alterações no buffer atual.
Tenho certeza de que é possível abrir o arquivo sob o cursor em uma nova tabview?
key-bindings
tabbed-user-interface
multiple-files
file-operations
Volker Siegel
fonte
fonte
'hidden'
opção (set hidden
) permite navegar para longe de buffers não salvos. Para mim, esse foi um enorme aumento de produtividade e foi vital para parar de depender tanto de divisões e separadores.Respostas:
EDIT: sugira mapeamentos bem simétricos para a caixa dividida vertical, pois o Vim, por padrão, possui dois mapeamentos para a caixa dividida horizontal.
Existem várias maneiras de editar o "arquivo sob o cursor" e, embora você certamente possa remapear gfpara editar em uma nova tabpage como menciona @ alexander-myshov, isso significa que você tem duas maneiras de editá-lo em uma nova tabpage, mas não há como edite-o na janela atual, o que você também pode querer fazer às vezes. Não é difícil usar os mapeamentos padrão, mas se você deseja remapear um deles gf, sugiro alternar os mapeamentos para que você não perca um deles.
Algumas das maneiras de editar um nome de arquivo sob o cursor são
Não há mapeamento padrão para editar o arquivo existente sob o cursor em uma divisão vertical, mas você pode obtê-lo primeiro dividindo a janela verticalmente e depois editando o arquivo sob o cursor na janela atual.
Como você pode ver acima, existem dois mapeamentos padrão para editar o arquivo sob o cursor em uma divisão horizontal. Portanto, você pode remapear um deles para a sequência de teclas acima, estendendo o grupo de mapas para também cobrir a caixa dividida vertical. Você pode vincular qualquer coisa, é claro, mas isso parece para completar a simetria bem:
nnoremap <C-W><C-F> <C-W>vgf
. Agora você temVocê também pode ir para uma linha específica no arquivo, se o nome do arquivo sob o cursor for seguido por um número de linha. Se você tem
você pode editar o arquivo e mover o cursor para a linha 10 com gF. O equivalente é verdadeiro para C-WFuma divisão e C-WgFuma tabulação. A conclusão da simetria para uma divisão vertical não é tão simples aqui, mas eu sugeriria que o C-WC-S-Fmapa obtido com
nnoremap <C-W><C-S-F> <C-W>vgF
, imitando o Fou Shift+ fdos mapas padrão como candidato.Este
:
é um exemplo, você pode usar qualquer caractere que não seja um nome de arquivo (consulte:h 'isfname'
).Todos esses comandos vêm com molho de maçã, como
'path'
opção'suffixesadd'
opção'includeexpr'
opçãoLeia mais em
:help gf
e os tópicos de ajuda para essas várias opções.Se o nome do arquivo sob o cursor nomear um arquivo que não existe, é melhor usar os comandos de edição padrão com
<cfile>
, comoe com isso, é claro, você pode usar coisas como
:spl+10 filename
mover o cursor para uma linha específica ou:tabe+/cologne filename
mover o cursor para a primeira ocorrência de um padrão.fonte
Basta usar ligações para isso:
abrir em uma nova janela (dividir):
abrindo em uma nova guia:
verifique também isso:
:help CTRL-W_gf
fonte
gf
para outra coisa. Mesmonnoremap gf :echo "hello"<CR>
assim, abre o arquivo sob o cursor em um novo buffer (e sim, forneci o vimrc).