【问题标题】:File indentation changes for different text editors不同文本编辑器的文件缩进更改
【发布时间】:2015-02-10 20:15:04
【问题描述】:

我喜欢在 vim 和 sublime 中编码,有时在同一个文件上可以互换使用。最近我尝试运行一个 python 脚本,它给了我一个缩进错误。原来同一个文件在 vim 和 sublime 中的缩进不同。

我的问题是:有没有办法避免这种情况?或者如果我使用不同的文本编辑器,是否不能保证我的文件格式会保持不变?

在 sublime 中打开的文件:

在 vim 中打开的文件:

【问题讨论】:

    标签: python vim editor sublimetext2 sublimetext


    【解决方案1】:

    您还可以使用EditorConfig 和不同的插件在 IDE 和项目之间保持相同的缩进。

    它非常易于使用和设置,您只需要安装插件。

    为我节省了很多开销! :)

    【讨论】:

      【解决方案2】:

      您混合使用空格和制表符进行缩进。这可能会让人类读者感到非常困惑,因为缩进可能会根据代码的查看方式而有所不同。幸运的是,Python 解释器能够很好地发现这一点并告诉你。

      一个好的策略是始终使用空格,因为这将为您提供跨编辑器/IDE 的一致格式和缩进,而不管它们的设置如何。

      在 vim 中将所有制表符更改为空格:

      :set tabstop=4
      :set expandtab
      :%retab
      

      (您可能希望将前两个命令添加到您的.vimrc,至少对于 Python 文件。)

      【讨论】:

      • 您还需要考虑ftplugin/python.vim 可能会覆盖'tabstop''expandtab' 的全局设置,并且要始终如一地确定缩进,不要忘记'softtabstop''shiftwidth' ,也是。
      • 我同意 Ingo 的观点。请不要在您的~/.vimrc 文件中放置裸缩进设置。将命令放在~/.vim/after/ftplugin/python.vim~/.vim/ftplugin/python.vim 中。如果您更喜欢 vimrc 文件中的所有设置,请执行以下操作:autocmd FileType python set tabstop=4 expandtab.
      猜你喜欢
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 2012-03-22
      相关资源
      最近更新 更多