我正在使用 vim,我想按数字在缓冲区之间切换。 (例如,当我按下Ctrl+2
vim 应该转到第二个缓冲区(
我应该用.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> ...
(因为键码中提供了这些(,但它不起作用。
答案取决于使用缓冲区的方法。
我使用以下三种方式:
- 缓冲区显示在选项卡中;
- 缓冲区显示在窗口中;
- 缓冲区可以隐藏,用户使用当前窗口在缓冲区之间切换。
对于第一种情况,要在选项卡之间切换,您只需键入缓冲区编号,然后点击g
和t
键。如果不合适,请为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
。
还有一点建议:考虑使用类似字母的键盘键而不是数字键,因为它们的位置更靠近手指。