Mac OS X Keybinding Action Code
This page lists the action codes for creating keybindings on OS X.
〔see Mac: Create Custom Keyboard Layout〕
Action can be inserting a character, a string, moving the cursor by character, word, line, or page up/down, or open file, create new file, etc.
Text insertion
/* insert a string */
("insertText:", "good morning");
/* insert a Unicode character that has hexadecimal code 03B1 */
("insertText:", "\U03B1");
To find the character and the hexadecimal code you want, see: Unicode Search 😄 .
Cursor movement
moveUp:moveDown:
moveLeft:moveRight:
moveBackward:moveForward:
moveWordBackward:moveWordForward:
moveWordLeft:moveWordRight:
pageUp:pageDown:
moveToBeginningOfLine:moveToEndOfLine:
moveToBeginningOfParagraph:moveToEndOfParagraph:
moveToBeginningOfDocument:moveToEndOfDocument:
Sample code:
{
"\UF729" = "moveToBeginningOfLine:"; /* home key */
"\UF72B" = "moveToEndOfLine:"; /* end key */
}
Move Cursor and Extend Selection
Most (or all) of these actions also have a version with suffix “AndModifySelection”. For example, there's
moveUpAndModifySelection:moveWordLeftAndModifySelection:moveToBeginningOfLineAndModifySelection:
These are the same as moving cursor but also extend the selection.
{
"\UF729" = "moveToBeginningOfLine:";
"\UF72B" = "moveToEndOfLine:";
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";
"$\UF72B" = "moveToEndOfLineAndModifySelection:";
}
For left-to-right languages, there is no difference between “moveLeft” and “moveBackward”. The “moveBackward” is for moving in the backward direction of the language flow.
Whenever there's a “Up”, there's also a “Down” version. Similarly, “Backward” with “Forward”, “Beginning” and “Ending”. In the following, these reverse versions omitted.
Moving the screen
scrollLineUp:scrollPageUp:center:
Text editing
deleteBackward:deleteWordBackward:deleteToBeginningOfLine:deleteToBeginningOfParagraph:
copy:cut:paste:
undo:redo:
setMark:yank:deleteToMark:selectToMark:
selectWord:selectLine:selectParagraph:selectAll:
insertText:insertNewline:insertLineBreak:
Text Transformation
capitalizeWord:lowercaseWord:uppercaseWord:
Common Mac Operations
newDocument:openDocument:checkSpelling:
saveDocument:saveDocumentAs:saveAllDocuments:revertDocumentToSaved:printDocument:
performZoom:performClose:performMiniaturize:hide:
Sequence of Actions
You can create a sequence of actions, like this:
/* insert bracket pairs and move cursor in-between */
"~k" = ("insertText:", "()", "moveLeft:");
/* copy all file content */
"~c" = ("selectAll:", "copy:");
For key syntax, see: Mac OS X Keybinding Key Syntax .