hi TextMate'rs,
i have the key binding blues. i'm an old vi guy and i still cannot deal with the mouse when writing. so, i want to be able to use TextMate *without* using the mouse. moreover, i want to be able to use all the keys on the *home row* of my query keyboard (e.g., a-s-d- f-g-h-j-k-l-;).
my question is how do i ensure that my keybindings override everything? for example, TextMate uses ^h in lots of different bundles and i have to hand-edit a dozen different bundles to change ^h to something else. (i thought control- functions were reserved for user stuff?).
right now, i'm using KeyBindings.dict in ~/Library/Application Support/TextMate, like so:
{ /* vi-like navigation */ "^f" = "pageDown:"; "^b" = "pageUp:"; "^w" = "moveWordRight:"; "^h" = "moveLeft:"; "^j" = "moveDown:"; "^k" = "moveUp:"; "^l" = "moveRight:"; "^e" = "scrollLineDown:"; "^y" = "scrollLineUp:"; }
also, is there anyplace that has the definitive documentation for what the keybindings are? (TextMate's 'Show Keyboard Shortcuts' isn't showing my changes). i'm mostly interested in text navigation and basic word processing functions. i can't believe that i'm nostalgic for WordPerfect circa 1990 when everything clearly defined via function keys and you could by a reference card for it :). neverthelesss, TextMate has more promise than anything i've seen in years.
finally, are there example key binding configurations for TextMate that are emacs-like or bash-like or vi-like?
thanks in advance, -darren
On 25. Jul 2007, at 22:06, Darren Hardy wrote:
[...] my question is how do i ensure that my keybindings override everything? for example, TextMate uses ^h in lots of different bundles and i have to hand-edit a dozen different bundles to change ^h to something else. (i thought control- functions were reserved for user stuff?).
It is, but we mandated that after ⌃H was already in widespread use. I am afraid that you’ll need to change all the bundles which use ⌃H.
I am aware that this is tedious, and a future version is likely going to provide an alternative.
also, is there anyplace that has the definitive documentation for what the keybindings are? (TextMate's 'Show Keyboard Shortcuts' isn't showing my changes). i'm mostly interested in text navigation and basic word processing functions.
Not sure what you mean here. Are you referring to the action methods you can use in the key bindings dictionary? In this case, you should look at the methods implemented by NSResponder. But in practice, these are just methods sent to the first responder in the key chain that implements the method, so a definite list would be basically all methods of all classes which can be first responder in a Cocoa program -- of course not all these methods should be used.
Allan Odgaard wrote:
On 25. Jul 2007, at 22:06, Darren Hardy wrote:
[...] my question is how do i ensure that my keybindings override everything? for example, TextMate uses ^h in lots of different bundles and i have to hand-edit a dozen different bundles to change ^h to something else. (i thought control- functions were reserved for user stuff?).
It is, but we mandated that after ⌃H was already in widespread use. I am afraid that you’ll need to change all the bundles which use ⌃H.
I am aware that this is tedious, and a future version is likely going to provide an alternative.
For the record, I very much hope that some other keystroke is substituted for ⌃H in TM2, so that ⌃ + letters can be preserved for users’ personal stuff. :)
also, is there anyplace that has the definitive documentation for what the keybindings are? (TextMate's 'Show Keyboard Shortcuts' isn't showing my changes). i'm mostly interested in text navigation and basic word processing functions.
Not sure what you mean here. Are you referring to the action methods you can use in the key bindings dictionary? In this case, you should look at the methods implemented by NSResponder. But in practice, these are just methods sent to the first responder in the key chain that implements the method, so a definite list would be basically all methods of all classes which can be first responder in a Cocoa program -- of course not all these methods should be used.
See, for this: http://hcs.harvard.edu/~jrus/site/cocoa-text.html http://hcs.harvard.edu/~jrus/site/selectors.html
The main problem with the current setup is that bundles that have keybindings *without* a scope are problematic -- they override my key bindings and are not easily findable. I don't have as many problems with key bindings that are defined within a specific scope because they are easy to find and change. I would prefer that either my key bindings dict override everything else. Or that you change your conventions (in Help 16.4) that any Control+key or Control-Shift+key is reserved for text editing or user's choice stuff.
Thanks, -Darren
On 25 July 2007, at 4:32 PM, Jacob Rus wrote:
Allan Odgaard wrote:
On 25. Jul 2007, at 22:06, Darren Hardy wrote:
[...] my question is how do i ensure that my keybindings override everything? for example, TextMate uses ^h in lots of different bundles and i have to hand-edit a dozen different bundles to change ^h to something else. (i thought control- functions were reserved for user stuff?).
It is, but we mandated that after ⌃H was already in widespread use. I am afraid that you’ll need to change all the bundles which use ⌃H. I am aware that this is tedious, and a future version is likely going to provide an alternative.
For the record, I very much hope that some other keystroke is substituted for ⌃H in TM2, so that ⌃ + letters can be preserved for users’ personal stuff. :)
This is somewhat related but more general. It would be really nice if, for any bundle (or for all as a whole) there was some easy way of generating a web page or equivalent listing _everything_ in the bundle(s). And if the bundle editor allowed authors to associate quick textual descriptions of bundles items that (if present) would print out along with the bundle dump.
I certainly find that my biggest problem with TextMate is simply finding out what is offered by bundles, and how to use those features.
Thanks, Ken
Darren Hardy wrote:
The main problem with the current setup is that bundles that have keybindings *without* a scope are problematic -- they override my key bindings and are not easily findable. I don't have as many problems with key bindings that are defined within a specific scope because they are easy to find and change. I would prefer that either my key bindings dict override everything else. Or that you change your conventions (in Help 16.4) that any Control+key or Control-Shift+key is reserved for text editing or user's choice stuff.
Thanks, -Darren
On 25 July 2007, at 4:32 PM, Jacob Rus wrote:
Allan Odgaard wrote:
On 25. Jul 2007, at 22:06, Darren Hardy wrote:
[...] my question is how do i ensure that my keybindings override everything? for example, TextMate uses ^h in lots of different bundles and i have to hand-edit a dozen different bundles to change ^h to something else. (i thought control- functions were reserved for user stuff?).
It is, but we mandated that after ⌃H was already in widespread use. I am afraid that you’ll need to change all the bundles which use ⌃H. I am aware that this is tedious, and a future version is likely going to provide an alternative.
For the record, I very much hope that some other keystroke is substituted for ⌃H in TM2, so that ⌃ + letters can be preserved for users’ personal stuff. :)
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate
Kenneth,
Try ⌃⌥⌘K the 'Show Keyboard Shortcuts' command in the TextMate bundle might be helpful. I don't believe it shows commands that have neither a shortcut nor a tab trigger, but they are in the minority.
HTH
Peter
On 7/29/07, Kenneth McDonald kenneth.m.mcdonald@sbcglobal.net wrote:
This is somewhat related but more general. It would be really nice if, for any bundle (or for all as a whole) there was some easy way of generating a web page or equivalent listing _everything_ in the bundle(s). And if the bundle editor allowed authors to associate quick textual descriptions of bundles items that (if present) would print out along with the bundle dump.
I certainly find that my biggest problem with TextMate is simply finding out what is offered by bundles, and how to use those features.
Thanks, Ken
Darren Hardy wrote:
The main problem with the current setup is that bundles that have keybindings *without* a scope are problematic -- they override my key bindings and are not easily findable. I don't have as many problems with key bindings that are defined within a specific scope because they are easy to find and change. I would prefer that either my key bindings dict override everything else. Or that you change your conventions (in Help 16.4) that any Control+key or Control-Shift+key is reserved for text editing or user's choice stuff.
Thanks, -Darren
On 25 July 2007, at 4:32 PM, Jacob Rus wrote:
Allan Odgaard wrote:
On 25. Jul 2007, at 22:06, Darren Hardy wrote:
[...] my question is how do i ensure that my keybindings override everything? for example, TextMate uses ^h in lots of different bundles and i have to hand-edit a dozen different bundles to change ^h to something else. (i thought control- functions were reserved for user stuff?).
It is, but we mandated that after ⌃H was already in widespread use. I am afraid that you'll need to change all the bundles which use ⌃H. I am aware that this is tedious, and a future version is likely going to provide an alternative.
For the record, I very much hope that some other keystroke is substituted for ⌃H in TM2, so that ⌃ + letters can be preserved for users' personal stuff. :)
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate
Darren,
Apologies for possible double posting
This might help: hit ⌃⌘T then click on the magnifying glass and change it to key equivalent. The best way I know of for tracking down commands triggered by a particular shortcut.
HTH
Peter
On 7/28/07, Darren Hardy dhardy@bren.ucsb.edu wrote:
The main problem with the current setup is that bundles that have keybindings *without* a scope are problematic -- they override my key bindings and are not easily findable. I don't have as many problems with key bindings that are defined within a specific scope because they are easy to find and change. I would prefer that either my key bindings dict override everything else. Or that you change your conventions (in Help 16.4) that any Control+key or Control-Shift+key is reserved for text editing or user's choice stuff.
Thanks, -Darren
On 25 July 2007, at 4:32 PM, Jacob Rus wrote:
Allan Odgaard wrote:
On 25. Jul 2007, at 22:06, Darren Hardy wrote:
[...] my question is how do i ensure that my keybindings override everything? for example, TextMate uses ^h in lots of different bundles and i have to hand-edit a dozen different bundles to change ^h to something else. (i thought control- functions were reserved for user stuff?).
It is, but we mandated that after ⌃H was already in widespread use. I am afraid that you'll need to change all the bundles which use ⌃H. I am aware that this is tedious, and a future version is likely going to provide an alternative.
For the record, I very much hope that some other keystroke is substituted for ⌃H in TM2, so that ⌃ + letters can be preserved for users' personal stuff. :)
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate