在 MacVim 中切换标签的快捷方式

Ye *_*ung 18 keyboard-shortcuts tabs macvim macos

在 MacVim 中是否有将选项卡从一个切换到另一个的快捷方式?

MacVim 选项卡

在 .vimrc 中自己绑定快捷方式的任何提示?+ 1 表示选项卡 1 和 ? + 2 表示选项卡 2。例如,像切换浏览器选项卡。

cse*_*lus 24

您当然可以使用 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
Run Code Online (Sandbox Code Playgroud)


小智 18

由于 MacVim 是 Mac OS 上的实际程序,因此您可以像在任何程序中映射命令一样映射选项卡切换(我个人最近才了解到)。

打开系统偏好设置,选择“键盘”,然后选择“应用程序快捷方式”(在左侧菜单中)。在右侧菜单下,单击加号 (+) 以添加新命令。为应用程序选择 MacVim,在菜单标题中输入“Select Next Tab”,然后选择一个快捷方式(我选择了 Cmd+右箭头)。然后对命令“选择上一个选项卡”执行相同的操作。

“选择下一个标签”和“选择上一个标签”可以在 MacVim 的“窗口”菜单下找到。您在应用程序的任何菜单中看到的任何选项都可以使用此方法重新映射。


小智 13

您可以选择下一个标签?+}选择上一个标签?+{

需要 shift 键不只是按 a[而不是 a}
所以快捷方式是?+ shift+]?+ shift+[
这个快捷方式适用于许多应用程序,即在终端中

  • 但这是一个 MacVim 键盘快捷键。命令键不会转换为终端 vim。 (2认同)

Hep*_*ite 5

我的 ~/.vimrc for 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
Run Code Online (Sandbox Code Playgroud)