Pergunta

Eu estou usando Vim para Windows instalado no modo de Unix. Graças a este site agora eu uso o comando gf para ir para um arquivo sob o cursor.

Eu estou procurando um comando para qualquer um:

  1. retorno para o arquivo anterior (similar para Ctrl + T para ctags), ou
  2. gf remapear para iniciar automaticamente o novo arquivo em uma nova janela.
Foi útil?

Solução

Eu uso Ctrl - O

Outras dicas

Eu freqüentemente usam Ctrl -. 6 para este

É útil porque me permite saltar rapidamente para trás e para frente entre os dois arquivos.

Você pode querer usar CTRL-W gf para abrir o arquivo em uma nova aba.

Você pode fechar o arquivo recém-inaugurado como sempre com :bd ou uso CTRL-6 e outras formas usuais de mudança de buffers.

Use gf para descer em um arquivo e uso: bf para voltar

Apenas uso :e# seguido de Enter -. Que basicamente diz para editar o último arquivo (mais recente)

Ctrl-Shift-6 é um deles.

:e#↲ é outra.

Eu não sei a resposta para a parte 2 da sua pergunta, mas eu posso ajudar com a parte 1. Use

:e#

Vim mantém uma lista de arquivos (buffers) que está editando. Se você digitar

:buffers

ele irá listar todos os arquivos que você está editando. O arquivo nessa lista com um% ao lado dele é a imagem atual. Aquele com o # ao lado dele é o arquivo alternativo. : E # vai alternar entre o arquivo atual e alternativo. Ao invés de tipo que muito, eu mapear F2 para: e # para que eu possa facilmente alternar entre os arquivos atuais e alternativos. Eu mapear o comando para F2, adicionando este para Vimrc

nmap `<F2> :e#<CR>`

Eu tenho f CTRL-W ao trabalho.
É muito deprimente que eu passei tanto tempo aperfeiçoando mapas para apenas estes comandos para descobrir que não são built-in versões.

Quando você abre um novo arquivo (com gf ou : n ou outro comando) os antigos restos de arquivos em uma lista de buffer. Você pode listar os arquivos abertos com : ls

Se você quiser navegar facilmente entre buffers em vim, você pode criar um mapeamento como este:

nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>

Agora você pode alternar entre buffers com Alt + Seta para a esquerda ou Alt + seta para a direita.

A documentação completa sobre mapeamentos está aqui:

:help map.txt

Eu não olhei para o seu gf comando mas eu imagino que usa o : e ou :. Encontrar comando
Assumindo que isso é correto, basta substituir o : e ou : achado com : novo (ou : vnew para uma divisão vertical) eo arquivo será aberto em uma nova janela em vez do mesmo.

por exemplo.

"Switch between header and cpp
nmap ,s :find %:t:r.cpp<CR>
nmap ,S :new %:t:r.cpp<CR>
nmap ,h :find %:t:r.h<CR>
nmap ,H :new %:t:r.h<CR>
nmap ,F :new =expand("<cfile>:t")<CR><CR>
nmap ,d :new =expand("<cfile>")<CR><CR> 

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top