vim 打开可以一次打开多个文件
vim a b c
命令vim a b c其它会同时打开a, b, c三个文件, 而不是退出a后才打开b, 退出b后才打
开c, 你编辑a时, b和c的缓冲区已经在后台存在,用ls
命令可查看所有缓冲区, 不是linux
系统ls命令:
:ls
1 %a "a" line 1
2 "b" line 0
3 "c" line 0
第1列数字1, 2, 3那一列是缓冲区编号, 第3列a, b, c是缓冲区名字.
第2列, %a, 表示当前正在编辑文件a,
如果%a后面有+号, 说明正在编辑a, 且已有所编辑, 且还没保存.
如果是#号, 表示当前没有编辑文件a, 但已编辑过文件a.
如果当前在编辑a, 命令
:bnext
会进入编辑b.
再次输入
:bnext
会进入编辑c. 这时命令:
:bpre或bprevious
会进入编辑b.
如果在编辑c时, 输入命令:
:bnext
会掉头进入编辑开头的a,
同样, 在编辑a时, 输入命令:
:bpre
会掉头进入编辑最尾的c.
命令buffer可以指定直接编辑哪个文件, 它后面可以跟缓冲区编号或缓冲区名字,
:buffer 2
和
:buffer b
都是进入编辑文件b.
现在你在编辑b, 如果现在你想q退出, 会报错:
E173: 2 more files to edit,
除非你正在编辑最后一个文件c, q可以直接退出, 否则, 在a或b上输入命令q退出都会报
这个错, 那现在, 想退出b, 又不影响同时打开的a和c怎么办呢,
用命令bdelete, 或bdel
:bdel b
bdel后面跟的也是缓冲编号或缓冲区名字.
然后你会进入编辑b的前一个文件, 文件a.
如果想直接退出所有3个文件, 而不先切换到最后的文件c, 输入命令:
:qa
如果想保存所有修改并退出所有, 输入命令:
:wa