views:

47

answers:

2

Hi guys! This is my first question on SO, so please be gentle :)

I've recently started a new job in which I do all of my development in PyDev on Eclipse 3.4.0 on OSX 10.6. Thus, I've been looking for a way to make Home and End act like they do on Windows (my native OS, and where I developed my muscle memory). I've mostly succeeded, but I hit one roadblock: dialogs. I figured out how to rebind Home to "Line Start" and End to "Line End" (plus their shifted equivalents), but it only seems to work in an editor context. When a dialog pops up, like to rename a file, Home and End have no effect at all. I've even set the key binding to be active when "in Dialogs and Windows", but that doesn't actually have any effect on dialogs.

Am I doing something wrong? Or is this a bug in Eclipse, or maybe PyDev?

A: 

There's a blog post and application described here:

http://www.starryhope.com/tech/2006/mac-os-x-home-and-end-keys/

Google is your first friend, Stackoverflow is your second.

Jon
I actually already did this a while back, and thankfully TextEdit actually obeys that file's settings, which makes my life much easier when typing notes in that app. Sadly both Eclipse and Firefox both appear to ignore that file entirely.
CoreDumpError
A: 

You can do it using the Eclipse Keys preferences (as described in the other answer).

Personally, I like that mapping across all my applications, not just Eclipse. I use Keyboard Maestro for that matter. It can do a lot more. Highly recommended.

zvikico
I already did set Home and End to their appropriate commands in the Keys preference. As I described in my question, my problem is that while I'm in a dialog box, Home and End don't perform the "Line Start" and "Line End" actions that I assigned them to, even though I set the "when" option to "in Dialogs and Windows". Keyboard Maestro looks pretty awesome, but I don't want to just make the Home key cause a Cmd-Left to be pressed. Cmd-left doesn't always mean "move the cursor to the beginning of the line."
CoreDumpError