我有一个外部脚本,它接受一个 Javascript 文件并自动修复一些样式问题,我想在写入 ( BufWritePre,FileWritePre)之前将它应用到当前缓冲区。
所以我的想法是:
w /tmp/foo 将当前缓冲区内容写入临时文件 silent !fixStyle /tmp/foo 在该文件上运行脚本。/tmp/foo问题是我不知道如何做第三步。
一种方法是删除当前内容(1,$d即在第 1 行和最后一行之间删除),并从第 0 行开始读入目标文件(在第 1 行之前,以便没有空行):
:1,$d|0r ~/.hck/input
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用过滤器(在本例中为 cat)将所有内容 ( %)替换为过滤器的输出:
:%!cat /tmp/foo
Run Code Online (Sandbox Code Playgroud)