Answers:
当通过命令行将文件传递给Vim时,它们不仅在缓冲区中打开,而且填充参数列表。因此,您可以使用像:next和:first这样的命令来浏览它们(并:argdo进行批处理,这可能是一个很巧妙的技巧)。我为您的问题推荐的命令是:wnext(简称:wn),它:write是当前缓冲区,然后转到:next。
您无需明确 :bdelete的缓冲区,尤其是当您从命令行使用一组文件启动Vim并在完成后退出时。(我唯一想到的例外是卸载一个巨大的文件以节省系统内存,或为多个不同的编辑重新使用单个GVIM实例。)
但是,如果您确实要这样做,则只需定义一个自定义命令即可,例如
:command Wd write|bdelete
:w|bd。
:next在某些情况下更有意义。
虽然我同意,你不要有删除您目前没有使用打开的缓冲区,我喜欢将其删除,因为我有VIM航空公司启用的耳线,在的顶部,显示所有打开的缓冲区所有的时间窗口。我的内容如下.vimrc:
nnoremap qq :w\|bd<cr>
qq 保存并关闭当前缓冲区,但也使vim的“记录宏”功能混乱(我可以接受)。
ZZ想到了内置函数,但这最终会完全保存并退出Vim,而不仅仅是删除缓冲区。zz对于那些发现宏比将视图居中于当前光标行更有价值的人,小写字母可能是一个有趣的替代映射。
Q在意识到Vim中录制的价值之后,我最近将其更改为。
:next一旦完成任务,就移至缓冲区并写入/关闭所有内容:wqa。这个假设你有:set hidden你的~/.vimrc。