All pastes #2098288 Raw Edit

Untitled

public text v1 · immutable
#2098288 ·published 2012-01-03 04:34 UTC
rendered paste body
/* -*- mode: C -*- */

/*   Control = ^
 *    Option = ~
 *   Command = @
 *     Shift = $
 * Backspace = \U0008
 *       Tab = \U0009
 *    Escape = \U001B or \033
 *     Enter = \U000A (newline) 
 *             \U000D (cr)
 *
 * The Obj-C selectors are action messages of the NSResponder class.
 */
{
    "^w" = "deleteWordBackward:";        /* C-w */
    "~d" = "deleteWordForward:";         /* M-d */
    "~t" = "transposeWords:";            /* M-t */
    "~/" = "complete:";                  /* M-/ */

    "~f" = "moveWordForward:";           /* M-f */
    "~b" = "moveWordBackward:";          /* M-b */
    "~<" = "moveToBeginningOfDocument:"; /* M-< */
    "~>" = "moveToEndOfDocument:";       /* M-> */
    "~v" = "pageUp:";                    /* M-v */

    "~c" = ("capitalizeWord:",           /* M-c */
            "moveForward:",
            "moveForward:");
    "~u" = ("uppercaseWord:",            /* M-u */
            "moveForward:",
            "moveForward:");
    "~l" = ("lowercaseWord:",            /* M-l */
            "moveForward:",
            "moveForward:");
    
    "^u" = "deleteToBeginningOfLine:";

    /* In the text system the mark and point are ranges, not just locations. */
    "^@" = "setMark:";                    /* C-@ */
    "^ " = "setMark:";                    /* C-space */
    
    /* Nesting allows emacs chord style shortcuts */
    "^x" = {
        "^k" = "deleteToMark:";           /* C-x C-k */
        "^x" = "swapWithMark:";           /* C-x C-x */
        "^m" = "selectToMark:";           /* C-x C-m */
        "^s" = "save:";                   /* C-x C-s */
        "^w" = "saveAs:";                 /* C-x C-w */

        /* Hope we're in a Lion app that supports autosave */
        "k"  = "close:";                  /* C-x C-k */
    };
}