切换到VIM中的特定选项卡

时间:2010-01-05 10:00:37

标签: vim tabs

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

另外,我正在尝试编写一个键映射,它将一个变量作为函数的输入并执行操作。例如,假设我按 Ctrl - 5 并调用一个函数(由用户编写)并作为输入5给出,光标将转到选项卡5 (如果有任何第五个标签打开)。

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

3 个答案:

答案 0 :(得分:78)

使用5gt切换到标签5

  

:tabn [ext] {count}

     

{计数} GT

     

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

您也可以将其绑定到密钥:

:map <C-5> 5gt
:imap <C-5> <C-O>5gt

(对于某些终端,映射Ctrl-<number>可能不同/不可能。请考虑Alt-<number>然后

答案 1 :(得分:19)

仅解决您的第一个问题,并在vim中引用help tabs

{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.

即,键入3gt转到第三个标签,3gT从当前标签返回3个标签。

答案 2 :(得分:2)

仅用于共享键映射以直接跳转到特定选项卡。请将它们放入_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