使用Sublime Text 2存在缩进问题

7
我有以下问题。
我使用ubuntu 12.04和sublime-text-2或gedit。
有时我复制/粘贴一些内容到一个haml / ruby文件中,我将其缩进两个空格,但当我将其推送到github上时,缩进是完全错误的,不仅是我已经复制/粘贴的部分。在我的编辑器中看起来很好。
如果我用LibreOffice / LeafPad打开文件,则缩进与github上的相同,但我想在ST2上工作。
有什么建议吗?

你有在混用制表符和空格吗? - James M
嗯,不确定。你的意思是我先用空格,然后用制表符缩进吗?也许。 - vladCovaliov
1
你没有配置规则或gitattributes文件来自动更改缩进吗?就像http://gitster.livejournal.com/28862.html中所示。 - VonC
1个回答

6
为了在整个服务中具有正确的缩进,您不应使用硬制表符。

http://opensourcehacker.com/2012/05/13/never-use-hard-tabs/

您可以通过设置选项卡策略来在Sublime Text 2中实现此功能:

http://opensourcehacker.com/2012/05/11/sublime-text-2-tips-for-python-and-web-developers/#Configure_sane_tab_and_whitespace_policy_and_other_settings

请注意,您可能需要从“View > Indentation”菜单中选择新的策略来处理现有文件。

您还可以批量将现有文件转换为非制表符格式。

使用Sublime Text 2:

http://opensourcehacker.com/2012/05/11/sublime-text-2-tips-for-python-and-web-developers/#Converting_existing_files_to_use_spaces_instead_of_tabs

...或者批量转换整个项目:

http://miohtama.github.com/vvv/tools/expandtabs.html


6
问题不在于使用硬制表符(hard tabs),而在于将空格与硬制表符混合用于缩进。 - fletom
3
最简单的解决方案是完全不使用制表符,这样就无法与空格混用,即使是意外情况下也不行。 - Mikko Ohtamaa
7
最简单的解决方案是完全不使用空格,这样就不会与制表符混淆,即使是意外情况下也不会。 :) - yota
1
假设你正在使用Sublime,刚刚输入了一个函数的返回值。现在你想定义另一个函数。当你按下回车键时,Sublime会将光标放在与返回行相同的缩进位置——这不是你想要的——当你按下退格键时,它会将光标移回到def function行的“级别”——或者看起来是这样!但实际上,Sublime插入了一个制表符。你继续定义另一个函数/执行某些操作,结果出现了一个神秘的错误。这就是我遇到的问题。 - Don Cheadle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接