autopep8 with vim



是否有一种方法可以自动将autopep8应用于在vim中编辑的文件?我有以下vimrc.

提前感谢。

使用autopep8的正确方法是依赖vim的"formatprg"设置。因此,将下面这行添加到vimrc:

au FileType python setlocal formatprg=autopep8 -

现在当你在python中选择行并点击gq(默认映射,除非你重新映射它)。它将通过autopep8过滤行,并在适当的位置写入格式良好的版本。

上面的设置也使它与vim对象和vim运动一起工作,所以你可以使用gqap渲染一段(好行python代码之间没有空行)。

要处理整个文件,可以执行gggqG

命令末尾需要连字符'-',以使autopep8从标准文本中读取行。

autopep8被包含到python模式。

调用: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

https://github.com/tell-k/vim-autopep8

最新更新