Skip to content

Instantly share code, notes, and snippets.

@christabella
Created January 26, 2021 15:09
Show Gist options
  • Save christabella/e53ab79d02ca9e169cbc473da32b1470 to your computer and use it in GitHub Desktop.
Save christabella/e53ab79d02ca9e169cbc473da32b1470 to your computer and use it in GitHub Desktop.
Emacs-ify OS X keybindings
/* Copy this file to ~/Library/KeyBindings/DefaultKeyBinding.dict */
/* http://www.gnufoo.org/macosx/ */
/* The original bindings are from Mike Ferris of lorax.com as shipped
* with his TextExtras package. They were further modified by Mishka Gorodnitzky
* (misaka@pobox.com), Patrick Linskey, and Llew Mason.
*/
{
"~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 */
"^/" = "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:"; /* C-g */
"^a" = "moveToBeginningOfLine:"; /* C-a */
"^e" = "moveToEndOfLine:"; /* C-e */
"~w" = "copy:";
"^w" = "cut:";
"^y" = "paste:";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment