Вихід із режиму терміналу в Neovim


59

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

Врятуватися, здається, не працює.

Будь-яка ідея?

Відповіді:


57

Ви повинні тиснути <C-\><C-n>.

Див :help terminal-emulator. Пропозицію щодо картографування.


2
Сторінка довідки для мене не працювала. Я маю користуватися :help terminal-emulator-input.
jasonszhao

3
Тепер просто: h terminal-emulator

40

Відповідь @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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.