Minha primeira resposta não resolve exatamente o seu problema, mas talvez você possa considerá-lo. Você pode diminuir o espaçamento da tabulação para 2 espaços para poder fazer o que você mencionou naquele exemplo. A menos que você tenha um esquema de espaçamento muito complicado, acho que 2 espaços oferecem o melhor compromisso entre o código bem recuado e o controle sobre o posicionamento do texto. Essa configuração seria válida para os outros idiomas nos quais você não define manualmente as guias virtuais.
Se você realmente não quiser nenhuma aba nenhuma, o método seria definir um tamanho de aba flexível de 1, o que não é possível na GUI do TextMate. Isso pode ser feito modificando o arquivo plist do TextMate no Terminal. Você precisará definir isso para cada idioma separadamente. Como exemplo, para Perl:
defaults write com.macromates.textmate OakTextViewScopedTabSize -dict-add 'source.perl' '{ tabSize = 1; }'
Substitua source.perl
pelo idioma que você deseja usar; tabSize = 1
refere-se ao tamanho da guia flexível. Se for para texto simples, substitua source.perl
por text.plain
. Observando o arquivo com.macromates.textmate
plist, também parece haver as entradas text.catch-all
e source.catch-all
, que eu presumo que funcionariam para tudo que ainda não foi especificado. Mas não parece assim quando eu testei.