Vim python 代码格式化

Vim python 代码格式化

我正在使用插件自动配对帮助自动关闭括号。

在 vim 中定义字典或列表时,它会自动格式化如下

|是光标位置

a_dict = {
        | # the indent is 8 spaces width, but I already set 4 spaces width indent in .vimrc
        }

a_lst = [
        |
        ]

a_lst_with_a_very_loooooooooooong_name = [
        |
        ]

但我希望它像这样格式化代码

lst = [
    |
]

我怎样才能做到这一点?

答案1

对于 vim 中的 Python 缩进,我使用这个插件用于 pep8 缩进文德尔。此插件可与您的插件配合使用,并为您提供所需的功能(至少在我的计算机上)

例子:

lst = [
    |
]

abc = {
    |
}

您特别需要let g:pymode_indent = 0.vimrc 中用于 pep8 插件的行。

精通 vim 编程的人可能能够修改您的插件以满足您的需要,但如果您使用 vim 进行 Python 编程,此解决方案可能会为您带来其他好处。

要解决将 8 个空格作为制表符的问题 - 尝试将所有

set tabstop=4
set shiftwidth=4
set expandtab
filetype indent on

在你的 .vimrc 中(这是我所拥有的,它给了我 4 个空格缩进)

相关内容