切换到VIM中的特定选项卡

Sum*_*mit 55 vim tabs

我试图在VIM中从选项卡切换到另一个选项卡(可能与前一个选项卡不相邻).是否有任何快捷方式,就像我们有Ctrl- p/ Ctrl- n切换到相邻的标签?

此外,我试图编写一个键映射,它将一个变量作为函数的输入并执行操作.举例来说,假设我按Ctrl- 5和功能(由用户编写)将被调用,如输入5中给出,光标会去片5(如果有任何第五届选项卡打开).

你能否建议如何做到这一点?

Ant*_*ins 79

用于5gt切换到标签5

:tabn [ext] {count}

{计数} GT

转到标签页{count}.第一个标签页有第一个.

你也可以将它绑定到一个键:

:map <C-5> 5gt
:imap <C-5> <C-O>5gt
Run Code Online (Sandbox Code Playgroud)

(Ctrl-<number>某些终端的映射可能不同/不可能.Alt-<number>那么请考虑)

  • 那有点虎头蛇尾.在大胆和大写的文本之后,我期待更多......令人兴奋的事情.:) (34认同)
  • 要非常小心,不要混淆`:tabnext`和`tabNext` (4认同)
  • `:tabnext` =下一个标签; `:tabNext` =上一个标签 (3认同)

Jam*_*ley 19

只解决你的第一个问题,并引用help tabsvim:

{count}gt       Go to tab page {count}.  The first tab page has number one.
{count}gT       Go {count} tab pages back.  Wraps around from the first one
                to the last one.
Run Code Online (Sandbox Code Playgroud)

即,键入3gt到第三个选项卡,3gT从当前选项卡返回3个选项卡.

  • 不完全是.3gt移动到第三个选项卡,而不是3个选项卡 (2认同)

小智 5

只是为了共享直接跳转到特定选项卡的键映射。请将它们放入 _vimrc 并使其工作。

" Jump to particular tab directly
"NORMAL mode bindings for gvim
noremap <unique> <M-1> 1gt
noremap <unique> <M-2> 2gt
noremap <unique> <M-3> 3gt
noremap <unique> <M-4> 4gt
noremap <unique> <M-5> 5gt
noremap <unique> <M-6> 6gt
noremap <unique> <M-7> 7gt
noremap <unique> <M-8> 8gt
noremap <unique> <M-9> 9gt
noremap <unique> <M-0> 10gt

"INSERT mode bindings for gvim
inoremap <unique> <M-1> <C-O>1gt
inoremap <unique> <M-2> <C-O>2gt
inoremap <unique> <M-3> <C-O>3gt
inoremap <unique> <M-4> <C-O>4gt
inoremap <unique> <M-5> <C-O>5gt
inoremap <unique> <M-6> <C-O>6gt
inoremap <unique> <M-7> <C-O>7gt
inoremap <unique> <M-8> <C-O>8gt
inoremap <unique> <M-9> <C-O>9gt
inoremap <unique> <M-0> <C-O>10gt
Run Code Online (Sandbox Code Playgroud)