有没有办法自动将autopep8应用于 vim 中正在编辑的文件?我有以下vimrc。
先感谢您。
使用 autopep8 的正确方法是依赖 vim "formatprg" 设置。因此,您将下面的行添加到 vimrc:
au FileType python setlocal formatprg=autopep8\ -
现在,当您在 python 中选择行并点击时gq
(默认映射,除非您重新映射它)。它将过滤这些行autopep8
并在适当的位置写入格式良好的版本。
上面的设置还使其适用于 vim 对象和 vim 动作,因此您可以使用gqap
.
做你可以做的整个文件gggqG
命令末尾的连字符“-”是使 autopep8 从标准中读取行所必需的。
autopep8 包含在python-mode中。
调用 :PymodeLintAuto 或映射它:
" Automatically fix PEP8 errors in the current buffer:
noremap <F8> :PymodeLintAuto<CR>
您应该能够执行以下操作以通过 autopep8 运行当前文件:
:!autopep8 -i expand("%")
如果您想在写入每个 python 文件时自动执行此操作,您可以将其添加到您的vimrc
:
if has("autocmd")
autocmd BufWritePost *.py !autopep8 -i expand("%")
endif
提交问题时该插件还不存在,但现在有 vim-autopep8。