/* ~/Library/KeyBindings/DefaultKeyBinding.dict */ /* Original bindings grabbed from Mike Ferris of lorax.com as shipped * with his TextExtras package. Modified by Mishka Gorodnitzky * . The following note is kept from those original * bindings. * * C-a and C-e bindings added, thanks to Patrick Linskey. (11/05/2003) */ /* This property list has not been converted to XML because XML * key-binding files are really nasty to try to read in a text editor... * PropertyListEditor using the "Show Strings as ASCII" option does OK, * but even that will put in real carriage returns and tabs and stuff * instead of backslash escape sequences and you also lose the useful * comments that way. */ /* When editing this file remember to be carefull with your syntax. * If you forget a semicolon or inadvertently insert a * control-character (due to testing while editing this file in * TextEdit, for example) then this file will be silently ignored and * can lead to puzzling behaviour while testing changes. */ { "~f" = "moveWordForward:"; /* M-f */ "~b" = "moveWordBackward:"; /* M-b */ "~<" = "moveToBeginningOfDocument:"; /* M-< */ "~>" = "moveToEndOfDocument:"; /* M-> */ "~v" = "pageUp:"; /* M-v */ "^v" = "pageDown:"; /* C-v */ "~d" = "deleteWordForward:"; /* M-d */ "~^h" = "deleteWordBackward:"; /* M-C-h */ "~\010" = "deleteWordBackward:"; /* M-backspace */ "~\177" = "deleteWordBackward:"; /* M-delete */ "~\UF728" = "deleteWordForward:"; /* delete */ "\UF729" = "moveToBeginningOfDocument:"; /* home */ "\UF72B" = "moveToEndOfDocument:"; /* end */ "@\UF729" = "moveToBeginningOfParagraph:";/* A-home */ "@\UF72B" = "moveToEndOfParagraph:"; /* A-end */ "@\UF700" = "moveToBeginningOfDocument:"; /* A-up */ "@\UF701" = "moveToEndOfDocument:"; /* A-down */ "^\UF700" = "pageUp:"; /* C-up */ "^\UF701" = "pageDown:"; /* C-down */ "\UF72C" = "pageUp:"; /* page-up */ "\UF72D" = "pageDown:"; /* page-down */ "^/" = "undo:"; /* C-/ */ "~c" = "capitalizeWord:"; /* M-c */ "~u" = "uppercaseWord:"; /* M-u */ "~l" = "lowercaseWord:"; /* M-l */ "^t" = "transpose:"; /* C-t */ "~t" = "transposeWords:"; /* M-t */ "~/" = "complete:"; /* M-/ */ "^g" = "_cancelKey:"; /* F5 */ "^a" = "moveToBeginningOfLine:"; /* C-a */ "^e" = "moveToEndOfLine:"; /* C-e */ /* Bind some ^x combos. */ "^x" = { "^x" = "swapWithMark:"; /* C-x C-x */ "^m" = "selectToMark:"; /* C-x C-m */ "^s" = "save:"; /* C-x C-s */ "^w" = "saveAs:"; /* C-x C-w */ /* Woops, the following bindings closes a window regardless of * it's file-saved status. Obviously it should work more like * Cmd-W does, gonna have to figure out the right method for that. */ /* "k" = "close:"; */ /* C-x C-k */ }; /* Mark-point stuff (Emacs-style mark and point bindings are * implemented but not bound by default. In the text system the * mark and point are ranges, not just locations. The "point" is * the selected range.) */ "^@" = "setMark:"; /* C-@ */ "^ " = "setMark:"; /* C-space */ "^w" = "deleteToMark:"; /* C-w */ /* Mac Style F1-F5 bindings */ "\UF704" = "undo:"; /* F1 */ "\UF705" = "cut:"; /* F2 */ "\UF706" = "copy:"; /* F3 */ "\UF707" = "paste:"; /* F4 */ "\UF708" = "_cancelKey:"; /* F5 */ /**** TextExtras related bindings ****/ /* Auto-indent binding */ "\015" = "insertNewline:"; /* carriage return */ "^j" = "insertNewline:"; /* Ctrl-j in case TextExtras isn't around */ "^\015" = "TE_insertNewlineAndIndent:"; /* Ctrl-return in case TextExtras isn't around */ /* Better backspace */ "\010" = "TE_indentFriendlyDeleteBackward:"; /* backspace */ "\177" = "TE_indentFriendlyDeleteBackward:"; /* delete (not del) */ "^\010" = "deleteBackward:"; /* C-backspace */ "^\177" = "deleteBackward:"; /* C-delete (not del) */ /* Better tab */ "\011" = "TE_indentFriendlyInsertTab:"; /* tab */ "^i" = "insertTab:"; /* C-i in case TextExtras isn't around */ "^\011" = "insertTab:"; /* C-tab in case TextExtras isn't around */ /* TextExtras features */ "^$T" = "TE_preferencesPanel:"; "^$I" = "TE_reindentWrappedLines:"; "^[" = "TE_indentLeft:"; "^]" = "TE_indentRight:"; "^$C" = "TE_specialCharactersPanel:"; "^$G" = "TE_gotoPanel:"; "^$D" = "TE_openQuickly:"; "^|" = "TE_executePipe:"; }