0

假设我somefile.txt在 Vim 中编辑。有没有办法运行保存在文件中的外部脚本some_perl_script.pl并让脚本修改当前打开的缓冲区?

抱歉,我已经搜索过了,但是我使用的关键字给出的响应太宽泛了。谢谢!

4

2 回答 2

4

假设some_perl_script.pl从标准输入获取文本并将文本返回到标准输出,Vim 允许您将其用作“过滤器”:

:%!some_perl_script.pl

:help filter

于 2013-06-07T05:10:24.727 回答
1

假设 some_perl_script.pl 在标准输入上接受输入并在标准输出上产生输出。

您可以将formatprg选项与gq. 当您键入gq选定的行时,将使用 formatprg 设置的程序格式化。

因此,您可以将以下内容放入您的 vimrc 中(假设您就是这样运行 some_perl_script.pl)

set formatprg=some_perl_script.pl

然后在缓冲区中运行gggqG以格式化整个缓冲区。

看看:h formatprg:h gq

于 2013-06-07T03:15:22.800 回答