如何按数字在 vim 中的缓冲区之间切换



我正在使用 vim,我想按数字在缓冲区之间切换。 (例如,当我按下Ctrl+2vim 应该转到第二个缓冲区(

我应该用.vimrc写什么?

我建议:

" list buffers and jump to a chosen one
nnoremap <Leader>b :ls<CR>:b<Space>

命令:ls<CR>将列出所有打开的缓冲区,:b[uffer]<space>允许您键入ls显示的数字

我个人的.vimrc中有这样的东西:

map <F9> :bp<CR>
map <F10> :bn<CR>

如评论和:help keycodes中所述,数字 0-9 没有可用的映射。

我尝试使用map <C-k1> ...(因为键码中提供了这些(,但它不起作用。

答案取决于使用缓冲区的方法。

我使用以下三种方式:

  • 缓冲区显示在选项卡中;
  • 缓冲区显示在窗口中;
  • 缓冲区可以隐藏,用户使用当前窗口在缓冲区之间切换。

对于第一种情况,要在选项卡之间切换,您只需键入缓冲区编号,然后点击gt键。如果不合适,请为gt组合制作地图。

nnoremap <your_key_for_tab_switching> gt

就我自己而言,我将中间行的大写字母从"A"映射到"L",以便在选项卡之间切换,但这可能并不适合每个用户:

nnoremap A 1gt
nnoremap S 2gt
nnoremap D 3gt
...
nnoremap L 9gt

对于在窗口之间切换,我更喜欢"next"和"prev"命令:

nnoremap <your_keys_to_the_next> <c-w>w
nnoremap <your_keys_to_the_prev> <c-w>W

要在窗口中打开但当前隐藏的缓冲区之间切换,您可以:

nnoremap <your_shortcut_key> :buffer 
" there is a space after “buffer”

这正是你所要求的——"按数字"。但我认为这不是一种方便的方式。我更喜欢通过短名称在隐藏缓冲区之间切换,但这不是标准功能。

还有另一种方式 - 大写字母和数字作为标记。有关详细信息,请参阅help ma

还有一点建议:考虑使用类似字母的键盘键而不是数字键,因为它们的位置更靠近手指。

最新更新