Verlassen Sie den Terminal-Modus in Neovim


60

Ich kann nicht herausfinden , wie man zurück gehen NormalModus nach der Eingabe Terminalin InsertModus ...

Flucht scheint einfach nicht zu funktionieren.

Irgendeine Idee ?

Antworten:


58

Sie sollen drücken <C-\><C-n>.

Siehe :help terminal-emulatorfür einen Mapping-Vorschlag.


2
Die Hilfeseite hat bei mir nicht funktioniert. Ich muss verwenden :help terminal-emulator-input.
Jasonszhao

3
Jetzt ist es nur noch: h terminal-

41

Die Antwort von @romainl ist richtig, aber ich wollte ein bisschen mehr Informationen für alle hinzufügen, die wie ich von Google darauf gestoßen sind.

Direkt aus den Dokumenten erhalten wir diesen Hinweis:

Der Terminalmodus verfügt über einen eigenen Namespace für Zuordnungen, auf den mit dem Präfix "t" zugegriffen wird. Mithilfe von Terminalzuordnungen können Sie die Interaktion mit dem Terminal anpassen. So ordnen Sie beispielsweise zu, dass der Terminalmodus beendet wird:

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

Mit diesem Wissen müssen Sie höchstwahrscheinlich einige Terminalzuordnungen erstellen, um mit Ihrem aktuellen Workflow (Tabulator- / Fensterbewegung usw.) Schritt zu halten.


Hallo, ich habe das genaue Mapping eingerichtet, drücke aber <Esc> und es passiert nichts. Irgendeine Idee warum?
Kevin Burke

Wenn Sie es aus dem Ex-Modus hinzufügen, sind die Ergebnisse gleich? Möglicherweise wird die falsche Konfigurationsdatei aktualisiert.
Dan Bradbury

1
Vielen Dank. Dies hat mir geholfen, meine bevorzugte Zuordnung vontnoremap kj <C-\><C-n>
Nick Merrill

2

Beenden und schließen

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

In Vim 8 funktioniert das auch:

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

1
Sie können als nicht brauchen Nin <c-w>N, können Sie drücken Sie einfach :nach <c-w>. Und wenn Sie Vim mit all seinen offenen Puffern und Fenstern wirklich schließen möchten, ist dies :qa!möglicherweise die bessere Wahl. Aber in diesem Fall würde man alle Änderungen verlieren.
Christian Brabandt

1

Wenn Sie Tmux verwenden, haben Sie möglicherweise einige "vim-ähnliche" Bindungen installiert, um sich in den Fensterscheiben zu bewegen, die unter anderem das "C- \" greifen, bevor Vim die Möglichkeit hat, es zu verwenden. Wenn ja, entferne diese von deinem .tmux.confund starte tmux neu:

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.