我在一个目录中有一堆文本文件,我知道我需要单独编辑每个文件。
我从推荐行开始
vim *.txt
Run Code Online (Sandbox Code Playgroud)
它在vim中将文件作为单独的缓冲区打开,让我看着第一个。我编辑它 - 然后我使用 ':w' 保存它并使用 ':bd' 关闭缓冲区并继续下一个。
这个用于保存和关闭缓冲区的 ':w:bd' 对我来说感觉很长,我怀疑有一种更像 vim ninja 的方法 - 一举保存和关闭您正在处理的缓冲区的推荐方法是什么?
Ing*_*kat 25
在命令行上将文件传递给 Vim 时,它们不仅会在缓冲区中打开,还会填充参数列表。因此,您可以使用像:next和 之类的命令:first来浏览它们(以及:argdo批处理,这可能是一个绝妙的技巧)。我为您的问题推荐的命令是:wnext(short form :wn),它:write是当前缓冲区,然后转到那个缓冲区:next。
您不需要明确:bdelete的缓冲区,尤其是当您从命令行启动 Vim 并使用一组文件然后在完成后退出时。(我能想到的唯一例外是卸载一个巨大的文件以节省系统内存,或者重新使用单个 GVIM 实例进行许多不同的编辑。)
但是,如果你真的想要这个,只需定义一个自定义命令,例如
:command Wd write|bdelete
Run Code Online (Sandbox Code Playgroud)
虽然我同意您不必删除当前未使用的打开缓冲区,但我喜欢删除它们,因为我启用了vim-airline的选项卡行,它始终在顶部显示所有打开的缓冲区窗户。我的 中有以下内容.vimrc:
nnoremap qq :w\|bd<cr>
Run Code Online (Sandbox Code Playgroud)
qq保存并关闭当前缓冲区,但也会扰乱 vim 的“记录宏”功能(我对此很满意)。
| 归档时间: |
|
| 查看次数: |
9608 次 |
| 最近记录: |