Emacs-style tab to indent line (was: [TxMt] textmate Digest, Vol 13, Issue 71)
Allan Odgaard
throw-away-1 at macromates.com
Mon Oct 31 02:49:36 UTC 2005
On 31/10/2005, at 3.11, Shawn Van Ittersum wrote:
> How do we assign Tab key to the new Indent Line command ourselves,
> since you did not do that for us?
The action method (for the key bindings dictionary) is
“indent:” (it's actually declared by NSResponder, though
unimplemented by NSTextView).
A more flexible method is recording a macro:
1) Automation / Start Macro Recording (option-cmd M)
2) Text / Indent Line (option-cmd [)
3) Automation / Stop Macro Recording (option-cmd M)
4) Automation / Save Scratch Macro… (ctrl-cmd M)
Then give it TAB as key equivalent. Probably store it in an Emacs-
compatibility bundle.
I am mentioning the macro as more flexible because this would allow
you to:
a) limit the scope of the key, e.g. to source files, or source
files except comments in sources (source - comment) etc., and
b) because you can record further actions, you can get the indent
to trigger on other keys as well, e.g. record inserting a “;” and
then do the Text / Indent Line, bind that macro to the ; key (limited
in scope to sources that terminate lines by a “;”) and you get the
line properly indented when you type a “;” character.
> p.s. Why are you making it so hard for emacs users to embrace your
> program??
Oh come on! I never used Emacs and I never planned for TextMate to be
Emacs -- but I have made plenty of changes to TextMate only to suit
Emacs users. But the role-model for behavior when it comes to
TextMate is NSTextView and OS X, that should go without saying!
More information about the textmate
mailing list