答案 0 :(得分:18)
使用autopep8的正确方法是依靠vim" formatprg"设置。所以你将下面的行添加到vimrc:
au FileType python setlocal formatprg=autopep8\ -
现在,当您在python中选择行并点击gq
时(默认映射除非您重新映射它)。它将通过autopep8
过滤行,并将格式良好的版本写入到位。
上面的设置也使它适用于vim对象和vim运动,所以你可以使用gqap
重新渲染一段(python代码的线条之间没有空行)。
要执行整个文件,您可以执行gggqG
连字符' - '在命令结束时需要使autopep8读取标准中的行。
答案 1 :(得分:6)
autopep8包含在python-mode中。
调用:PymodeLintAuto或映射它:
" Automatically fix PEP8 errors in the current buffer:
noremap <F8> :PymodeLintAuto<CR>
答案 2 :(得分:4)
您应该能够通过autopep8运行当前文件:
:!autopep8 -i expand("%")
如果你想在每个python文件的写入时自动执行此操作,可以将其添加到vimrc
:
if has("autocmd")
autocmd BufWritePost *.py !autopep8 -i expand("%")
endif
答案 3 :(得分:3)
插件在提交问题时尚未存在,但现在有vim-autopep8。