Most OS's give you the ability to remap keys as you see fit. in addition, most modern Linux distros allow you to hook up an Apple keyboard. Combine the two and this entire post is unnecessary.
All of that being said, there's no difference between using the Apple key for commands vs. other key combos (ctrl-alt-shift, etc) it's simply user preference.
If you take this argument down to it's base level, it's a frustration at having to learn the UI of a new program, the equivalent of Vim vs Emacs. All of that is fine, but burying that sentiment in a general "only Mac software can do this" post which isn't the case.
All of this being said, it's looking more and more like Textmate development is dead, perhaps it's time to look at one of the alternatives?
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.
It's the concept of multiple desktops that Windows doesn't have and OSX doesn't get, either, that makes working on Linux systems so worth it. Productivity can be dependent upon how you organize and switch between these desktops.
And if you use some of the lightweight window managers (Awesome, XMonad, Ion), they've all pretty much decided that the Windows key is the modifier to use for all window-manager shortcuts. Every app gets to use Ctrl & Alt however they like. Win+key is for the window manager itself, and is very convenient.
I just got a mac last week. I am a brand new mac user and don't see where the author is going with his rant. Why should Ubuntu change the default settings just to please him?
My last computer was loaded with Ubuntu. There are so many annoying differences between the two operating systems. I grumble, but I don't write a caustic article about them because I expect these difference to occur. These OSes have completely separate histories and were built by completely different people. There is no universally perfect computer interface.
I think this article is akin to complaining about the differences in the shifting pattern on Honda and BMW cars.
If you are using the GNOME desktop use gconf-editor to
set /desktop/gnome/interface/gtk_key_theme to "Emacs". As far as I can tell, everything works (like I am now typing ctrl-A on firefox to go to the beginning of this line)
There is also Alt, and Meta, and you can set your own keymaps in X.
Actually, one of the reasons I didn't like the mac is the lack of flexibility in this area (like re-mapping ctrl and caps lock). Doable but not as simple as in Linux.
Actually, re-mapping Caps Lock to Ctrl is a very simple change in the system preferences (but not so if you want to map it to Esc). You can remap Cmd/Option/Ctrl/Caps-Lock to any of those 4 keys, and you can do it specifically for different keyboards (so you can have your laptop keyboard mapped differently than the external keyboard you have plugged in; especially nice for connecting a PC keyboard to your laptop).
Cocoa by default already has some of the Emacs-style keyboard shortcuts (CTRL-A/E/P/N/B/F/K/T/Y/etc), and these are partially supported in Firefox 3.0. And it looks like remapping keys for Cocoa apps is very flexible and powerful, but I haven't messed with it personally yet (though I plan to try to get things even more Emacs-like, which appears to be pretty doable).
Of course you can't beat the flexibility that's achievable in the open source desktops/window managers.
In short, Linux doesn't suit the authors needs (where needs is defined as having the same keyboard short cuts as his favorite operating system). Nothing to see here. I'm at a loss as to why the author feels Linux's eventual goal is to convert him to Linux, or what profit he sees in moving from OSX to Linux.
If for some reason he really is determined to make this conversion (without changing his keyboard shortcuts) then he is welcome to start a Linux keyboard shortcut unification project, since as the cliche goes, the source is there.
Well, I can't switch to OS X because I don't have Banshee on it, Terminator, multiple desktops implemented in the right way, multiple text-only terminals, the ability to just plain not use the mouse (and OS X sucks too in handling the mouse), consistency on hotkeys (GNOME), a file system that doesn't sucks... and I can go on...
I bought a mac last year spent like 1600USD on it... and is there... I still use my Linux laptop. The mac hardware is pretty cool but I feel so unproductive on it.
All of that being said, there's no difference between using the Apple key for commands vs. other key combos (ctrl-alt-shift, etc) it's simply user preference.
If you take this argument down to it's base level, it's a frustration at having to learn the UI of a new program, the equivalent of Vim vs Emacs. All of that is fine, but burying that sentiment in a general "only Mac software can do this" post which isn't the case.
All of this being said, it's looking more and more like Textmate development is dead, perhaps it's time to look at one of the alternatives?