设置以下选项:
setlocal formatprg=autopep8\ -aa\ -
当我在可视模式下选择单行并按gq
时,autopep8对该行进行了修改,但它也改变了行的缩进:它默认为4个空格的缩进,无论是线的当前缩进级别。我希望它假设线条正确缩进,所以不要管它们。
同样,如果我为--indent-size 8
设置autopep8
开关,它会将线条推到8个空格的缩进级别。请注意,如果视觉选择足够大以包含顶级缩进(即没有缩进的地方),则所有内容都正确缩进。但在提交之前,我倾向于选择较小的块。
答案 0 :(得分:6)
您需要提供--indent-size 0
。所以我的.vimrc
有这一行:
" Use gq to clean up code
" Indent to 0 because otherwise it pushes selected lines to the given
" indent-size, no matter the current indent level of the line.
au FileType python setlocal formatprg=autopep8\ -aa\ --indent-size\ 0\ -