如果希望一次性执行多条Ex命令,那么可以将这些命令保存为脚本文件,然后即可重复调用。
例如我的这个VIM学习笔记,都是在Vim里手工编写HTML代码的。相同的代码也会同步粘贴到我的blog里。而在搬运代码之前,我需要删除其中的Tab制表符和换行符。也就是说,我需要重复执行几个删除和替换命令。
创建脚本文件
我将以下命令,存储名为ExScript_Sample.vim的脚本文件。其中,所有以双引号(")开头的文本,都将被视为注释。注释可以单独为一行,也可以被放置在行的末尾。
在Vim中执行脚本文件
在Vim中编辑文件时,可以使用以下命令来调用Ex脚本:
:source ExScript_Sample.vim
Vim将在屏幕底部显示命令执行的结果(比如修改或替换的行数等);点击Enter回车键,将返回常规模式:
如果您对执行结果不满意,那么也可以使用u
命令,撤销 (Undo)以上操作。
在启动vim时,可以将文件名做为参数(Arguments),以打开多个文件。例如使用以下操作系统命令,将打开当前目录下的所有网页文件:
$ vim *.html
我们可以先在当前文件下,使用:source
命令执行脚本;然后使用:next
命令,切换到下一个文件,依次针对各个文件分别执行脚本。
而使用以下命令,则可以一次性对所有参数列表中的文件执行脚本:
:argdo source ExScript_Sample.vim
在命令行中执行脚本文件
在操作系统的命令行中,使用vim的-c选项,可以在加载文件之后自动执行Ex脚本文件:
$ vim -c "source ExScript_Sample.vim" test.html
利用竖直线“|”分割符,可以组合执行Ex脚本文件和Ex命令:
$ vim -c "source ExScript_Sample.vim | w" test.html
利用竖直线“|”分割符和argdo命令,可以针对多个文件分别执行脚本文件,然后保存并退出:
$ vim -c "argdo source ExScript_Sample.vim | w" -c "qa" A.html B.html C.html