Выход из режима терминала в Neovim

60

Я не могу понять, как вернуться в Normalрежим после входа Terminalв Insertрежим ...

Побег, похоже, не работает.

Любая идея ?

Стефан Роллан
источник

Ответы:

58

Вы должны нажать <C-\><C-n>.

Смотрите :help terminal-emulatorдля сопоставления предложения.

romainl
источник
2
Страница справки не работает для меня. Я должен использовать :help terminal-emulator-input.
jasonszhao
3
Теперь это просто: h терминал-эмулятор
41

Ответ @romainl правильный, но я хотел бы добавить немного больше информации для тех, кто, возможно, натолкнулся на это в Google.

Непосредственно из документов мы получаем эту заметку:

Режим терминала имеет свое собственное пространство имен для сопоставлений, доступ к которому осуществляется с помощью префикса «t». Можно использовать сопоставления терминалов для настройки взаимодействия с терминалом. Например, вот как сопоставить, чтобы выйти из режима терминала:

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

Обладая этими знаниями, вам, скорее всего, понадобится создать некоторые сопоставления терминалов, чтобы оставаться в курсе вашего текущего рабочего процесса (перемещение вкладок / окон и т. Д.)

Дэн Брэдбери
источник
Привет, я настроил это точное отображение, но я нажимаю <Esc>, и ничего не происходит. Есть идеи почему?
Кевин Берк
если вы добавите его из режима Ex, результаты будут одинаковыми? может обновлять неправильный файл конфигурации ..
Дэн Брэдбери
1
Благодарю. Это помогло мне добавить мое предпочтительное отображениеtnoremap kj <C-\><C-n>
Ник Меррилл
2

Выход и закрытие

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

В Vim 8 это также работает:

tnoremap <ESC> <C-w>:q!<CR>
Серж Строобандт
источник
1
Вам не нужно Nин <c-w>N, вы можете просто нажать :после <c-w>. И если вы действительно хотите закрыть Vim со всеми открытыми буферами и окнами, то это :qa!может быть лучшим выбором. Но в этом случае можно потерять все изменения.
Кристиан Брабандт
1

Если вы используете 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

Марк Стосберг
источник