Я не могу понять, как вернуться в Normal
режим после входа Terminal
в Insert
режим ...
Побег, похоже, не работает.
Любая идея ?
Я не могу понять, как вернуться в Normal
режим после входа Terminal
в Insert
режим ...
Побег, похоже, не работает.
Любая идея ?
Ответы:
Ответ @romainl правильный, но я хотел бы добавить немного больше информации для тех, кто, возможно, натолкнулся на это в Google.
Непосредственно из документов мы получаем эту заметку:
Режим терминала имеет свое собственное пространство имен для сопоставлений, доступ к которому осуществляется с помощью префикса «t». Можно использовать сопоставления терминалов для настройки взаимодействия с терминалом. Например, вот как сопоставить, чтобы выйти из режима терминала:
:tnoremap <Esc> <C-\><C-n>
Обладая этими знаниями, вам, скорее всего, понадобится создать некоторые сопоставления терминалов, чтобы оставаться в курсе вашего текущего рабочего процесса (перемещение вкладок / окон и т. Д.)
tnoremap kj <C-\><C-n>
tnoremap <Esc> <C-\><C-n>:q!<CR>
В Vim 8 это также работает:
tnoremap <ESC> <C-w>:q!<CR>
N
ин <c-w>N
, вы можете просто нажать :
после <c-w>
. И если вы действительно хотите закрыть Vim со всеми открытыми буферами и окнами, то это :qa!
может быть лучшим выбором. Но в этом случае можно потерять все изменения.
Если вы используете Tmux, возможно, вы установили некоторые «vim-подобные» привязки для перемещения по оконным панелям, которые, помимо прочего, захватывают «C- \», прежде чем Vim сможет его использовать. Если это так, удалите их из вашего .tmux.conf
и перезапустите 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
.