Как мне сопоставить Ctrl-TAB с чем-то в Vim? - PullRequest
34 голосов
/ 30 октября 2009

Я бы хотел сопоставить Ctrl-TAB с gt в Vim, чтобы я мог переключать вкладки одним нажатием клавиши.

Я пытался ...

nmap <C-T> gt
nmap <C-Tab> gt
nmap <C-TAB> gt

Это не сработало. Как сказать «клавиша табуляции» в Vimese?

Ответы [ 7 ]

48 голосов
/ 30 октября 2009

Может отображаться в gvim, но терминалы не видят разницы между <Tab> и <C-Tab>.

13 голосов
/ 30 октября 2009

Вы не можете. Вкладка уже является клавишей управления, <C-i>.

8 голосов
/ 04 февраля 2014

Работает на gVim. Просто добавьте это в конец вашего файла ~ / .gvimrc:

" Add keyboard shortcuts
map <C-Tab> gt
map <C-S-Tab> gT
3 голосов
/ 11 марта 2012

Я использую терминал mintty в cygwin. Этот терминал может использовать ctrl-tab для циклического переключения между различными экземплярами cygwing или, альтернативно, вы можете использовать для перехода к следующему или предыдущему окну screen (поэтому ctrl-tab делает то же самое, что и ctrl-a+n и s-ctrl-tab делает то же самое, что и ctrl-a+p. Это последнее поведение, на мой взгляд, очень удобно. Проверка

Using_Ctrl + Tab_to_switch_session_in_GNU_Screen

1 голос
/ 08 февраля 2019

мерзавец (мятный)

Сначала отключите опцию Переключить окно в Опции > Ключи . Тогда вы можете использовать следующие карты.

Примечание: вы не можете просто скопировать и вставить их в .vimrc. Вместо этого, где ^[[1;6I, вам нужно нажать Ctrl-V в режиме вставки, а затем набрать Ctrl-Shift-Tab. То же самое касается ^[[1;5I и Ctrl-Tab.

nnoremap ^[[1;6I :tabprevious<CR>
nnoremap ^[[1;5I :tabnext<CR>
inoremap ^[[1;6I <Esc>:tabprevious<CR>
inoremap ^[[1;5I <Esc>:tabnext<CR>
1 голос
/ 26 февраля 2016

Если вы на Mac, то вы можете использовать Карабин для переназначения клавиш. Вот как это можно сделать пошагово:

  1. Откройте настройки Karabiner> вкладка «Разное и удалить», нажмите «открыть private.xml», чтобы открыть его в редакторе выбора
  2. Внутри узла <root> добавьте следующую конфигурацию

    <item>
      <name>c-tab to s-tab LEFT</name>
      <identifier>private.ctabtostabl</identifier>
      <autogen>
    __KeyToKey__
    KeyCode::TAB, ModifierFlag::CONTROL_L,
    KeyCode::TAB, ModifierFlag::SHIFT_L
      </autogen>
    </item>
    <item>
      <name>c-tab to s-tab RIGHT</name>
      <identifier>private.ctabtostabr</identifier>
      <autogen>
    __KeyToKey__
    KeyCode::TAB, ModifierFlag::CONTROL_R,
    KeyCode::TAB, ModifierFlag::SHIFT_R
      </autogen>
    </item>
    
  3. После сохранения файла XML вернитесь в настройки Karabiner, на этот раз на вкладку «Изменить ключ», нажмите кнопку «Перезагрузить XML» и проверьте новые параметры. Теперь ваша вкладка должна стать shift-вкладкой!

step 3 screenshot

0 голосов
/ 30 октября 2009

Это сработало для меня в MacVim

:map <C-Tab> gt

Работает в командном режиме. Не в режиме редактирования.
В моем терминале не работает vim.

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