我在互联网上找到了以下代码段,并希望在我自己的.vimrc
中使用它。
augroup CodeFormatters
autocmd!
autocmd BufReadPost,FileReadPost *.py :silent %!PythonTidy.py
augroup END
但是,我不太确定将PythonTidy.py
脚本放在何处,以便可以从任何地方访问它。
此外,我读到使用BufReadPre
分别优于BufReadPost
FileReadPre
,这是真的吗?
答案 0 :(得分:1)
目前,PythonTidy.py
必须可以PATH
访问~/bin
。如果你有一个方便的位置,例如.vim
,只需将其放在那里。
或者,您可以将它放在expand('<sfile>:p:h')
目录中的某个位置,并使用类似:%!
的内容来解析Vimscript的目录,并从那里构建相对路径。
如果要使用BufReadPost
命令过滤读取缓冲区内容,则必须使用BufReadPre
事件;使用{{1}}时,缓冲区尚未被读取,并且不会向筛选器发送任何内容。
答案 1 :(得分:0)
PythonTidy
是命令行可执行文件:将其放在$PATH
中的某个位置。
你也可以把它放在任何地方,并在autocmd
:
autocmd BufReadPost,FileReadPost *.py :silent %!/path/to/PythonTidy.py