Switching to OS X, Obstacle 3: Home/End buttons (Unsolved)
As mentioned, my keyboard troubles are not over yet. Now it’s the rather important issue of moving the cursor to the end or the beginning of the line. This is one of the absolutely most common movements for a developer, and doing it with a mouse is not even thinkable. On normal operating systems, those who has had a person with a brain design the key-bindings, you use Home and End to move to the beginning and end of the row respectively. And Shift+Home and Shift+End to do so while selecting the text. The MacBook doesn’t have Home and End buttons, so you would use Fn+Left arrow and Fn+Right arrow for this, but here we immediately run into a huge problem. They key bindings in Mac OS X has not been decided by somebody with a brain. Home and End absurdly has a tendency to move to the top and the bottom of the page, or sometimes the start and end of the edit buffer. Now, this wouldn’t matter so much if this was consistent, and if there was another key binding for the beginning and end of a line. But it isn’t consistent, and there is a whole host of key bindings for navigation, none which is universally accepted. Here is an overview of what different keybindings do in different applications. All applications I use quite a lot.
A bit of explanation: Green is when the key does what I want. That means in the case of Left arrow it moves to the start of the line, and the Right arrow, to the end of the line, and if you press shift it will also select. Yellow means it does something else that is, if not useful, then at least expected. White is if it does nothing, red means is does something unexpected, which is really super bad.
|Terminal (Note 2)||Fail||Fail||Fail||OK|
|iTerm (Note 2)||OK||Fail||Fail||OK|
|WingIDE||OK||OK||OK||OK (Note 3)|
Note 1: Normal Mac behaviour, and quite common is for Home/End to move to the top and bottom of the document. Safari does this, and using Shift will even select text as well if you are in a text area. TextEdit will select if you have shift, but not otherwise move.
Note 2: Vi refused to do Home/End with any of the key combinations in both terminals.
Note 3: WingIDE doesn’t map Shift+Ctrl+A and Shift+Ctrl+E correctly by default, but this is easily configurable.
The most important thing we can deduce above, is that the key combination that works mostly, is the Ctrl+A and Ctrl+E combination. It also do not work in Open Office, which is the software I use the least of the above. But, it is also the key combination I like the least of the above. And most of the softwares do NOT have reprogrammable keys.
This is a big drawback and a big obstacle for me to switch to Mac OS X. Unless I somehow can fix this and get reasonably consistent key bindings, I think it’s back to Ubuntu for me. Because although this is the last of my key problems, it is in no way the last of the OS X Obstacles.
To be continued.