我正在使用 vim-airline 插件,它的功能非常好。然而,切换选项卡的唯一方法是使用 :bp 或 :bn
快捷键,它们分别代表 :bprevious 或 :bnext
。问题在于,如果我在第一个选项卡上,并且想要切换到最后一个选项卡,即第10个选项卡,则必须输入 :bn
十次才能到达这里。有什么直接切换的方法吗? 也许按下 箭头键
会更方便。
我正在使用 vim-airline 插件,它的功能非常好。然而,切换选项卡的唯一方法是使用 :bp 或 :bn
快捷键,它们分别代表 :bprevious 或 :bnext
。问题在于,如果我在第一个选项卡上,并且想要切换到最后一个选项卡,即第10个选项卡,则必须输入 :bn
十次才能到达这里。有什么直接切换的方法吗? 也许按下 箭头键
会更方便。
:bnext
:bprevious
:bfirst
:blast
:b10
:b <buffer-name>
当然,这些都可以映射到你的方便之中。
但是...那个插件不显示缓冲区号码,所以你不能使用:b10
可靠地跳转到你虚假的“标签行”中的第十个缓冲区,这就是你工具箱中少了一项工具。
而且一些特殊的缓冲区,比如快速修复列表,可以通过:bn
/:bn
来访问,而不会在你虚假的“标签行”中列出,因此即使不考虑选项卡的明显限制,你的虚假“标签行”也是一个相当差的抽象。
还有那个虚假“标签行”的特异性行为,当你实际使用选项卡页面时,它变成了一个半真实的“标签行”。
将两个非常不同的概念 —— 在各自的方式上都非常强大 —— 混为一谈,并不是一个好主意。
我建议你禁用该选项,按照它们预期的方式使用缓冲区和选项卡页面。
参考:
:help buffers
:help tab-page
:help buffers
);如果你使用选项卡页,请使用选项卡页命令(:help tab-page
)。 - romainl同意@romainl的意见,但是你可以将+tab映射为:bn或:bp以简化操作。
" 类似于Firefox的标签导航。
nnoremap <C-S-tab> :bprevious<CR>
nnoremap <C-tab> :bnext<CR>
除了Rafi的答案之外,将以下内容添加到您的.vimrc文件中即可直接访问缓冲区/航空标签。
nmap <leader>1 :bfirst<CR>
nmap <leader>2 :bfirst<CR>:bn<CR>
nmap <leader>3 :bfirst<CR>:2bn<CR>
nmap <leader>4 :bfirst<CR>:3bn<CR>
...
或者,你可以选择加倍使用航空公司
let g:airline#extensions#tabline#buffer_idx_mode = 1
nmap <leader>1 <Plug>AirlineSelectTab1
nmap <leader>2 <Plug>AirlineSelectTab2
<Plug>AirlineSelectTab
键,而将它们映射到方便的按键序列则由你自己决定。 let g:airline#extensions#tabline#buffer_idx_mode = 1
nmap <leader>1 <Plug>AirlineSelectTab1
nmap <leader>2 <Plug>AirlineSelectTab2
nmap <leader>3 <Plug>AirlineSelectTab3
nmap <leader>4 <Plug>AirlineSelectTab4
nmap <leader>5 <Plug>AirlineSelectTab5
nmap <leader>6 <Plug>AirlineSelectTab6
nmap <leader>7 <Plug>AirlineSelectTab7
nmap <leader>8 <Plug>AirlineSelectTab8
nmap <leader>9 <Plug>AirlineSelectTab9
nmap <leader>0 <Plug>AirlineSelectTab0
nmap <leader>- <Plug>AirlineSelectPrevTab
nmap <leader>+ <Plug>AirlineSelectNextTab
nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>
nnoremap <C-Up> :tabfirst<CR>
nnoremap <C-Down> :tablast<CR>
" Tab navigation (works only in gvim, not in console)
nnoremap <C-tab> gt
nnoremap <C-S-tab> gT