Vim Tab OSX中的下一个/上一个快捷方式

时间:2016-03-03 08:49:30

标签: macos vim keyboard-shortcuts ctags

我已开始使用vim with ctags and tabs

enter image description here

将以下内容添加到我的~/.vimrc

map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>

Ctrl + \ 打开新标签中当前单词的ctags定义。

但是,标签切换仍然很痛苦,并且使用:tabn:tabp手动完成。

我试过了following ~/.vimrc shortcuts

nnoremap <C-Left> :tabp<CR>
nnoremap <C-Right> :tabn<CR>

没有运气 - Ctrl + Ctrl + 什么都不做。

知道如何将 Ctrl + Ctrl + 映射到tab-next和OSX上的vim中的tab-prev?

2 个答案:

答案 0 :(得分:1)

您所看到的是gtgT命令。

gt  - takes you to next tab
gT  - takes you to previous tab

他们可以选择count,例如3gt将您转到下一个3个标签。

答案 1 :(得分:0)

如果您还在那儿,我相信我知道您的意思亚当。我喜欢稍微快一点而不必输入和弦(shift-;)。

只需直接回答一个简单的问题,以下映射将ctrl-left和ctrl-right箭头键分别映射到tabprevtabnext

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>

将这些行添加到您的vimrc中以使其永久。这在MacVim中对我有用。您将在这里找到更多信息:https://vim.fandom.com/wiki/Using_tab_pages

但是您也可能要考虑以下内容。使用单个选项卡时,将“ vim光标键”(hjkl)与ctrl映射以浏览水平和垂直拆分/窗口效果很好(C-表示ctrl):

nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

但是,如果像我一样,您往往总是只使用水平分割,则可以只映射<C-j><C-k>以便在分割之间(上下)进行切换并重新映射<C-h><C-l>(左右)以更改标签。当然,您可以使用箭头键执行相同的操作,或同时执行这两个操作!:

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
nnoremap <C-h> :tabprevious<CR>
nnoremap <C-l> :tabnext<CR>
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k

某些用户可能会发现“ vim光标键”更接近其正常手指位置,并且更加一致和直观。这里有一些其他建议:https://vim.fandom.com/wiki/Alternative_tab_navigation

使用:help map-overview可以更好地理解映射命令。 nnoremap仅在正常模式下安装映射,并且不允许递归定义,因此不会再次重新映射该映射。