在vim中,如何快速切换标签页?

Mat*_*hew 211 linux terminal vim tabs gnome-terminal

在侏儒末端,我可以只按Alt+( ,,等)切换到特定的标签。我还可以使用+ ( / ) 来循环切换选项卡(诚然不太方便,但可以重新映射)。123CtrlPgUpPgDn

如果我想使用 vim 选项卡而不是 gnome-terminal 选项卡,输入:tabn:tabp非常麻烦。我可以将它们映射到键盘快捷键,但这仍然比使用Alt+直接跳转到选项卡 4 方便得多4

有没有更快的方法在 vim 中的选项卡之间切换?

eph*_*ent 336

下一个标签: gt

先前选项卡: gT

编号标签: nnngt

  • 将功能键映射到 `nnn` `g` `t` 怎么样?例如,`:map <F2> 2gt`。GNOME 经常将`<F1>` 映射到它的帮助工具,这是一个问题。或者你可以选择一些你在正常模式下不经常使用的键,比如逗号,并像这样映射它:`:map , gt`。然后 `1,` 将带您到选项卡 1,`2,` 到选项卡 2,依此类推。 (11认同)
  • 我发现使用 '<' 和 '>' 非常方便 (4认同)
  • 我知道我可以输入`nnn``g``t`,但我想*快速*,即`Alt + nnn` 或`Ctrl + nnn`。但是 `Alt + n` 已经被 gnome-terminal 占用了,绑定到 `Ctrl + n` 似乎没有任何效果。 (2认同)
  • 最后一个选项卡:`:tabl` 命令(完整形式:`:tablast`)。 (2认同)

小智 61

为什么不利用你的领导(我的领导被映射到Space):

" Go to tab by number
noremap <leader>1 1gt
noremap <leader>2 2gt
noremap <leader>3 3gt
noremap <leader>4 4gt
noremap <leader>5 5gt
noremap <leader>6 6gt
noremap <leader>7 7gt
noremap <leader>8 8gt
noremap <leader>9 9gt
noremap <leader>0 :tablast<cr>
Run Code Online (Sandbox Code Playgroud)

您可以使用以下设置在当前和最后一个活动选项卡之间切换(这里它映射到Ctrl+ L,即<c-l>):

" Go to last active tab

au TabLeave * let g:lasttab = tabpagenr()
nnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr>
vnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr>
Run Code Online (Sandbox Code Playgroud)

  • 你需要 `au TabLeave * let g:lasttab = tabpagenr()` 才能让 `cl` 工作:http://stackoverflow.com/questions/2119754/switch-to-last-active-tab-in-vim (2认同)
  • 我会为“gT”和“gt”添加“&lt;leader&gt;h/l” (2认同)

Arn*_*las 39

这是我发现的最简单的方法,可以更快更简单地在选项卡之间切换。
将下一行添加到您的 .vimrc 并享受它,更多关于 vim 选项卡的技巧在这里

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
Run Code Online (Sandbox Code Playgroud)

现在您可以使用Ctrl 向左走和Ctrl 向右走。

或者只是使用:
1gt转到选项卡一,
2gt转到选项卡二,
3gt转到选项卡三等......现在你有了这个想法。

  • 使用箭头键会减慢你的速度。我已禁用它们 (3认同)

小智 27

由于我在 Mac 上并且不使用 MacVim(但在终端中使用普通 vim),因此我在无法将组合键发送到终端时遇到了一些困难。

最兼容(对我来说也是最舒服)的快速切换标签页的方式来自Vim Wikia 站点

放置在您的.vimrc文件中:

nnoremap H gT
nnoremap L gt
Run Code Online (Sandbox Code Playgroud)

现在,Shift-h(大写的H)和Shift-l(大写L)就会快速切换你的选项卡之间,并且遵循该公约h,并l对应于左,右一个普通的QWERTY键盘上的活力。


Ign*_*ams 5

(不幸的是)vim 也使用CtrlPgDn/PgUp循环切换选项卡。您需要使用maptabn/映射tabp到可用的东西。