在缓冲区之间快速切换?

时间:2012-11-09 16:45:12

标签: vim

我打开了很多缓冲区,然后在Ctrl+wCtrl+[movement key]之间切换。有没有更好的办法?因为这样当我要做多个动作时,我最终不得不按下4个键。

3 个答案:

答案 0 :(得分:7)

如果您想在 windows 之间移动,您始终可以将Ctrl-W, H/J/K/L映射到您想要的任何内容:

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

如果要在缓冲区之间移动,可以使用:buffer命令,打印要转到的文件名的一部分:按Tab将循环显示名称中包含此部分的所有文件。例如,您希望显示文件名为'some_long_c_file.c'的缓冲区,并且您知道您没有任何其他名称以'file.c'结尾的已打开文件:只需键入:buffer file.c并按Tab(甚至'ile.c'或更短),这将完成它'some_long_c_file.c'。

要在最后两个缓冲区之间快速切换,请使用Ctrl-^

答案 1 :(得分:1)

我发现这样做的最好方法是安装bufexplorer.vim。这样,您就可以快速切换到可以选择任何缓冲区的屏幕。你也可以关闭缓冲区等。

这是我的vim与bufexplorer打开的屏幕截图,显示了它的帮助屏幕:

enter image description here

答案 2 :(得分:0)

对我来说,解决方案是双重的:

1)使用unimpaired - 所以]b[b

2)映射:b#以切换到上一个缓冲区。我用了map <cr> :b#<cr>。 (所以输入键会在两个打开的缓冲区之间来回切换)。