VIM 8.2 Term Buffer Shortcut - PullRequest
       0

VIM 8.2 Term Buffer Shortcut

0 голосов
/ 14 марта 2020

В моем рабочем процессе я отобразил ctr + right и Ctr + left, чтобы переключать мои буферы в VIM. Однако всякий раз, когда я достигаю буфера терминала, терминал не перемещается в следующий буфер. Я думаю, что ключ не передается vim, а срок. Как сделать так, чтобы определенные ключи go проходили через терминал, чтобы я мог переключать буфер без мыши? Я использую windows 10 с GVIM 8.2.

1 Ответ

0 голосов
/ 14 марта 2020

Это, вероятно, происходит, когда ваш терминал находится в режиме вставки терминала, фиксируя нажатия клавиш и отправляя их в программу, работающую внутри терминала.

Вы по-прежнему можете создавать сопоставления для этих клавиш, используя команду :tnoremap. См. :help :tnoremap и :help mapmode-t.

Например:

tnoremap <C-Left> <C-w>h
tnoremap <C-Right> <C-w>l

(Не уверен, что это были фактические сопоставления, которые вы использовали в обычном режиме, или если вы использовали <C-w>W и <C-w>w. В любом случае, вы получите идею, используйте tnoremap для репликации сопоставлений и в режиме вставки терминала.)

ОБНОВЛЕНИЕ: Из вашего комментария вы переключаете буферы с этими сопоставлениями, поэтому они должны работать:

tnoremap <C-Left> <C-w>:bp<CR>
tnoremap <C-Right> <C-w>:bn<CR>

Они будут отличаться от сопоставлений обычного режима тем, что им нужен префикс <C-w>, который необходим для введите команду Ex с терминала в режиме вставки терминала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...