标签: vim buffer
假设我在Vim中编辑somefile.txt。有没有办法运行保存在文件some_perl_script.pl中的外部脚本,并让脚本修改当前打开的缓冲区?
somefile.txt
some_perl_script.pl
抱歉,我搜索过,但我使用过的关键字反响过于广泛。谢谢!
答案 0 :(得分:4)
假设some_perl_script.pl从标准输入中获取文本并将文本返回到标准输出,Vim允许您将其用作“过滤器”:
:%!some_perl_script.pl
请参阅:help filter。
:help filter
答案 1 :(得分:1)
假设some_perl_script.pl在stdin上获取输入并在stdout上产生输出。
您可以将formatprg选项与gq一起使用。键入gq时,将使用formatprg设置的程序格式化选定的行。
gq
所以你可以把以下内容放在你的vimrc中(假设你是如何运行some_perl_script.pl的)
set formatprg=some_perl_script.pl
然后在缓冲区中运行gggqG以格式化整个缓冲区。
gggqG
查看:h formatprg和:h gq
:h formatprg
:h gq