我在 Windows 中,并且是使用 gvim 的新手。我正在使用 Nerdtree 插件进行项目导航。现在我从 nerd 树打开文件,vim 将把打开的文件加载到缓冲区中。我发现使用 :b 命令切换多个文件更容易,打开更多文件后会更方便,因为缓冲区中加载了更多文件。
但是我认为如果有一种方法可以将缓冲区中的一个目录中的所有文件同时加载,而不是在打开它们时一个一个加载,那会更方便。
您可以在命令行上指定多个文件(或在 Windows 中右键单击“使用单个 Vim 打开”)。
等效地,您可以在启动后添加或更改参数列表:
:args *.cs
替换参数列表,将所有文件作为缓冲区打开,只显示一个
:argadd **/.java
将当前目录下的树中的所有 java 文件附加到参数 lst,将它们作为缓冲区打开,保持当前窗口中的活动缓冲区不变
与此相关的还有其他几个不错的命令:
:argdo %s/version_1-6-0/version_1-6-1/g
:bufdo g/SECRET/d
(将命令应用于参数列表中的所有文件与所有打开的缓冲区)
:sall
:tab sall
(在单独的窗口中打开所有加载的缓冲区,可选地在选项卡中)
:bufdo bclose
:bufdo bwipeout
:bufdo bwipeout!
:cd $HOME/myproject/subdir
将其设置为当前打开文件的目录:
:cd %:h
:argadd *.cpp
这对于诸如or之类的工具非常方便:!ctags -R .
。
如果你使用 Vim 的项目插件,你可以打开当前选择的条目下的所有文件。
请注意,条目不仅限于文件夹,您可以例如将所有需要的内容放在一个条目中,然后一次性打开它们。
该插件还为您提供了更多与项目相关的功能,例如 grepping 当前所选条目的所有文件等等。
设置你的项目需要一点努力,但一旦你完成了,它真的很舒服。