如何在VIM中的打开缓冲区上运行vimscript

时间:2017-03-01 01:21:27

标签: vim

我有一系列查找和替换操作,我想在许多不同的文件上执行。我不是手动运行它们,而是将它们放在脚本中运行它们。我已完成此操作,将所有搜索和替换命令串联放在一个文件中,让我们将其命名为instructions.vim

现在,我希望能够在我正在处理的缓冲区内的vim中运行此脚本。我怎么做?谷歌会产生像autocmd这样的东西,它将脚本运行(我认为)附加到键盘快捷键上。我不想这样做。我只是想运行我的脚本。但是,似乎没有任何有用的在线信息可以帮助解决这个问题。

任何提示?谢谢!

2 个答案:

答案 0 :(得分:2)

您只需使用ex命令阅读脚本:

source *file_name* 

答案 1 :(得分:1)

首先将您的一系列替换记录为宏(例如将宏保存为a)。 然后将您想要更改的所有文件加载到argo列表中(使用支持通配符的:arg命令,例如:** / * .txt)。最后,将宏应用于文件,确保在更改后写入文件:

:argdo normal @a | w

如果您已经在保存的文件中使用了每行一个命令格式的命令(例如::%s/x/y/g),那么您可以将argdo与source结合使用:

:argdo source file | w

我更喜欢在示例文件上测试我的更改,然后将这些更改保存为宏。像这样的工作流程在进行广泛的彻底改变之前提供了精炼步骤。