用于在标签周围移动的Vim键盘快捷键

时间:2012-09-22 18:52:12

标签: vim tabs keyboard

我以前知道这个键盘快捷键会让你在终端中移动Vim标签,类似于浏览器中的 Ctrl + 标签

我一直在寻找互联网,我再也找不到了。有什么想法吗?

P.S。:你必须同时按下两个字母。

10 个答案:

答案 0 :(得分:28)

gt:tabnextgT :tabprevious的键盘快捷键。

如果您更喜欢典型的 Ctrl + 标签,请在~/.vimrc中定义以下映射:

" CTRL-Tab is next tab
noremap <C-Tab> :<C-U>tabnext<CR>
inoremap <C-Tab> <C-\><C-N>:tabnext<CR>
cnoremap <C-Tab> <C-C>:tabnext<CR>
" CTRL-SHIFT-Tab is previous tab
noremap <C-S-Tab> :<C-U>tabprevious<CR>
inoremap <C-S-Tab> <C-\><C-N>:tabprevious<CR>
cnoremap <C-S-Tab> <C-C>:tabprevious<CR>

答案 1 :(得分:8)

这取自Vim Wikia:

gt            go to next tab
gT            go to previous tab
{i}gt         go to tab in position i

http://vim.wikia.com/wiki/Using_tab_pages

希望有所帮助。

答案 2 :(得分:4)

也许

  • 控制 + 上一页
  • 控制 + 下页

?但如果你有一些gnome-terminal选项卡和vim终端选项卡,它就不起作用。你需要

  • 控制 + 替代 + 上一页
  • 控制 + 替代 + 下页

表示vim和

  • 控制 + 上一页
  • 控制 + 下页

用于gnome-terminal。

答案 3 :(得分:3)

g + t g + T 是Vim跳转到下一个&amp; amp的快捷键;以前的标签。

您可以使用<C-Tab><C-S-Tab>在Vim中进行映射,但您可能需要帮助终端生成正确的密钥代码。视您的终端而定,

urxvt ,添加到您的.Xresources文件中:

URxvt*keysym.C-Tab:    \033[27;5;9~
URxvt*keysym.C-S-Tab:  \033[27;6;9~

Alacritty ,在key_bindings下,将以下内容添加到您的~/.config/alacritty/alacritty.yml

- { key: Tab,  mods: Control,        chars: "\x1b[27;5;9~" }
- { key: Tab,  mods: Control|Shift,  chars: "\x1b[27;6;9~" }

答案 4 :(得分:2)

对某些人来说这可能有点极端,但你可以这样做:

nmap <Left> gT
nmap <Right> gt

事实证明,在正常模式下你真的不需要箭头键(只需使用hjkl键进行导航),你不需要在编辑模式下更改标签。无论如何使用gt和gT更改标签是荒谬的。

答案 5 :(得分:1)

最好是映射您的“L”和“H”键,因为它们也是光标移动的键(分别是左右键),我们不需要记住任何东西。

地图 gt

地图 gT

这可能是导航选项卡的最自然方式,无需练习或记住任何内容。只需按:Ctrl+L(或长按 L 以进一步导航)。同样,如果您想向左导航,请按 Ctrl+H。

尝试一下,只有这样你才能理解它的好处,因为映射的键与用于光标的键相同

答案 6 :(得分:0)

:nmap <C-S-tab> :tabprevious<cr>
:nmap <C-tab> :tabnext<cr>
:nmap <C-t> :tabnew<cr>
:map <C-t> :tabnew<cr>
:map <C-S-tab> :tabprevious<cr>
:map <C-tab> :tabnext<cr>
:map <C-w> :tabclose<cr>
:imap <C-S-tab> <ESC>:tabprevious<cr>i
:imap <C-tab> <ESC>:tabnext<cr>i
:imap <C-t> <ESC>:tabnew<cr>

答案 7 :(得分:0)

通过@Mickey答案添加更多快捷方式

gt    -   go to next tab
gT    -   go to previous tab
{i}gt -   go to tab in position i
1gt   -   go to first tab
1gT   -   go to last tab

答案 8 :(得分:0)

试试这个:

方式一:

<块引用>

如果您想以垂直或水平方式在几个选项卡之间快速切换。

Ctrl + w w

方式2:

<块引用>

还有,如果你想灵活地通过方向键切换。

Ctrl + w + 从键盘上举手,然后 + / / /

答案 9 :(得分:-1)

我个人喜欢这个.vimrc

" easy tab switching
nmap gm :bp<cr>
nmap gn :bn<cr>
nmap go :BD<cr>

gm转到下一个标签,gn返回一个标签,然后go将关闭标签。 单个小帽g没有被使用所以我用它来完成我的大部分命令