Why TextMate doesn't replace tabs with spaces?
TextMate does not change your entire document based on such a preference. It is across document boundaries, so just the act of opening a file would change nearly every single line in it. Your colleague who always read the VCS change logs would want to kill you.
The file is not updated automatically. In TextMate 1, you need to invoke Text » Convert » Tabs to Spaces. In TextMate 2, you invoke Bundles » Source » Convert Tabs to Spaces. Both respect your current tab width setting.
Regarding the linked documentation:
When soft tabs are enabled, TextMate will for the most part act exactly as if you were using hard tabs but the document does indeed contain spaces.
This refers to navigation across multiple spaces. Even if you use spaces, moving the cursor will feel like they were tabs (i.e. jumping $tab_width
spaces).
This is an old post, but, just in case somebody stumbles into it. Textmate allows you switch from tabs into spaces.
You can set the at the bottom left-ish of the window where it says, "tab siz: 4"; click on it, and you will be able to switch to spaces.