我在TextMate中的“软制表符”设置不稳定。每次重启TextMate后,我经常需要重新为同一文件设置选项。如何使这个设置成为所有文件的默认设置?
经过一些研究,我发现可以将TextMate 1设置为默认使用软制表符。
在“高级”首选项面板的“Shell变量”区域中,添加一个名为TM_SOFT_TABS
的新条目,值为YES
。
从那时起,TextMate 应该默认使用软制表符,但至少有一两种语言需要指定制表符数量。完成后,在我所做的所有事情中似乎都生效了。
要在TextMate 2中设置选项,请添加以下设置到您的~/.tm_properties文件中:
softWrap = true
tabSize = 4
softTabs = true
查看以下链接获取更多信息:
常见问题解答:https://github.com/textmate/textmate/wiki/FAQ
设置:http://wiki.macromates.com/Reference/Settings
来自文档:
4.11 使用空格代替制表符
TextMate 可以使用空格代替制表符。通过在状态栏中单击“制表符大小”弹出菜单并启用“软制表符”即可实现。
此设置仅影响当前语言以及所有具有共同根源且尚未启用该选项的语言。拼写检查、软换行和实际制表符大小的状态也是如此。
当启用软制表符时,TextMate 的大部分操作与硬制表符相同,但文档确实包含空格。
看起来 Textmate 会为当前语言进行设置,但我认为 Textmate 会分析您打开的文件并调整其设置以匹配文件。您可以在“文本”菜单中将文件中的制表符转换为空格,反之亦然。
您不需要任何特殊的东西,只需要调整您的Python包。
进入“Bundle Editor”,找到Python。打开它的小三角,然后向下滚动并找到“杂项”选项。应该会显示类似以下内容:
{ decreaseIndentPattern = '^\s*(elif|else|except|finally)\b.*:';
increaseIndentPattern = '^\s*(class|def|elif|else|except|finally|for|if|try|with|while)\b.*:\s*$';
shellVariables = (
{ name = 'TM_COMMENT_START';
value = '# ';
},
{ name = 'TM_LINE_TERMINATOR';
value = ':';
},
);
}
这些是环境变量。你需要的是将环境变量TM_SOFT_TABS
设置为'YES'。很简单,只需插入一个新的赋值语句,像这样:
{ name = 'TM_SOFT_TABS';
value = 'YES';
},
完成后,你就可以在Python模式下每次使用Textmate时都获得软性的标签效果。
有关您可以设置的所有不同环境变量,请查看此处的手册: http://manual.macromates.com/en/environment_variables.html
~/.tm_properties
,例如:# Default editing configuration
#
tabSize = 2
softTabs = true
softWrap = true
# Defaults for c
#
[ source.c ]
softTabs = true
tabSize = 8
# Defaults for python
#
[ source.python ]
softTabs = true
tabSize = 4
在 TextMate 底部还有一个下拉菜单,允许您设置制表符大小以及是否使用软制表符,而且它是粘性的。
这是我能够获得软制表符设置一致行为的唯一方法。