Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我somefile.txt在 Vim 中编辑。有没有办法运行保存在文件中的外部脚本some_perl_script.pl并让脚本修改当前打开的缓冲区?
somefile.txt
some_perl_script.pl
抱歉,我已经搜索过了,但是我使用的关键字给出的响应太宽泛了。谢谢!
假设some_perl_script.pl从标准输入获取文本并将文本返回到标准输出,Vim 允许您将其用作“过滤器”:
:%!some_perl_script.pl
见:help filter。
:help filter
假设 some_perl_script.pl 在标准输入上接受输入并在标准输出上产生输出。
您可以将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