I really like this kind of solution for android stuff. There are some very specific things that I end up doing all of the time and it's relatively easy to write the thing that solves my exact problem in the fewest number of screen taps. I'm not sure if it saves me time overall, but I also enjoy solving the problem.
I disagree. There is a fundamental difference. In OS X, keys tend to do the same things everywhere because there is this carefully drawn distinction between Cmd and Control. Other OS's have context sensitive key bindings.
Of course this isn't universally true, but OS X does seem to do it better than the other two.
In OS X, keys tend to do the same things everywhere because there is this carefully drawn distinction between Cmd and Control.
It's my 2nd year on the Mac and I continue to struggle with hotkeys: they are a mess.
On top of my head: how come Ctrl+left won't bring me to the end of the line in Terminal but does in every other editable window? And why Shift+Command+arrows switch tabs in Terminal but not in Safari? OSX doesn't even have a universal "close this goddamn window" hot key, which drives me crazy - some windows go away with Esc while others need Command+W, plus you get a super weird 3rd variety which can't be closed from the keyboard at all!
OSX is by far the least typist friendly GUI in my humble opinion. On the other hand Linux, especially Gnome, absolutely rocks with their handling of hot keys: there are many more of them (I can move/resize windows on a keyboard) and the bindings are very consistent. Whereas OSX is simply not usable without a mouse: even top-level menu items don't have hot keys, like Alt+E for "Edit" or Alt+F for "File".
In OS X, I find that I am better off using the Emacs-style keyboard shortcuts that are available in most applications (CTRL-A/E/N/P/F/B and a few others). Many of these shortcuts also work in the terminal when using bash. For your example going to the end of the line is CTRL-E; it works in most apps and you didn't even have to move your hands away from the home row. I use these when using bash on Linux, too.
I too am annoyed by those windows that require Esc to go away, like the font chooser, as I expect Cmd-W to work univerally for that. I found some AppleScripts somewhere that can be used to move/resize windows with the keyboard, but haven't tried them out yet, but that's also something I wish OS X could do out of box. Moving/resizing windows in OS X is really inefficient, and apps aren't very efficient about new window placement.
I use Cmd-Shift-{ and Cmd-Shift-} to switch tabs which appears to what's been standardized on, but just tried Cmd-Shift-arrows and it works in both Terminal and Safari (using Leopard) but not Firefox.
I find you have to memorize a lot more to be efficient with OS X's hot keys, due to the lack of mnemonics.
I've recently switched to OSX from Ubuntu and I've found it equally frustrating in the other direction.
My biggest gripe is that the home and end keys don't work as I expect anymore. In Ubuntu (and windows afaik), the home and end keys work in pretty much every app (terminal, editor, browser and pretty much any text field) for moving to the start/end of the current line.
One of the other frustrations, which isn't entirely OSX's fault.. is that the shortcuts in my editor of choice (jEdit) sometimes use command and sometimes use ctrl.
I'm not trying to criticize any OS in particular.. but I've personally found it incredibly frustrating. I admit it's probably just because of keyboard shortcuts I've used for years are etched into my muscle memory.
I can definitely appreciate that switching in the other direction is equally as frustrating.
It's quite simple to rebind home/end to work like you expect in all Cocoa text controls (i.e., almost anywhere you edit text -- Firefox is the one frustrating exception I'm aware of). If you haven't taken a look at the Cocoa keybinding system, I suggest you do so. It's really quite flexible.
And if the key bindings in OS X's System Preferences isn't something you want to use, Command+Left Arrow and Command+Right Arrow move the cursor to the front and end of the line respectively.
Apple has done a good job of keeping software relatively uniform, instead of having random menus, keystrokes, UI's they've managed to keep the look and feel of most programs relatively similar.
But, key bindings are hardly OS dependent, rendering the general point of this post irrelevant. It would be really interesting to see this transformed into a rant against a lack of uniform standards for standard functions.