共计 806 个字符,预计需要花费 3 分钟才能阅读完成。
Buffer 听起来很高大尚,实际上的功能和 Tab、window 是一模一样的。只是这些东西的内在实现不一样而已了。
Buffer 是 Vim 自带的多文件编辑方式,有了它其实你不用单装 Nerdtree 插件来实现多标签编辑。这是看个人习惯吧。虽然我已经习惯了用 Nerdtree 做多文件多标签编辑,但是学习一下 Vim 自带的 buffer 方式也不错。
参考:Vim 多文件编辑:缓冲区
注意:默认来讲,如果你修改了文件但还没保存,是不能切换 buffer 的。但是这样会很不方便,不像切换 tab 一样。我们可以在 vimrc 中设置来取消这个限制:
set hidden
但是要知道,没有保存的话,是不能关闭 buffer 的。
怎样开启 buffer?实际上,buffer 一直在开启着。这是你每次用:e file 切换文件,或者在 Nerdtree 上按 o 打开文件,都是把当前的画面切换成了新文件你没有注意到而已。实际上背后的 buffer 一直都在,你只要打开过一次的,都可以切换回去。
其实在没有安装 vim-airline 状态栏之前是没有注意到的,但是 airline 好心的有功能在最上方显示 buffer,才让我觉得其实 buffer 有时候可能会比 tab 标签更好用。
常用命令
” List Buffers 查看当前所有的 buffer
:ls b
” Buffer Next 下一个 buffer
:bn
” Buffer Previous 上一个 buffer
:bp
” Buffer Down 关闭当前 buffer
:bd
” Buffer number 指定第二个 buffer
:b 2
快捷键设计
如果要保证 buffer 的切换像 tab 一样方便,肯定是要设置快捷键的,要不然总输入命令太慢了。
“ 按 Ctrl+h 向左移动一个 buffer
nnoremap <C-h> :bp<CR>
“ 按 Ctrl+l 向右移动一个 buffer
nnoremap <C-l> :bn<CR>
“ 按 Ctrl+^ 关闭当前 buffer
nnoremap <C-^> :bd<CR>