Does Textmate have anything like Emacs's point and mark for making selections?

Solution 1:

Cocoa/OS X's built-in Key Bindings system make this possible. The text view in TextMate implements the highly-relevant NSResponder action methods setMark: and selectToMark:.

The TextMate manual explains that ~/Library/Application Support/TextMate is the right place for a custom KeyBindings.dict file to set the bindings for those actions. Adding these lines to the dictionary:

"^ "       = "setMark:";
"^~ "      = "selectToMark:";

binds ⌃-Space to set the mark (the same binding for this action as Emacs) wherever the cursor is currently located, and ⌃-⌥-Space to select from the cursor to the previously-set mark. This is one extra keypress compared to Emacs, but it'll get the job done.