Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在VIM中执行存储在文件中的一组编辑器命令?_Regex_Vim_Automation_Vi_Scripting - Fatal编程技术网

Regex 如何在VIM中执行存储在文件中的一组编辑器命令?

Regex 如何在VIM中执行存储在文件中的一组编辑器命令?,regex,vim,automation,vi,scripting,Regex,Vim,Automation,Vi,Scripting,我读过其他帖子,例如,和其他帖子。就我的情况而言,答案并不清楚。我有一些从SQL查询生成的编辑器命令。它使用:s/foo/bar更改国家代码(从FIP更改为非标准代码集)。以下是该文件的示例: :s/CB/CAMBO :s/CQ/NMARI :s/KV/KOSOV :s/PP/PAPUA ... 我已将其保存在名为fipsToNonStd.vim的文件中(不确定正确的扩展名)。我想一个接一个地运行这些命令。最简单的方法是什么 非常感谢!太棒了 我想您正在寻找:source命令 通过运行:hel

我读过其他帖子,例如,和其他帖子。就我的情况而言,答案并不清楚。我有一些从SQL查询生成的编辑器命令。它使用:s/foo/bar更改国家代码(从FIP更改为非标准代码集)。以下是该文件的示例:

:s/CB/CAMBO
:s/CQ/NMARI
:s/KV/KOSOV
:s/PP/PAPUA
...
我已将其保存在名为fipsToNonStd.vim的文件中(不确定正确的扩展名)。我想一个接一个地运行这些命令。最简单的方法是什么


非常感谢!太棒了

我想您正在寻找
:source
命令


通过运行
:help:source

:source fileName

可以在vim中看到一些内容。通常,您只需将所有这些命令放入.vim文件中即可。例如,您可以将它们保存在名为convert.vim的文件中:

此时,您可以将任何文件加载到Vim中,并在编辑器中键入以下内容:

:so convert.vim
或者,如果这是您需要在相当有脚本的基础上完成的事情,那么为什么还要费心打开vim呢?在命令行中完成所有操作。您可以通过执行以下操作来实现这一点。再次修改convert.vim:

然后您可以在命令行上完成所有操作。假设需要转换的“输入文件”名为data.txt。通过命令行,您可以执行以下操作:

vim -s convert.vim data.txt

这将为您处理/转换数据,并保存和完成。

您可以将这些行放入一个函数中,稍后使用:call FName调用

:%s/CD/CAMBO/g
:%s/CQ/NMARI/g
" etcetera
:w!
:q
vim -s convert.vim data.txt