Мой первый ответ не совсем решает вашу проблему, но, возможно, вы могли бы рассмотреть ее. Вы можете уменьшить интервал между мягкими вкладками до 2 пробелов, чтобы иметь возможность делать то, что вы упомянули в этом примере. Если у вас нет очень сложной схемы пробелов, я считаю, что 2 пробела дают лучший компромисс между красиво отступающим кодом и контролем размещения текста. Этот параметр будет действовать для каждого языка, для которого вы не устанавливаете программные вкладки вручную.

Если вы на самом деле не хотите использовать мягкие вкладки, метод будет состоять в том, чтобы установить размер мягкой вкладки, равный 1, что невозможно в графическом интерфейсе TextMate. Это можно сделать, изменив файл plist TextMate в Терминале. Вам нужно будет установить это для каждого языка отдельно. В качестве примера для Perl:
defaults write com.macromates.textmate OakTextViewScopedTabSize -dict-add 'source.perl' '{ tabSize = 1; }'
Замените source.perl
на любой язык, который вы хотите использовать; tabSize = 1
относится к размеру мягкой вкладки. Если это обычный текст, замените source.perl
на text.plain
. Глядя на plist- файл com.macromates.textmate
, кажется, что есть записи text.catch-all
и source.catch-all
которые, как я предполагаю, будут работать для всего, что еще не было указано. Но, похоже, когда я проверял