我刚刚转到 Mac 并正在尝试 TextMate,因此我对捆绑配置等不太熟悉。有没有办法让 TextMate 对所有文件类型都使用空格而不是软制表符?
例如:我输入了 5 个空格。我希望能够返回三个空格并插入更多字符,因此我有 [两个空格][文本][三个空格]。然而,我按下左箭头两次并最终回到行首;即使底层文件中没有制表符,TextMate 也会将前 4 个空格视为逻辑制表符。我想全局关闭此功能。
答案1
我的第一个答案并没有完全解决您的问题,但也许您可以考虑一下。您可以将软制表符间距调低到 2 个空格,以便能够执行您在该示例中提到的操作。除非您的间距方案非常复杂,否则我发现 2 个空格在缩进良好的代码和控制文本位置之间提供了最佳折衷。此设置适用于您未手动设置软制表符的每种其他语言。
如果您确实不想使用软制表符,则可以使用将软制表符大小设置为 1 的方法,但这在 TextMate GUI 中是不可能的。这可以通过在终端上修改 TextMate plist 文件来实现。您需要为每种语言单独设置。例如,对于 Perl:
defaults write com.macromates.textmate OakTextViewScopedTabSize -dict-add 'source.perl' '{ tabSize = 1; }'
替换source.perl
为您想要使用的任何语言;tabSize = 1
指的是软标签大小。如果是纯文本,请替换source.perl
为text.plain
。查看com.macromates.textmate
plist 文件,似乎还有条目text.catch-all
和,source.catch-all
我认为它们适用于尚未指定的所有内容。但我测试时似乎并非如此。
答案2
启用 SOFT TABS
默认写入 com.macromates.textmate OakTextViewScopedSoftTabs -dict-add'source.perl''{softTabs = 1;}'
你可以列出所有存在的:
默认读取 com.macromates.textmate OakTextViewScopedSoftTabs