首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有vim的autopep8

带有vim的autopep8
EN

Stack Overflow用户
提问于 2013-03-08 09:12:35
回答 4查看 11.7K关注 0票数 11

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

提前谢谢你。

EN

回答 4

Stack Overflow用户

发布于 2014-05-20 22:33:10

使用autopep8的正确方法是依赖vim的“格式”设置。因此,将以下行添加到vimrc:

代码语言:javascript
复制
au FileType python setlocal formatprg=autopep8\ -

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

上面的设置还使得它可以处理vim对象和vim运动,所以您可以使用gqap重新呈现一个段落( python代码行,中间没有空行)。

要完成整个文件,您可以执行gggqG

命令末尾的连字符'-‘是使autopep8从中的标准行读取行所必需的。

票数 24
EN

Stack Overflow用户

发布于 2013-03-08 16:38:19

python-mode中包含了autopep8。

调用:PymodeLintAuto或对其进行映射:

代码语言:javascript
复制
" Automatically fix PEP8 errors in the current buffer:
noremap <F8> :PymodeLintAuto<CR>
票数 7
EN

Stack Overflow用户

发布于 2013-03-08 16:31:08

您应该能够这样做,以便通过autopep8运行当前文件:

代码语言:javascript
复制
:!autopep8 -i expand("%")

如果您希望在写入时为每个python文件自动执行此操作,则可以将此代码添加到vimrc

代码语言:javascript
复制
if has("autocmd")
    autocmd BufWritePost *.py !autopep8 -i expand("%")
endif
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15285032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档