Ma première réponse ne résout pas exactement votre problème mais vous pourriez peut-être l'envisager. Vous pouvez réduire l'espacement de la tabulation douce à 2 espaces pour pouvoir faire ce que vous avez mentionné dans cet exemple. À moins que vous n'ayez un schéma d'espacement très compliqué, je trouve que 2 espaces donnent le meilleur compromis entre un code bien indenté et le contrôle du placement du texte. Ce paramètre est valable pour toutes les autres langues pour lesquelles vous ne définissez pas manuellement les tabulations souples.
Si vous ne voulez vraiment pas de tabulations souples, la méthode consiste à définir une taille de tabulation souple de 1, ce qui n'est pas possible dans l'interface graphique de TextMate. Cela peut être fait en modifiant le fichier plist de TextMate dans le terminal. Vous devrez définir ce paramètre pour chaque langue séparément. Par exemple, pour Perl :
defaults write com.macromates.textmate OakTextViewScopedTabSize -dict-add 'source.perl' '{ tabSize = 1; }'
Remplacer source.perl
avec le langage que vous voulez utiliser ; tabSize = 1
fait référence à la taille de la tabulation souple. Si c'est pour du texte brut, remplacez source.perl
con text.plain
. En regardant le com.macromates.textmate
plist, il semble qu'il y ait également les entrées suivantes text.catch-all
y source.catch-all
ce qui, je suppose, fonctionnerait pour tout ce qui n'a pas déjà été spécifié. Mais ce n'est pas ce qui s'est passé quand j'ai testé.