Quitter le mode Terminal dans Neovim

60

Je n'arrive pas à comprendre comment revenir en Normalmode après être entré Terminalen Insertmode ...

Échapper ne semble tout simplement pas fonctionner.

Une idée ?

Stéphane Rolland
la source

Réponses:

58

Vous êtes censé appuyer <C-\><C-n>.

Voir :help terminal-emulatorpour une suggestion de cartographie.

romainl
la source
2
La page d'aide n'a pas fonctionné pour moi. Je dois utiliser :help terminal-emulator-input.
jasonszhao
3
Maintenant, c'est juste: h terminal-emulator
41

La réponse de @romainl est correcte, mais je voulais ajouter un peu plus d’informations à ceux qui ont pu tomber sur Google, comme je l’ai fait.

Directement des docs nous obtenons cette note:

Le mode Terminal possède son propre espace de noms pour les mappages, auquel on accède avec le préfixe "t". Il est possible d'utiliser des mappages de terminaux pour personnaliser les interactions avec le terminal. Par exemple, voici comment mapper pour quitter le mode terminal:

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

Sachant cela, vous aurez probablement besoin de créer des mappages de terminaux pour rester en ligne avec votre flux de travail actuel (déplacement des onglets / fenêtres, etc.).

Dan Bradbury
la source
Bonjour, j’ai mis en place ce mappage exact, mais j’appuie sur <Échap> et rien ne se passe. Une idée pourquoi?
Kevin Burke
si vous l'ajoutez du mode Ex, les résultats sont-ils les mêmes? pourrait mettre à jour le mauvais fichier de configuration ..
Dan Bradbury
1
Merci. Cela m'a aidé à ajouter ma cartographie préférée detnoremap kj <C-\><C-n>
Nick Merrill
2

Quitter et fermer

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

Dans Vim 8, cela fonctionne aussi:

tnoremap <ESC> <C-w>:q!<CR>
Serge Stroobandt
la source
1
Vous n'avez pas besoin de l' Nin <c-w>N, vous pouvez simplement appuyer :après <c-w>. Et si vous voulez vraiment fermer Vim avec tous ses tampons ouverts et toutes ses fenêtres, :qa!ce sera peut-être le meilleur choix. Mais on perdrait tous les changements dans ce cas.
Christian Brabandt
1

Si vous utilisez Tmux, vous avez peut-être installé des liaisons "vim-like" pour vous déplacer dans les fenêtres, ce qui permet notamment de saisir le "C- \" avant que Vim ne puisse l'utiliser. Si oui, supprimez-les .tmux.confet redémarrez 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

Mark Stosberg
la source