在 vi 中打开过多个文件时,每个文件都是存放在各自的 buffer 中,可以用命令 ls (buffers 或 files,三个命令中拣你最喜欢的一个即可,ls 输入方便,buffers/files 更表意) 显示所有的 buffer。显示出来的结果如下:
可以看到
每个 Buffer 的编号,分别是 1, 4, 5, 6
% 表示的是当前窗口中的 Buffer
+ 表该 Buffer 中的内容有修改
Buffer 中的文件名称
切换 Buffer 的办法
bn (bNext 或 bnext) -- 切换到下一个 Buffer
bp (bprevious) -- 切换到前一个 Buffer
bd (bdelete) -- 删除当前 Buffer
bN
(N 表示编号,或 buffer N
) -- 切换到编号对应的 Buffer
b filename (buffer filename) -- 切换到对应文件的 Buffer
bn 和 bp 切换 Buffer 比较盲目,bN
编号方式要先 ls 来确定编号,b filename 借助于 Tab 键也是个不错的选择。
前面切换命令都可以在前面加 s 表示 split window,即 sbn, sbp, sbN
, sb filename, 新拆分窗口中跳到指定的 Buffer。
badd filename -- 新加一个 Buffer, 并载入文件。
另外关闭窗口的命令是 :q
补充 bl (blast) -- 切换到最后一个 Buffer, bf (bfirst) -- 切换到第一个 Buffer。
更多 Vi 的 Buffer 和 窗口操作请参考:
1. http://vim.wikia.com/wiki/Vim_buffer_FAQ
2. http://vimdoc.sourceforge.net/htmldoc/windows.html#buffers
本文链接 https://yanbin.blog/vi-buffer-basic-operation/, 来自 隔叶黄莺 Yanbin Blog
[版权声明] 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。