diff options
| author | Brett Terpstra | 2011-11-15 01:40:08 -0600 |
|---|---|---|
| committer | Brett Terpstra | 2011-11-15 01:40:08 -0600 |
| commit | a62dfd4f8aadc4d0dffbdba4916958f2bbf78cec (patch) | |
| tree | 57bd00c5b53139ebcfe6ac14cf11b47ef7bfb7b6 | |
| parent | 858ce6712b0e6181cfb69aa897bd9edb7c0b5582 (diff) | |
| download | KeyBindings-a62dfd4f8aadc4d0dffbdba4916958f2bbf78cec.tar.bz2 | |
tweaks and documentation update
| -rw-r--r-- | DefaultKeyBinding.dict | 122 | ||||
| -rw-r--r-- | KeyBindings.md | 196 | ||||
| -rw-r--r-- | KeyList.md | 103 | ||||
| -rwxr-xr-x | auto-document.rb | 51 | ||||
| -rw-r--r-- | readme.md | 614 |
5 files changed, 706 insertions, 380 deletions
diff --git a/DefaultKeyBinding.dict b/DefaultKeyBinding.dict index aa1f544..eccfb7e 100644 --- a/DefaultKeyBinding.dict +++ b/DefaultKeyBinding.dict @@ -50,9 +50,9 @@ "/" = (setMark:, moveToBeginningOfParagraph:, insertText:, "// ", swapWithMark:, moveRight:, moveRight:, moveRight:); // comment with "#" "\\" = (setMark:, moveToBeginningOfParagraph:, insertText:, "# ", swapWithMark:, moveRight:, moveRight:); - // TODO HTML COMMENTING + // HTML Comment "!" = (setMark:, moveToBeginningOfParagraph:, insertText:, "<!-- ", moveToEndOfParagraph:, insertText:, " -->", swapWithMark:, moveRight:, moveRight:, moveRight:, moveRight:, moveRight:); - // TODO CSS COMMENTING + // CSS Comment "*" = (setMark:, moveToBeginningOfParagraph:, insertText:, "/* ", moveToEndOfParagraph:, insertText:, " */", swapWithMark:, moveRight:, moveRight:, moveRight:); }; @@ -61,42 +61,46 @@ // italicize selection (Markdown) "@~i" = (selectWord:, setMark:, swapWithMark:, deleteToMark:, insertText:, "*", yank:, insertText:, " ", moveLeft:, insertText:, "*", moveRight:, deleteBackward:); - // increase/decrease markdown header level + // increase markdown header level "@~=" = (setMark:, moveToBeginningOfParagraph:, insertText:, "# ", selectWord:, delete:, swapWithMark:, moveRight:); + // decrease markdown header level "@~-" = (setMark:, moveToBeginningOfParagraph:, deleteForward:, swapWithMark:, moveLeft:); - "^@w" = { // Markdown commands - // force carriage return and tab in text field - "\U000A" = (insertNewlineIgnoringFieldEditor:); + "^@w" = { // Other Markdown commands + // force carriage return in text field + "\U000D" = (insertNewlineIgnoringFieldEditor:); + // force tab in text field "\U0009" = (insertText:, "\t"); - // Headlines - // #x, # - ###### - // removes leading whitespace after inserting hashmarks - "h" = { + + "h" = { // Markdown Headlines + // 1st level Headline "1" = (setMark:, moveToBeginningOfParagraph:, insertText:, "# ", selectWord:, insertText:, " ",swapWithMark:, moveToEndOfParagraph:); + // 2nd level Headline "2" = (setMark:, moveToBeginningOfParagraph:, insertText:, "## ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // 3rd level Headline "3" = (setMark:, moveToBeginningOfParagraph:, insertText:, "### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // 4th level Headline "4" = (setMark:, moveToBeginningOfParagraph:, insertText:, "#### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // 5th level Headline "5" = (setMark:, moveToBeginningOfParagraph:, insertText:, "##### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // 6th level Headline "6" = (setMark:, moveToBeginningOfParagraph:, insertText:, "###### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); }; - // links - "l" = { // markdown link - // create a link for selected text, cursor between () "[selected text](|)" - "t" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "]()", moveRight:, deleteBackward:, moveLeft:, setMark:, insertText:, "http://", selectToMark:); // link text - // create a link for selected text, inserting clipboard as url "[|selected text](clipboard contents)" - "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, setMark:, insertText:, " ", moveLeft:, insertText:, "](", pasteAsPlainText:, insertText:, ")", moveRight:, deleteBackward:, swapWithMark:); // link with clipboard + + "l" = { // markdown linking + // create a link for selected text, cursor between () "[selected text]()" + "t" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "]()", moveRight:, deleteBackward:, moveLeft:, setMark:, insertText:, "http://", selectToMark:); + // create a link for selected text, inserting clipboard as url "[cursorselected text](clipboard contents)" + "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, setMark:, insertText:, " ", moveLeft:, insertText:, "](", pasteAsPlainText:, insertText:, ")", moveRight:, deleteBackward:, swapWithMark:); }; - // image "i" = { // link as image - // same as lt, but with image syntax "" - "t" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "![", yank:, insertText:, " ", moveLeft:, insertText:, "]()", moveRight:, deleteBackward:, moveLeft:); // image link for text - // same as lc, but with image syntax "" - "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "", moveRight:, deleteBackward:, swapWithMark:); // image with clipboard + // same as lt, but with image syntax "" + "t" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "![", yank:, insertText:, " ", moveLeft:, insertText:, "]()", moveRight:, deleteBackward:, moveLeft:); + // same as lc, but with image syntax "" + "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "", moveRight:, deleteBackward:, swapWithMark:); }; - // references - ":" = { - // without selected text first, these make a mess + + ":" = { // references // create a reference from selected text "t" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "]: ", moveRight:, deleteBackward:); // create a reference from selected text, clipboard as url @@ -105,24 +109,25 @@ // insert reference link "[" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "][]", moveRight:, deleteBackward:, moveLeft:); - // lists + // + bulleted list "+" = (setMark:, moveToBeginningOfParagraph:, insertText:, "+ ", swapWithMark:, moveRight:, moveRight:); + // - bulleted list "-" = (setMark:, moveToBeginningOfParagraph:, insertText:, "- ", swapWithMark:, moveRight:, moveRight:); + // * bulleted list "*" = (setMark:, moveToBeginningOfParagraph:, insertText:, "* ", swapWithMark:, moveRight:, moveRight:); // convert current numbered list item to bullet, handles indentation - "8" = (setMark:, moveToEndOfParagraph:, - insertText:, "x", moveToBeginningOfParagraph:, moveWordForward:, moveRight:, moveWordForward:, moveWordBackward:, moveWordBackwardAndModifySelection:, insertText:, "* ", moveToEndOfParagraph:, - deleteBackward:, swapWithMark:, moveLeft:); + "8" = (setMark:, moveToEndOfParagraph:,insertText:, "x", moveToBeginningOfParagraph:, moveWordForward:, moveRight:, moveWordForward:, moveWordBackward:, moveWordBackwardAndModifySelection:, insertText:, "* ", moveToEndOfParagraph:,deleteBackward:, swapWithMark:, moveLeft:); // convert current bullet list item to numbered - "1" = (setMark:, moveToEndOfParagraph:, - insertText:, "x", moveToBeginningOfParagraph:, moveWordForward:, moveWordBackward:, moveLeftAndModifySelection:, moveLeftAndModifySelection:, insertText:, "1. ", moveToEndOfParagraph:, - deleteBackward:, swapWithMark:, moveRight:); + "1" = (setMark:, moveToEndOfParagraph:,insertText:, "x", moveToBeginningOfParagraph:, moveWordForward:, moveWordBackward:, moveLeftAndModifySelection:, moveLeftAndModifySelection:, insertText:, "1. ", moveToEndOfParagraph:,deleteBackward:, swapWithMark:, moveRight:); }; "^@e" = { // HTML - "=" = (insertText:, "=\"\"", moveLeft:); // ="|" - "e" = (insertText:, "&;", moveLeft:); // entity &|; - "/" = (insertText:, "http://"); // http:// + // ="cursor" + "=" = (insertText:, "=\"\"", moveLeft:); + // entity &cursor; + "e" = (insertText:, "&;", moveLeft:); + // http:// + "/" = (insertText:, "http://"); // Make previous word into paired HTML tag "t" = ( "setMark:", "moveWordBackward:", "deleteToMark:", "insertText:", "<", "yank:", "insertText:", ">", "setMark:", "insertText:", "</", "yank:", "insertText:", ">", "swapWithMark:"); "a" = { // HTML Links @@ -179,10 +184,13 @@ // outdent line (one tab or char) "^@h" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); - // same commands but with arrow keys + // move line up with arrow keys "^@\Uf700" = (selectParagraph:, setMark:, deleteToMark:, moveLeft:, moveToBeginningOfParagraph:, yank:, moveLeft:, selectToMark:, moveLeft:); + // move line down with arrow keys "^@\Uf701" = (selectParagraph:, setMark:, deleteToMark:, moveToEndOfParagraph:, moveRight:, setMark:, yank:, moveLeft:, selectToMark:); + // move line left with arrow keys "^@\UF703" = (setMark:, moveToBeginningOfParagraph:, insertText:, "\t", swapWithMark:, moveRight:); + // move line right with arrow keys "^@\UF702" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); // Control-shift-command-left arrow : Full outdent - Deletes all leading space (or first word) of line/paragraph @@ -202,15 +210,6 @@ // Insert blank line above paragraph (Command Shift Enter) "@$\U000D" = (moveToBeginningOfParagraph:, moveLeft:, insertNewline:); - // // Page Up - // "\Uf72c" = (pageUp:); - // // Page Down - // "\Uf72d" = (pageDown:); - // // Scroll up - // "~\Uf72c" = (scrollPageUp:); - // // Scroll Down - // "~\Uf72d" = (scrollPageDown:); - // hyphenate next space and move to next word "~_" = (selectWord:,moveRight:,setMark:,moveWordRight:,moveWordLeft:,moveLeft:,selectWord:,insertText:,"-",moveWordRight:); @@ -219,10 +218,8 @@ // jump to bookmark "~2" = (swapWithMark:,centerSelectionInVisibleArea:); - // A little vim, just as an example - - "$\U001B" = { // shift-escape before each command (using escape breaks other functionality) - "d" = { + "$\U001B" = { // Vim commands, experimental + "d" = { // delete commands // 'dd' delete line/paragraph "d" = (setMark:, selectParagraph:, delete:, delete:, swapWithMark:); // 'd$' delete from cursor to end of graf @@ -232,28 +229,22 @@ // 'd^' delete to beginning of paragraph "^" = (moveToBeginningOfParagraphAndModifySelection:, delete:); }; + // paste after "p" = (moveToEndOfParagraph:,moveRight:,insertNewline:,moveLeft:, yank:); + // paste before "P" = (moveToBeginningOfParagraph:, moveLeft:, yank:); + // Yank "y" = (yank:); - "5" = { + "5" = { // commands times 5 "d" = { // 'dd' delete line/paragraph - "d" = ( selectParagraph:, delete:, delete:, moveRight:, - selectParagraph:, delete:, delete:, moveRight:, - selectParagraph:, delete:, delete:, moveRight:, - selectParagraph:, delete:, delete:, moveRight:, - selectParagraph:, delete:, delete:, moveRight:); + "d" = ( selectParagraph:, delete:, delete:, moveRight:, selectParagraph:, delete:, delete:, moveRight:, selectParagraph:, delete:, delete:, moveRight:, selectParagraph:, delete:, delete:, moveRight:, selectParagraph:, delete:, delete:, moveRight:); }; - "p" = ( moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, - moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, - moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, - moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, - moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:); - "P" = ( moveToBeginningOfParagraph:, moveLeft:, yank:, - moveToBeginningOfParagraph:, moveLeft:, yank:, - moveToBeginningOfParagraph:, moveLeft:, yank:, - moveToBeginningOfParagraph:, moveLeft:, yank:, - moveToBeginningOfParagraph:, moveLeft:, yank:); + // paste 5 times after + "p" = ( moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:, moveToEndOfParagraph:, moveRight:, insertNewline:, moveLeft:, yank:); + // paste 5 times before + "P" = ( moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:); + // paste 5 times in a row "y" = ( yank:, yank:, yank:, yank:, yank:); }; }; @@ -262,7 +253,4 @@ "~r" = (moveLeftAndModifySelection:, copy:, moveRight:, paste:); // Forward delete to end of paragraph "@\Uf728" = (deleteToEndOfParagraph:); - - // TODO - // }
\ No newline at end of file diff --git a/KeyBindings.md b/KeyBindings.md index 142364e..359d437 100644 --- a/KeyBindings.md +++ b/KeyBindings.md @@ -14,96 +14,106 @@ DefaultKeyBindings.dict file for Mac OS X, created by [Brett Terpstra][] and bas *Grouped items begin with the groups shortcut, followed by the Keys specified. Items separated by commas are sequential, not concurrent.* -| Group | Keys | Function | -| :-------: | :---------------------: | :------------------------------------------------------ | -| | ⌥z | copy character before cursor | -| | ⌥r | repeat character before cursor | -| | ⌥t | transpose characters | -| | ⌥+ | uppercase word | -| | ⌥- | lowercase word | -| | ⌥. | capitalize word | -| | ^w | delete word before cursor | -| | ⌥w | select word | -| | ⌥f | cut word (fold) | -| | ⌥g | copy word (grab) | -| | ⌥h | paste word (hit) | -| | ⌥l | select entire line/paragraph | -| | ⌥s | select from beginning of paragrah to last character | -| | ⌥d | delete line/paragraph | -| | ⌥y | copy paragraph | -| | ⌥x | cut paragraph | -| | ⌥p | paste paragraph below | -| | ⌥⇧P | paste paragraph above | -| | ^⇧A | select to beginning of paragraph and copy | -| | ^⇧E | select to end of paragraph and copy | -| | ⌥q | cut to beginning of paragraph | -| | ⌥k | cut to end of paragraph | -| | ⌥, | move paragraph up a line, inserting blank space after | -| | ⌥␠ | move paragraph to end of document | -| | ⌥o | blank line after current | -| | ⌥⇧O | blank line before current | -| | ⌘⌥/ | comment with "//" | -| | ⌘⌥3 | comment with "#" | -[ All purpose key combos ] - - -| Group | Keys | Function | -| :---: | :--: | :------- | -| | ⌘⌥b | bold selection | -| | ⌘⌥i | italicize selection | -|^⌘w | ⏎ | force Return | -|^⌘w | ⇥ | force Tab | -|^⌘w | 1-4 | # Headlines | -|^⌘w | l,t | link text `"[selected text]( | )"` | -|^⌘w | l,c | clipboard link `"[ | selected text](clipboard contents)"` | -|^⌘w | i,t | image, selection as alt `""` | -|^⌘w | i,c | clipboard image `""` | -|^⌘w | :,t | create a reference from selected text | -|^⌘w | :,c | create a reference from selected text, clipboard as url | -|^⌘w | [ | insert reference link | -|^⌘w | +\|-\|* | lists | -|^⌘w | =,⌥⇧L | new list item after current | -|^⌘w | e | entity | -|^⌘w | =,/ | http:// | -[ Markdown-specific shortcuts (^⌘W) ] - - -| Group | Keys | Function | -| :---: | :--: | :------- | -|^⌘s | ( | wrap () with spaces | -|^⌘s | ) | wrap () no spaces | -|^⌘s | \[ | wrap [] with spaces | -|^⌘s | \] | wrap [] no spaces | -|^⌘s | { | wrap {} with spaces | -|^⌘s | } | wrap {} no spaces | -|^⌘s | < | wrap <> with spaces | -|^⌘s | > | wrap <> no spaces | -|^⌘s | ' | wrap single quotes | -|^⌘s | ` | wrap backticks | -|^⌘s | " | wrap double quote | -[ Surround (^⌘s) ] - - -| Group | Keys | Function | -| :---: | :--: | :------- | -| | ^⌘k | move line up | -| | ^⌘j | move line down | -| | ^⌘l | indent line | -| | ^⌘h | outdent line (all the way) | -| | ^⌥k | copy line and paste above | -| | ^⌥j | copy line and paste below | -| | ⌘⌥ꜛ| modify selection up | -| | ⌘⌥ꜜ| modify selection down | -| | ⌘␡ | Forward delete to end of paragraph | -[ List/Paragraph motion ] - - -| Group | Keys | Function | -| :---: | :-----------: | :--------------- | -| | PgUp | Page Up | -| | PgDown | Page Down | -| | ⌥PgUp | Scroll up | -| | ⌥PgDown| Scroll Down | -| | ⌥1 | bookmark | -| | ⌥2 | jump to bookmark | -[ Document navigation ]
\ No newline at end of file +| Group | Subgroup | Keys | Function | +| :----: | :------: | :------------: | :------------------------------------------------------------------------------------------------------------ | +| | | '^U' | uppercase word | +| | | '^u' | lowercase word | +| | | '^T' | titlecase word | +| | | '^⌥U' | uppercase current paragraph | +| | | '^⌥u' | lowercase current paragraph | +| | | '^⌥t' | titlecase paragraph | +| | | '^w' | delete word before cursor | +| | | '⌥w' | select word | +| | | '⌥S' | select entire line/paragraph | +| | | '⌥s' | select from beginning of paragrah to last character | +| | | '⌥d' | delete line/paragraph | +| | | '⌥y' | copy paragraph | +| | | '⌥x' | cut paragraph | +| | | '⌥p' | paste paragraph below | +| | | '⌥P' | paste paragraph above | +| | | '^A' | select to beginning of paragraph and copy | +| | | '^E' | select to end of paragraph and copy | +| | | '⌥q' | cut to beginning of paragraph | +| | | '⌥k' | cut to end of paragraph | +| | | '⌥o' | blank line after current | +| | | '⌥O' | blank line before current | +| ^⌘c | | '/' | comment with "//" | +| ^⌘c | | '\\' | comment with "#" | +| ^⌘c | | '!' | HTML Comment | +| ^⌘c | | '*' | CSS Comment | +| | | '⌘⌥b' | bold selection (Markdown) | +| | | '⌘⌥i' | italicize selection (Markdown) | +| | | '⌘⌥=' | increase markdown header level | +| | | '⌘⌥-' | decrease markdown header level | +| ^⌘w | | '↩' | force carriage return in text field | +| ^⌘w | | '⇥' | force tab in text field | +| ^⌘w | h | '1' | 1st level Headline | +| ^⌘w | h | '2' | 2nd level Headline | +| ^⌘w | h | '3' | 3rd level Headline | +| ^⌘w | h | '4' | 4th level Headline | +| ^⌘w | h | '5' | 5th level Headline | +| ^⌘w | h | '6' | 6th level Headline | +| ^⌘w | l | 't' | create a link for selected text, cursor between () "[selected text]()" | +| ^⌘w | l | 'c' | create a link for selected text, inserting clipboard as url "[cursorselected text](clipboard contents)" | +| ^⌘w | i | 't' | same as lt, but with image syntax "" | +| ^⌘w | i | 'c' | same as lc, but with image syntax "" | +| ^⌘w | : | 't' | create a reference from selected text | +| ^⌘w | : | 'c' | create a reference from selected text, clipboard as url | +| ^⌘w | | '[' | insert reference link | +| ^⌘w | | '+' | + bulleted list | +| ^⌘w | | '-' | - bulleted list | +| ^⌘w | | '*' | * bulleted list | +| ^⌘w | | '8' | convert current numbered list item to bullet, handles indentation | +| ^⌘w | | '1' | convert current bullet list item to numbered | +| ^⌘e | | '=' | ="cursor" | +| ^⌘e | | 'e' | entity &cursor; | +| ^⌘e | | '/' | http:// | +| ^⌘e | | 't' | Make previous word into paired HTML tag | +| ^⌘e | a | 't' | Insert HTML link for selected text, leave cursor in the href with "http://" selected | +| ^⌘e | a | 'c' | Insert HTML link with clipboard as href | +| ^⌘e | i | 't' | Insert image tag, any selected text is alt text, leave cursor in src attribute | +| ^⌘e | i | 'c' | Insert image tag, clipboard as src, any selected text as alt, leave cursor at beginning of alt attribute | +| | | '⌥⌘↩' | Command Option Enter to continue a list item with indentation and include the same delimiter | +| | | '⇧⇥' | Shift Tab remove one tab (or character) from start of line (outdent) | +| ^⌘s | | '(' | wrap () with spaces | +| ^⌘s | | ')' | wrap () no spaces | +| ^⌘s | | '[' | wrap [] with spaces | +| ^⌘s | | ']' | wrap [] no spaces | +| ^⌘s | | '{' | wrap {} with spaces | +| ^⌘s | | '}' | wrap {} no spaces | +| ^⌘s | | '<' | wrap <> with spaces | +| ^⌘s | | '>' | wrap <> no spaces | +| ^⌘s | | ''' | wrap single quotes | +| ^⌘s | | '`' | wrap backticks | +| ^⌘s | | '\' | wrap double quote | +| | | '^⌘k' | move line up | +| | | '^⌘j' | move line down | +| | | '^⌘l' | indent line | +| | | '^⌘h' | outdent line (one tab or char) | +| | | '^⌘↑' | move line up with arrow keys | +| | | '^⌘↓' | move line down with arrow keys | +| | | '^⌘→' | move line left with arrow keys | +| | | '^⌘←' | move line right with arrow keys | +| | | '^⇧⌘←' | Control-shift-command-left arrow : Full outdent - Deletes all leading space (or first word) of line/paragraph | +| | | '⌘⌥⇧↑' | modify selection up by paragraph (Command Option Shift Up) | +| | | '⌘⌥⇧↓' | modify selection down by paragraph (Command Option Shift Down) | +| | | '^⌥⇧←' | modify selection left by word | +| | | '^⌥⇧→' | modify selection right by word | +| | | '⌘↩' | TextMate Command-Return (Command Enter) | +| | | '⌘⇧↩' | Insert blank line above paragraph (Command Shift Enter) | +| | | '⌥_' | hyphenate next space and move to next word | +| | | '⌥1' | bookmark | +| | | '⌥2' | jump to bookmark | +| ⇧⎋ | d | 'd' | 'dd' delete line/paragraph | +| ⇧⎋ | d | '⇧' | 'd$' delete from cursor to end of graf | +| ⇧⎋ | d | '0' | 'd0' delete to beginning of paragraph | +| ⇧⎋ | d | '^' | 'd^' delete to beginning of paragraph | +| ⇧⎋ | | 'p' | paste after | +| ⇧⎋ | | 'P' | paste before | +| ⇧⎋ | | 'y' | Yank | +| ⇧⎋ | 5 | 'd' | 'dd' delete line/paragraph | +| ⇧⎋ | | 'p' | paste 5 times after | +| ⇧⎋ | | 'P' | paste 5 times before | +| ⇧⎋ | | 'y' | paste 5 times in a row | +| | | '⌥r' | repeat character before cursor | +| | | '⌘␡' | Forward delete to end of paragraph | diff --git a/KeyList.md b/KeyList.md new file mode 100644 index 0000000..009ee50 --- /dev/null +++ b/KeyList.md @@ -0,0 +1,103 @@ +| Group | Subgroup | Keys | Function | +| :----: | :------: | :------------: | :------------------------------------------------------------------------------------------------------------ | +| | | '^U' | uppercase word | +| | | '^u' | lowercase word | +| | | '^T' | titlecase word | +| | | '^⌥U' | uppercase current paragraph | +| | | '^⌥u' | lowercase current paragraph | +| | | '^⌥t' | titlecase paragraph | +| | | '^w' | delete word before cursor | +| | | '⌥w' | select word | +| | | '⌥S' | select entire line/paragraph | +| | | '⌥s' | select from beginning of paragrah to last character | +| | | '⌥d' | delete line/paragraph | +| | | '⌥y' | copy paragraph | +| | | '⌥x' | cut paragraph | +| | | '⌥p' | paste paragraph below | +| | | '⌥P' | paste paragraph above | +| | | '^A' | select to beginning of paragraph and copy | +| | | '^E' | select to end of paragraph and copy | +| | | '⌥q' | cut to beginning of paragraph | +| | | '⌥k' | cut to end of paragraph | +| | | '⌥o' | blank line after current | +| | | '⌥O' | blank line before current | +| ^⌘c | | '/' | comment with "//" | +| ^⌘c | | '\\' | comment with "#" | +| ^⌘c | | '!' | HTML Comment | +| ^⌘c | | '*' | CSS Comment | +| | | '⌘⌥b' | bold selection (Markdown) | +| | | '⌘⌥i' | italicize selection (Markdown) | +| | | '⌘⌥=' | increase markdown header level | +| | | '⌘⌥-' | decrease markdown header level | +| ^⌘w | | '↩' | force carriage return in text field | +| ^⌘w | | '⇥' | force tab in text field | +| ^⌘w | h | '1' | 1st level Headline | +| ^⌘w | h | '2' | 2nd level Headline | +| ^⌘w | h | '3' | 3rd level Headline | +| ^⌘w | h | '4' | 4th level Headline | +| ^⌘w | h | '5' | 5th level Headline | +| ^⌘w | h | '6' | 6th level Headline | +| ^⌘w | l | 't' | create a link for selected text, cursor between () "[selected text]()" | +| ^⌘w | l | 'c' | create a link for selected text, inserting clipboard as url "[cursorselected text](clipboard contents)" | +| ^⌘w | i | 't' | same as lt, but with image syntax "" | +| ^⌘w | i | 'c' | same as lc, but with image syntax "" | +| ^⌘w | : | 't' | create a reference from selected text | +| ^⌘w | : | 'c' | create a reference from selected text, clipboard as url | +| ^⌘w | | '[' | insert reference link | +| ^⌘w | | '+' | + bulleted list | +| ^⌘w | | '-' | - bulleted list | +| ^⌘w | | '*' | * bulleted list | +| ^⌘w | | '8' | convert current numbered list item to bullet, handles indentation | +| ^⌘w | | '1' | convert current bullet list item to numbered | +| ^⌘e | | '=' | ="cursor" | +| ^⌘e | | 'e' | entity &cursor; | +| ^⌘e | | '/' | http:// | +| ^⌘e | | 't' | Make previous word into paired HTML tag | +| ^⌘e | a | 't' | Insert HTML link for selected text, leave cursor in the href with "http://" selected | +| ^⌘e | a | 'c' | Insert HTML link with clipboard as href | +| ^⌘e | i | 't' | Insert image tag, any selected text is alt text, leave cursor in src attribute | +| ^⌘e | i | 'c' | Insert image tag, clipboard as src, any selected text as alt, leave cursor at beginning of alt attribute | +| | | '⌥⌘↩' | Command Option Enter to continue a list item with indentation and include the same delimiter | +| | | '⇧⇥' | Shift Tab remove one tab (or character) from start of line (outdent) | +| ^⌘s | | '(' | wrap () with spaces | +| ^⌘s | | ')' | wrap () no spaces | +| ^⌘s | | '[' | wrap [] with spaces | +| ^⌘s | | ']' | wrap [] no spaces | +| ^⌘s | | '{' | wrap {} with spaces | +| ^⌘s | | '}' | wrap {} no spaces | +| ^⌘s | | '<' | wrap <> with spaces | +| ^⌘s | | '>' | wrap <> no spaces | +| ^⌘s | | ''' | wrap single quotes | +| ^⌘s | | '`' | wrap backticks | +| ^⌘s | | '\' | wrap double quote | +| | | '^⌘k' | move line up | +| | | '^⌘j' | move line down | +| | | '^⌘l' | indent line | +| | | '^⌘h' | outdent line (one tab or char) | +| | | '^⌘↑' | move line up with arrow keys | +| | | '^⌘↓' | move line down with arrow keys | +| | | '^⌘→' | move line left with arrow keys | +| | | '^⌘←' | move line right with arrow keys | +| | | '^⇧⌘←' | Control-shift-command-left arrow : Full outdent - Deletes all leading space (or first word) of line/paragraph | +| | | '⌘⌥⇧↑' | modify selection up by paragraph (Command Option Shift Up) | +| | | '⌘⌥⇧↓' | modify selection down by paragraph (Command Option Shift Down) | +| | | '^⌥⇧←' | modify selection left by word | +| | | '^⌥⇧→' | modify selection right by word | +| | | '⌘↩' | TextMate Command-Return (Command Enter) | +| | | '⌘⇧↩' | Insert blank line above paragraph (Command Shift Enter) | +| | | '⌥_' | hyphenate next space and move to next word | +| | | '⌥1' | bookmark | +| | | '⌥2' | jump to bookmark | +| ⇧⎋ | d | 'd' | 'dd' delete line/paragraph | +| ⇧⎋ | d | '⇧' | 'd$' delete from cursor to end of graf | +| ⇧⎋ | d | '0' | 'd0' delete to beginning of paragraph | +| ⇧⎋ | d | '^' | 'd^' delete to beginning of paragraph | +| ⇧⎋ | | 'p' | paste after | +| ⇧⎋ | | 'P' | paste before | +| ⇧⎋ | | 'y' | Yank | +| ⇧⎋ | 5 | 'd' | 'dd' delete line/paragraph | +| ⇧⎋ | | 'p' | paste 5 times after | +| ⇧⎋ | | 'P' | paste 5 times before | +| ⇧⎋ | | 'y' | paste 5 times in a row | +| | | '⌥r' | repeat character before cursor | +| | | '⌘␡' | Forward delete to end of paragraph | diff --git a/auto-document.rb b/auto-document.rb new file mode 100755 index 0000000..f2db812 --- /dev/null +++ b/auto-document.rb @@ -0,0 +1,51 @@ +#!/usr/bin/ruby +require 'cgi' + +fh = File.new('./DefaultKeyBinding.dict','r') +outfile = File.new('KeyList.md','w') + +ingroup = 0 +group, subgroup, comment, key = '' + +output =<<HEADER +| Group | Subgroup | Keys | Function | +| :-------: | :------: | :---------------------: | :------------------------------------------------------ | +HEADER + +def sub_symbols(text) + return text.gsub(/@/,'⌘').gsub(/\$/,'⇧').gsub(/~/,'⌥').gsub('\UF702','←').gsub('\UF703','→').gsub('\Uf700','↑').gsub('\Uf701','↓').gsub('\U000D','↩').gsub('\Uf728','␡').gsub('\U0009','⇥').gsub('\U001B', '⎋') +end + +counter = 0 +while (line = fh.gets) + counter+=1 + if line =~ /\s*\};/ + if ingroup == 1 + group = '' + ingroup = 0 + elsif ingroup > 1 + subgroup = '' + ingroup -= 1 + end + elsif line =~ /^\s*\"([^\"]+)"\s*=[^(]+\{\s*\/\/(.*)$/ + if ingroup == 1 + ingroup += 1 + subgroup = "#{sub_symbols($1.strip)}" + elsif ingroup == 0 + group = "#{sub_symbols($1.strip)}" + ingroup = 1 + end + elsif line =~ /^\s*\/\/(.*)$/ + comment = $1.strip + nextline = fh.gets + if nextline =~ /^\s*\"([^\"]+)\"/ + key = sub_symbols($1.strip) + output += "| #{group} | #{subgroup} | '#{key}' | #{comment} |\n" + end + else + puts "#{counter}: #{line}" + end +end +fh.close +outfile.puts output +outfile.close
\ No newline at end of file @@ -5,23 +5,25 @@ DefaultKeyBindings.dict file (`~/Library/KeyBindings/DefaultKeyBindings.dict`) f [lrigists]: https://gist.github.com/Lri [brett terpstra]: http://brettterpstra.com -*Grouped items begin with the groups shortcut, followed by the Keys specified. Items separated by commas are sequential, not concurrent.* +*Grouped items begin with the groups shortcut (if exists), followed by a subgroup (if exists) followed by the Keys specified.* <p>DefaultKeyBindings.dict file for Mac OS X, created by <a href="http://brettterpstra.com">Brett Terpstra</a> and based heavily on work done by <a href="http://www.cs.helsinki.fi/u/lranta/keybindings/">Lri</a>. See Lri’s <a href="https://gist.github.com/Lri">gists</a> and <a href="http://www.cs.helsinki.fi/u/lranta/">website</a> for more coding madness.</p> <p><em>Grouped items begin with the groups shortcut, followed by the Keys specified. Items separated by commas are sequential, not concurrent.</em></p> + <table> -<caption id="allpurposekeycombos"> All purpose key combos </caption> <colgroup> <col style="text-align:center;"/> <col style="text-align:center;"/> +<col style="text-align:center;"/> <col style="text-align:left;"/> </colgroup> <thead> <tr> <th style="text-align:center;">Group</th> + <th style="text-align:center;">Subgroup</th> <th style="text-align:center;">Keys</th> <th style="text-align:left;">Function</th> </tr> @@ -30,438 +32,610 @@ DefaultKeyBindings.dict file (`~/Library/KeyBindings/DefaultKeyBindings.dict`) f <tbody> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-z</td> - <td style="text-align:left;">copy character before cursor</td> -</tr> -<tr> - <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-r</td> - <td style="text-align:left;">repeat character before cursor</td> -</tr> -<tr> - <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-t</td> - <td style="text-align:left;">transpose characters</td> -</tr> -<tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-+</td> + <td style="text-align:center;">‘^U’</td> <td style="text-align:left;">uppercase word</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt--</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^u’</td> <td style="text-align:left;">lowercase word</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-.</td> - <td style="text-align:left;">capitalize word</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^T’</td> + <td style="text-align:left;">titlecase word</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-w</td> - <td style="text-align:left;">delete word before cursor</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌥U’</td> + <td style="text-align:left;">uppercase current paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-w</td> - <td style="text-align:left;">select word</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌥u’</td> + <td style="text-align:left;">lowercase current paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-f</td> - <td style="text-align:left;">cut word (fold)</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌥t’</td> + <td style="text-align:left;">titlecase paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-g</td> - <td style="text-align:left;">copy word (grab)</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^w’</td> + <td style="text-align:left;">delete word before cursor</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-h</td> - <td style="text-align:left;">paste word (hit)</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥w’</td> + <td style="text-align:left;">select word</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-l</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥S’</td> <td style="text-align:left;">select entire line/paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥s’</td> <td style="text-align:left;">select from beginning of paragrah to last character</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-d</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥d’</td> <td style="text-align:left;">delete line/paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-y</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥y’</td> <td style="text-align:left;">copy paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-x</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥x’</td> <td style="text-align:left;">cut paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-p</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥p’</td> <td style="text-align:left;">paste paragraph below</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-Shift-P</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥P’</td> <td style="text-align:left;">paste paragraph above</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Shift-A</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^A’</td> <td style="text-align:left;">select to beginning of paragraph and copy</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Shift-E</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^E’</td> <td style="text-align:left;">select to end of paragraph and copy</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-q</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥q’</td> <td style="text-align:left;">cut to beginning of paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-k</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥k’</td> <td style="text-align:left;">cut to end of paragraph</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-,</td> - <td style="text-align:left;">move paragraph up a line, inserting blank space after</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥o’</td> + <td style="text-align:left;">blank line after current</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-␠</td> - <td style="text-align:left;">move paragraph to end of document</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥O’</td> + <td style="text-align:left;">blank line before current</td> </tr> <tr> + <td style="text-align:center;">^⌘c</td> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-o</td> - <td style="text-align:left;">blank line after current</td> + <td style="text-align:center;">‘/’</td> + <td style="text-align:left;">comment with “//”</td> </tr> <tr> + <td style="text-align:center;">^⌘c</td> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-Shift-O</td> - <td style="text-align:left;">blank line before current</td> + <td style="text-align:center;">‘\’</td> + <td style="text-align:left;">comment with “#”</td> </tr> <tr> + <td style="text-align:center;">^⌘c</td> <td style="text-align:center;"></td> - <td style="text-align:center;">Cmd-Opt-/</td> - <td style="text-align:left;">comment with “//”</td> + <td style="text-align:center;">‘!’</td> + <td style="text-align:left;">HTML Comment</td> </tr> <tr> + <td style="text-align:center;">^⌘c</td> <td style="text-align:center;"></td> - <td style="text-align:center;">Cmd-Opt-3</td> - <td style="text-align:left;">comment with “#”</td> + <td style="text-align:center;">‘*’</td> + <td style="text-align:left;">CSS Comment</td> </tr> -</tbody> -</table> - - -<table> -<caption id="markdown-specificshortcutsx2318w"> Markdown-specific shortcuts (Ctrl-Cmd-W) </caption> -<colgroup> -<col style="text-align:center;"/> -<col style="text-align:center;"/> -<col style="text-align:left;"/> -</colgroup> - -<thead> <tr> - <th style="text-align:center;">Group</th> - <th style="text-align:center;">Keys</th> - <th style="text-align:left;">Function</th> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘⌥b’</td> + <td style="text-align:left;">bold selection (Markdown)</td> </tr> -</thead> - -<tbody> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Cmd-Opt-b</td> - <td style="text-align:left;">bold selection</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘⌥i’</td> + <td style="text-align:left;">italicize selection (Markdown)</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Cmd-Opt-i</td> - <td style="text-align:left;">italicize selection</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘⌥=’</td> + <td style="text-align:left;">increase markdown header level</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">Return</td> - <td style="text-align:left;">force Return</td> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘⌥-’</td> + <td style="text-align:left;">decrease markdown header level</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘↩’</td> + <td style="text-align:left;">force carriage return in text field</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⇥’</td> + <td style="text-align:left;">force tab in text field</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">h</td> + <td style="text-align:center;">‘1’</td> + <td style="text-align:left;">1st level Headline</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">h</td> + <td style="text-align:center;">‘2’</td> + <td style="text-align:left;">2nd level Headline</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">h</td> + <td style="text-align:center;">‘3’</td> + <td style="text-align:left;">3rd level Headline</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">h</td> + <td style="text-align:center;">‘4’</td> + <td style="text-align:left;">4th level Headline</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">⇥</td> - <td style="text-align:left;">force Tab</td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">h</td> + <td style="text-align:center;">‘5’</td> + <td style="text-align:left;">5th level Headline</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">1–4</td> - <td style="text-align:left;"># Headlines</td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">h</td> + <td style="text-align:center;">‘6’</td> + <td style="text-align:left;">6th level Headline</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">l,t</td> - <td style="text-align:left;">link text <code>"[selected text](|)"</code></td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">l</td> + <td style="text-align:center;">‘t’</td> + <td style="text-align:left;">create a link for selected text, cursor between () “<a href="">selected text</a>”</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">l,c</td> - <td style="text-align:left;">clipboard link <code>"[|selected text](clipboard contents)"</code></td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">l</td> + <td style="text-align:center;">‘c’</td> + <td style="text-align:left;">create a link for selected text, inserting clipboard as url “[cursorselected text](clipboard contents)”</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">i,t</td> - <td style="text-align:left;">image, selection as alt <code>""</code></td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">i</td> + <td style="text-align:center;">‘t’</td> + <td style="text-align:left;">same as lt, but with image syntax “<img src="cursor" alt="selected text" />”</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">i,c</td> - <td style="text-align:left;">clipboard image <code>""</code></td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">i</td> + <td style="text-align:center;">‘c’</td> + <td style="text-align:left;">same as lc, but with image syntax “<img src="cursor" alt="selected text" />”</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">:,t</td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">:</td> + <td style="text-align:center;">‘t’</td> <td style="text-align:left;">create a reference from selected text</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">:,c</td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;">:</td> + <td style="text-align:center;">‘c’</td> <td style="text-align:left;">create a reference from selected text, clipboard as url</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">[</td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘[’</td> <td style="text-align:left;">insert reference link</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">+|-|*</td> - <td style="text-align:left;">lists</td> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘+’</td> + <td style="text-align:left;">+ bulleted list</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘-’</td> + <td style="text-align:left;">- bulleted list</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘*’</td> + <td style="text-align:left;">* bulleted list</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘8’</td> + <td style="text-align:left;">convert current numbered list item to bullet, handles indentation</td> +</tr> +<tr> + <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘1’</td> + <td style="text-align:left;">convert current bullet list item to numbered</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">=,Opt-Shift-L</td> - <td style="text-align:left;">new list item after current</td> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘=’</td> + <td style="text-align:left;">=“cursor”</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">e</td> - <td style="text-align:left;">entity</td> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘e’</td> + <td style="text-align:left;">entity &cursor;</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-w</td> - <td style="text-align:center;">=,/</td> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘/’</td> <td style="text-align:left;">http://</td> </tr> -</tbody> -</table> - - -<table> -<caption id="surroundx2318s"> Surround (Ctrl-Cmd-s) </caption> -<colgroup> -<col style="text-align:center;"/> -<col style="text-align:center;"/> -<col style="text-align:left;"/> -</colgroup> - -<thead> <tr> - <th style="text-align:center;">Group</th> - <th style="text-align:center;">Keys</th> - <th style="text-align:left;">Function</th> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘t’</td> + <td style="text-align:left;">Make previous word into paired HTML tag</td> +</tr> +<tr> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;">a</td> + <td style="text-align:center;">‘t’</td> + <td style="text-align:left;">Insert HTML link for selected text, leave cursor in the href with “http://” selected</td> +</tr> +<tr> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;">a</td> + <td style="text-align:center;">‘c’</td> + <td style="text-align:left;">Insert HTML link with clipboard as href</td> +</tr> +<tr> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;">i</td> + <td style="text-align:center;">‘t’</td> + <td style="text-align:left;">Insert image tag, any selected text is alt text, leave cursor in src attribute</td> +</tr> +<tr> + <td style="text-align:center;">^⌘e</td> + <td style="text-align:center;">i</td> + <td style="text-align:center;">‘c’</td> + <td style="text-align:left;">Insert image tag, clipboard as src, any selected text as alt, leave cursor at beginning of alt attribute</td> </tr> -</thead> - -<tbody> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">(</td> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥⌘↩’</td> + <td style="text-align:left;">Command Option Enter to continue a list item with indentation and include the same delimiter</td> +</tr> +<tr> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⇧⇥’</td> + <td style="text-align:left;">Shift Tab remove one tab (or character) from start of line (outdent)</td> +</tr> +<tr> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘(’</td> <td style="text-align:left;">wrap () with spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">)</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘)’</td> <td style="text-align:left;">wrap () no spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">[</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘[’</td> <td style="text-align:left;">wrap [] with spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">]</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘]’</td> <td style="text-align:left;">wrap [] no spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">{</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘{’</td> <td style="text-align:left;">wrap {} with spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">}</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘}’</td> <td style="text-align:left;">wrap {} no spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;"><</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘<’</td> <td style="text-align:left;">wrap <> with spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">></td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘>’</td> <td style="text-align:left;">wrap <> no spaces</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">’</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">’’’</td> <td style="text-align:left;">wrap single quotes</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">`</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘`’</td> <td style="text-align:left;">wrap backticks</td> </tr> <tr> - <td style="text-align:center;">Ctrl-Cmd-s</td> - <td style="text-align:center;">"</td> + <td style="text-align:center;">^⌘s</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘\’</td> <td style="text-align:left;">wrap double quote</td> </tr> -</tbody> -</table> - - -<table> -<caption id="listparagraphmotion"> List/Paragraph motion </caption> -<colgroup> -<col style="text-align:center;"/> -<col style="text-align:center;"/> -<col style="text-align:left;"/> -</colgroup> - -<thead> -<tr> - <th style="text-align:center;">Group</th> - <th style="text-align:center;">Keys</th> - <th style="text-align:left;">Function</th> -</tr> -</thead> - -<tbody> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Cmd-k</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘k’</td> <td style="text-align:left;">move line up</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Cmd-j</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘j’</td> <td style="text-align:left;">move line down</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Cmd-l</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘l’</td> <td style="text-align:left;">indent line</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Cmd-h</td> - <td style="text-align:left;">outdent line (all the way)</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘h’</td> + <td style="text-align:left;">outdent line (one tab or char)</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Opt-k</td> - <td style="text-align:left;">copy line and paste above</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘↑’</td> + <td style="text-align:left;">move line up with arrow keys</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Ctrl-Opt-j</td> - <td style="text-align:left;">copy line and paste below</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘↓’</td> + <td style="text-align:left;">move line down with arrow keys</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Cmd-Opt-Up</td> - <td style="text-align:left;">modify selection up</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘→’</td> + <td style="text-align:left;">move line left with arrow keys</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Cmd-Opt-Down</td> - <td style="text-align:left;">modify selection down</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌘←’</td> + <td style="text-align:left;">move line right with arrow keys</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Cmd-Del</td> - <td style="text-align:left;">Forward delete to end of paragraph</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⇧⌘←’</td> + <td style="text-align:left;">Control-shift-command-left arrow : Full outdent - Deletes all leading space (or first word) of line/paragraph</td> </tr> -</tbody> -</table> - - -<table> -<caption id="documentnavigation"> Document navigation </caption> -<colgroup> -<col style="text-align:center;"/> -<col style="text-align:center;"/> -<col style="text-align:left;"/> -</colgroup> - -<thead> <tr> - <th style="text-align:center;">Group</th> - <th style="text-align:center;">Keys</th> - <th style="text-align:left;">Function</th> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘⌥⇧↑’</td> + <td style="text-align:left;">modify selection up by paragraph (Command Option Shift Up)</td> +</tr> +<tr> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘⌥⇧↓’</td> + <td style="text-align:left;">modify selection down by paragraph (Command Option Shift Down)</td> +</tr> +<tr> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌥⇧←’</td> + <td style="text-align:left;">modify selection left by word</td> </tr> -</thead> - -<tbody> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">PgUp</td> - <td style="text-align:left;">Page Up</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘^⌥⇧→’</td> + <td style="text-align:left;">modify selection right by word</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">PgDown</td> - <td style="text-align:left;">Page Down</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘↩’</td> + <td style="text-align:left;">TextMate Command-Return (Command Enter)</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-PgUp</td> - <td style="text-align:left;">Scroll up</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘⇧↩’</td> + <td style="text-align:left;">Insert blank line above paragraph (Command Shift Enter)</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-PgDown</td> - <td style="text-align:left;">Scroll Down</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥_’</td> + <td style="text-align:left;">hyphenate next space and move to next word</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-1</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥1’</td> <td style="text-align:left;">bookmark</td> </tr> <tr> <td style="text-align:center;"></td> - <td style="text-align:center;">Opt-2</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥2’</td> <td style="text-align:left;">jump to bookmark</td> </tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;">d</td> + <td style="text-align:center;">‘d’</td> + <td style="text-align:left;">‘dd’ delete line/paragraph</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;">d</td> + <td style="text-align:center;">‘⇧’</td> + <td style="text-align:left;">‘d$’ delete from cursor to end of graf</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;">d</td> + <td style="text-align:center;">‘0’</td> + <td style="text-align:left;">‘d0’ delete to beginning of paragraph</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;">d</td> + <td style="text-align:center;">‘^’</td> + <td style="text-align:left;">‘d^’ delete to beginning of paragraph</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘p’</td> + <td style="text-align:left;">paste after</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘P’</td> + <td style="text-align:left;">paste before</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘y’</td> + <td style="text-align:left;">Yank</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;">5</td> + <td style="text-align:center;">‘d’</td> + <td style="text-align:left;">‘dd’ delete line/paragraph</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘p’</td> + <td style="text-align:left;">paste 5 times after</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘P’</td> + <td style="text-align:left;">paste 5 times before</td> +</tr> +<tr> + <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘y’</td> + <td style="text-align:left;">paste 5 times in a row</td> +</tr> +<tr> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌥r’</td> + <td style="text-align:left;">repeat character before cursor</td> +</tr> +<tr> + <td style="text-align:center;"></td> + <td style="text-align:center;"></td> + <td style="text-align:center;">‘⌘␡’</td> + <td style="text-align:left;">Forward delete to end of paragraph</td> +</tr> </tbody> </table> |
