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 ?

Stephane Rolland
quelle

Antworten:

58

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

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

romainl
quelle
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.

Dan Bradbury
quelle
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>
Serge Stroobandt
quelle
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

Mark Stosberg
quelle