Nie mogę wymyślić, jak wrócić do Normal
trybu po wejściu Terminal
w Insert
tryb ...
Wydaje się, że Escape nie działa.
Dowolny pomysł ?
Nie mogę wymyślić, jak wrócić do Normal
trybu po wejściu Terminal
w Insert
tryb ...
Wydaje się, że Escape nie działa.
Dowolny pomysł ?
Odpowiedzi:
Odpowiedź @romainl jest prawidłowa, ale chciałem dodać trochę więcej informacji dla każdego, kto mógł natknąć się na to z Google tak jak ja.
Bezpośrednio z dokumentów otrzymujemy tę notatkę:
Tryb terminalowy ma własną przestrzeń nazw dla mapowań, do której można uzyskać dostęp za pomocą prefiksu „t”. Możliwe jest użycie odwzorowań terminali w celu dostosowania interakcji z terminalem. Na przykład, oto jak zmapować, aby wyjść z trybu terminala:
:tnoremap <Esc> <C-\><C-n>
Mając tę wiedzę, najprawdopodobniej będziesz musiał utworzyć mapowania terminali, aby zachować zgodność z bieżącym przepływem pracy (ruch tabulatorów / okien itp.)
tnoremap kj <C-\><C-n>
tnoremap <Esc> <C-\><C-n>:q!<CR>
W Vimie 8 działa to również:
tnoremap <ESC> <C-w>:q!<CR>
N
in <c-w>N
, można po prostu nacisnąć :
po <c-w>
. A jeśli naprawdę chcesz zamknąć Vima ze wszystkimi jego otwartymi buforami i oknami, :qa!
może to być lepszy wybór. Ale w takim przypadku można by stracić wszystkie zmiany.
Jeśli używasz Tmuxa, być może zainstalowałeś jakieś „podobne do vima” wiązania, aby poruszać się w oknach okien, które między innymi chwytają „C- \”, zanim Vim będzie mógł z niego skorzystać. Jeśli tak, usuń je .tmux.conf
i zrestartuj 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
:help terminal-emulator-input
.