Vim缩进与python变得奇怪


def main():
        todo=TODO()#this line shows one tab one sublime text
        print("The indentation is not right")# THIS ONE SHOWS TWO TABS

遇到了一个奇怪的问题,我不能再使用 vim 来编辑我的 python 文件了。上面的缩进与我相同,但我说缩进是错误的。顺便说一下,工作正常的第一行是由另一台计算机编辑的。我将 Fedora 23 用于我的操作系统,vim 的默认选项卡在任何其他文件上都是 8 个空格,只需要一个退格键即可删除,当我创建一个 .py 文件时,选项卡更改为 4 个空格,需要退格 4 次现在我无法使用我的 vim 来编辑文件。

如果要使用8个空格宽的制表符,每个缩进级别对应一个制表符,请使用

:set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab

或把它放在你的.vimrc

set tabstop=8
set softtabstop=8
set shiftwidth=8
set noexpandtab

要专门为 python 设置此首选项,请将其放入您的 vimrc 中

autocmd Filetype python setlocal ts=8 sts=8 sw=8

autocmd FileType python set tabstop=8|set shiftwidth=2|set expandtab

有关更多信息,请阅读 vim 中选项卡的秘密和缩进源代码 (vim wiki)

你也可以在旧的 vim 文档中阅读它

:help tabstop
:help softtabstop

最新更新