我现在使用的是,
autocmd BufWritePost *.py !python PythonTidy.py % %
Run Code Online (Sandbox Code Playgroud)
它确实调用了 tidy programe 并更改了文件,但是 vim 不会重新加载新文件。
而且我不想为它安装另一个插件。
======================注意:我发现这个功能很危险,如果命令失败,PythonTidy 将输出一个空文件,这意味着如果你有语法错误,除非按“u”获取文件,否则您将丢失文件,但在修复语法错误之前无法保存。
我现在在 pylint 完成后手动调用 :!PythonTidy % % 。
小智 1
基于:帮助:e:
*:e* *:编辑*
:e[dit] [++opt] [+cmd] 编辑当前文件。这对于重新编辑很有用
当前文件,当它在 Vim 外部被更改时。
当对当前内容进行更改时,此操作会失败
缓冲区和“autowriteall”未设置或文件无法设置
被写下来。
另请参阅 |++opt| 和|+cmd|。
{Vi:没有 ++opt}
因此,您需要在外部更新文件后使用 :e 。然而, :!不允许你使用 | 通常(请参阅 :help :!),因此您需要将其包装:
autocmd BufWritePost *.py 执行 "!python PythonTidy.py % %" | e
(:autocmd 通常也不解释 |,这就是为什么你不需要再次转义它。)