Change how Home and End Keys behave in Mac OS X

…the right way, instead of the stupid default way. In short:

Workaround for general apps/text editor, including TextMate

Use this app: http://www.starryhope.com/tech/apple/2006/keyfixer/
Or make it your way:

  1. Create ~/Library/KeyBindings/DefaultKeyBinding.dict
  2. Inside
      DefaultKeyBinding.dict

    write

    {
        /* home */
        "\\UF729" = "moveToBeginningOfLine:";
        "$\\UF729" = "moveToBeginningOfLineAndModifySelection:";
        /* end */
        "\\UF72B" = "moveToEndOfLine:";
        "$\\UF72B" = "moveToEndOfLineAndModifySelection:";
        /* page up/down */
        "\\UF72C" = "pageUp:";
        "\\UF72D" = "pageDown:";
    }
  3. Restart your favorite apps

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

Firefox

Use this add-on: https://addons.mozilla.org/en-US/firefox/addon/keyfixer/

Terminal

  1. Go to Terminal > Preferences > Settings > Keyboard
  2. Double click on Home key. Choose action: "send string to shell". Input: Escape, O, H so that you got 33OH in the textbox.
  3. Do the same for End key with 33OF

If it doesn’t help, try another key-binding: http://fplanque.com/dev/mac/mac-osx-terminal-page-up-down-home-end-of-line

Edit 1. Or playing with terminal types (x-term/vt220).

Visual Studio 2010 JavaScript Intellisense Behavior

Source: http://odetocode.com/Blogs/scott/archive/2010/06/13/visual-studio-2010-javascript-intellisense-behavior.aspx

After I installed Visual Studio 2010 I was having a difficult time editing .js files in Visual Studio. I habitually type the “(” character as soon as the function I want to call is highlighted in the Intellisense window, but in 2010 this behavior was no longer auto-completing the function name.

At first I thought this behavior was due to the new “suggestion mode” in Intellisense, but no amount of toggling with CTRL+ALT+SPACE would bring back the auto-complete behavior.

It turns out the two Intellisense modes (completion mode and suggestion mode) are not included for every editor (“JScript” being a notable omission). After some digging I found I could change this behavior by going to Tools -> Options -> Text Editor -> JScript -> Miscellaneous and unchecking the “Only use Tab or Enter to complete” option.

Hope that helps.