15

Есть ли в MacVim ярлыки для переключения вкладок с одной на другую?

MacVim Tabs

Любые советы, как связать ярлыки в .vimrc, например ⌘ + 1 для Tab 1 и ⌘ + 2 для Tab 2. Например, как переключение вкладок браузера.

5 ответов5

17

Конечно, вы можете изменить сочетания клавиш с помощью системных настроек OSX для вашей клавиатуры, как показано здесь: Как переназначить любой ярлык клавиатуры в Mac OS X

Некоторые могут предпочесть сделать это через свой .vimrc:

if has("gui_macvim")
  " Press Ctrl-Tab to switch between open tabs (like browser tabs) to 
  " the right side. Ctrl-Shift-Tab goes the other way.
  noremap <C-Tab> :tabnext<CR>
  noremap <C-S-Tab> :tabprev<CR>

  " Switch to specific tab numbers with Command-number
  noremap <D-1> :tabn 1<CR>
  noremap <D-2> :tabn 2<CR>
  noremap <D-3> :tabn 3<CR>
  noremap <D-4> :tabn 4<CR>
  noremap <D-5> :tabn 5<CR>
  noremap <D-6> :tabn 6<CR>
  noremap <D-7> :tabn 7<CR>
  noremap <D-8> :tabn 8<CR>
  noremap <D-9> :tabn 9<CR>
  " Command-0 goes to the last tab
  noremap <D-0> :tablast<CR>
endif
17

Поскольку MacVim является реальной программой для Mac OS, вы можете отобразить переключение вкладок так же, как вы отображаете команды в любой программе (о которой я лично недавно узнал).

Откройте Системные настройки, выберите "Клавиатура", затем "Ярлыки приложений" (в левом меню). Под меню справа нажмите на плюс (+), чтобы добавить новую команду. Выберите MacVim для приложения, а для заголовка меню введите "Выбрать следующую вкладку" и выберите ярлык (я выбрал Cmd+ стрелка вправо). Затем сделайте то же самое для команды "Выбрать предыдущую вкладку".

"Выбрать следующую вкладку" и "Выбрать предыдущую вкладку" находятся в MacVim в меню "Окно". Любая опция, которую вы видите в любом меню приложения, может быть переназначена с помощью этого метода.

10

Вы можете выбрать следующую вкладку с помощью +} и выбрать предыдущую вкладку с помощью +{

Клавиша Shift требуется, чтобы не просто нажать [ вместо a }
Таким образом, это сочетание клавиш +shift+] или +shift+[
Этот ярлык работает во многих приложениях, т.е. в Терминале

5

В моем ~/.vimrc для Linux есть следующее. Вы должны иметь возможность изменить последовательность « <M- » на « <D- », чтобы получить то, что вы хотите:

" Meta+1-0 jumps to tab 1-10, Shift+Meta+1-0 jumps to tab 11-20:
let s:windowmapnr = 0
let s:wins='1234567890!@#$%^&*()'
while (s:windowmapnr < strlen(s:wins))
    exe 'noremap <silent> <M-' . s:wins[s:windowmapnr] . '> ' . (s:windowmapnr + 1) . 'gt'
    exe 'inoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-O>' . (s:windowmapnr + 1) . 'gt'
    exe 'cnoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-C>' . (s:windowmapnr + 1) . 'gt'
    exe 'vnoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-C>' . (s:windowmapnr + 1) . 'gt'
    let s:windowmapnr += 1
endwhile
unlet s:windowmapnr s:wins
3

В дополнение к созданию собственных отображений, есть встроенные ярлыки VIM. Попробуйте число, за которым следует gt . Например: 3gt переводит вас на 3-ю вкладку. Вы также можете просто нажать gt чтобы перейти на следующую вкладку, или gT чтобы перейти на предыдущую.

(Начиная с vim 7. что-то, вкладки запекались даже в текстовой версии без gvim.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .