Sair do modo Terminal no Neovim


60

Não consigo descobrir como voltar ao Normalmodo depois de entrar Terminalno Insertmodo ...

A fuga simplesmente não parece funcionar.

Qualquer ideia ?

Respostas:


58

Você deveria pressionar <C-\><C-n>.

Veja :help terminal-emulatorpara uma sugestão de mapeamento.


2
A página de ajuda não funcionou para mim. Eu tenho que usar :help terminal-emulator-input.
jasonszhao

3
Agora é apenas: h terminal-emulator

41

A resposta de @romainl está correta, mas eu gostaria de adicionar um pouco mais de informação para qualquer um que possa ter encontrado esse problema no google como eu fiz.

Diretamente dos documentos, obtemos esta nota:

O modo de terminal possui seu próprio namespace para mapeamentos, acessado com o prefixo "t". É possível usar mapeamentos de terminal para personalizar a interação com o terminal. Por exemplo, veja como mapear para sair do modo terminal:

:tnoremap <Esc> <C-\><C-n>

Com esse conhecimento, você provavelmente precisará criar alguns mapeamentos de terminal para se manter alinhado com o seu fluxo de trabalho atual (movimentação de guias / janelas, etc.)


Olá, configurei o mapeamento exato, mas estou pressionando <Esc> e nada acontece. Alguma idéia do porquê?
Kevin Burke

se você adicioná-lo do modo Ex, os resultados são os mesmos? pode ser a atualização do arquivo de configuração errado ..
Dan Bradbury

1
Obrigado. Isso me ajudou a adicionar o meu mapeamento preferido detnoremap kj <C-\><C-n>
Nick Merrill

2

Sair e fechar

tnoremap <Esc> <C-\><C-n>:q!<CR>

No Vim 8, isso também funciona:

tnoremap <ESC> <C-w>:q!<CR>

1
Você não precisa o Nem <c-w>N, você pode simplesmente pressionar :depois <c-w>. E se você realmente deseja fechar o Vim com todos os seus buffers e janelas abertos, :qa!pode ser a melhor escolha. Mas alguém perderia todas as mudanças nesse caso.
Christian Brabandt

1

Se você estiver usando o Tmux, poderá ter instalado algumas ligações "semelhantes ao vim" para mover-se nos painéis das janelas que, entre outras coisas, capturam o "C- \" antes que o Vim possa usá-lo. .tmux.confNesse caso, remova-os do seu e reinicie o tmux:

bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
bind-key -T copy-mode-vi C-\ select-pane -l

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.