diff options
| author | Brett Terpstra | 2011-12-21 17:19:23 -0600 |
|---|---|---|
| committer | Brett Terpstra | 2011-12-21 17:19:23 -0600 |
| commit | 7a6771731243203a2b7d52a3a1f36b03bca06d93 (patch) | |
| tree | 304046c5af729596c74070f1f5baa03220b54226 | |
| parent | 7dcf67d8a330286500920bb7bfe44afe755b2030 (diff) | |
| download | KeyBindings-7a6771731243203a2b7d52a3a1f36b03bca06d93.tar.bz2 | |
Reorganized dict file, finished auto-documentation script
| -rw-r--r-- | DefaultKeyBinding.dict | 246 | ||||
| -rw-r--r-- | KeyBindings.md | 119 | ||||
| -rw-r--r-- | KeyList.md | 103 | ||||
| -rwxr-xr-x | auto-document.rb | 51 | ||||
| -rw-r--r-- | readme.md | 688 |
5 files changed, 504 insertions, 703 deletions
diff --git a/DefaultKeyBinding.dict b/DefaultKeyBinding.dict index cc24a27..480be23 100644 --- a/DefaultKeyBinding.dict +++ b/DefaultKeyBinding.dict @@ -1,6 +1,6 @@ -{ +{ // General + // > defaults write -g NSTextKillRingSize -string 6 // replace yank: command with yankAndSelect for use with the kill ring - // defaults write -g NSTextKillRingSize -string 6 "^y" = (yankAndSelect:); // uppercase word "^U" = (uppercaseWord:, moveWordForward:, moveWordBackward:); @@ -48,7 +48,61 @@ // blank line before current "~O" = (moveToBeginningOfParagraph:, moveLeft:, insertNewline:); - "^@c" = { // commenting + + // move line up + "^@k" = (selectParagraph:, setMark:, deleteToMark:, moveLeft:, moveToBeginningOfParagraph:, yank:, moveLeft:, selectToMark:, moveLeft:); + // move line down + "^@j" = (selectParagraph:, setMark:, deleteToMark:, moveToEndOfParagraph:, moveRight:, setMark:, yank:, moveLeft:, selectToMark:); + // indent line + "^@l" = (setMark:, moveToBeginningOfParagraph:, insertText:, "\t", swapWithMark:, moveRight:); + // outdent line (one tab or char) + "^@h" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); + + // > same commands but with arrow keys + // move line up + "^@\Uf700" = (selectParagraph:, setMark:, deleteToMark:, moveLeft:, moveToBeginningOfParagraph:, yank:, moveLeft:, selectToMark:, moveLeft:); + // move line down + "^@\Uf701" = (selectParagraph:, setMark:, deleteToMark:, moveToEndOfParagraph:, moveRight:, setMark:, yank:, moveLeft:, selectToMark:); + // indent line + "^@\UF703" = (setMark:, moveToBeginningOfParagraph:, insertText:, "\t", swapWithMark:, moveRight:); + // outdent line (one tab or char) + "^@\UF702" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); + + // > Control-shift-command-left arrow + // Full outdent - Deletes all leading space (or first word) of line/paragraph + "^$@\UF702" = (setMark:, moveToBeginningOfParagraph:, selectWord:, delete:, swapWithMark:, moveLeft:); + + // modify selection up by paragraph (Command Option Shift Up) + "@~$\Uf700" = (selectParagraph:, moveParagraphBackwardAndModifySelection:); + // modify selection down by paragraph (Command Option Shift Down) + "@~$\Uf701" = (selectParagraph:, moveParagraphForwardAndModifySelection:); + // modify selection left by word + "^~$\UF702" = (selectWord:, moveWordLeftAndModifySelection:); + // modify selection right by word + "^~$\UF703" = (selectWord:, moveWordRightAndModifySelection:); + + // TextMate Command-Return (Command Enter) + "@\U000D" = (moveToEndOfParagraph:, insertNewline:); + // Insert blank line above paragraph (Command Shift Enter) + "@$\U000D" = (moveToBeginningOfParagraph:, moveLeft:, insertNewline:); + + // > this will kill non alphanumeric symbols and punctuation, use only on *words* + // hyphenate next space and move to next word + "~_" = (selectWord:,moveRight:,setMark:,moveWordRight:,moveWordLeft:,moveLeft:,selectWord:,insertText:,"-",moveWordRight:); + + // bookmark + "~1" = (setMark:); + // jump to bookmark + "~2" = (swapWithMark:,centerSelectionInVisibleArea:); + + // > Command Option Enter + // Continue a list item with indentation and include the same delimiter + "~@\U000D" = ( breakUndoCoalescing, moveToEndOfParagraph:, insertText:, "x", moveToBeginningOfParagraph:, selectWord:, moveRightAndModifySelection:, moveWordForwardAndModifySelection:, moveWordBackwardAndModifySelection:, moveLeftAndModifySelection:, setMark:, deleteToMark:, yank:, moveToEndOfParagraph:, deleteBackward:, insertNewlineIgnoringFieldEditor:, deleteToBeginningOfParagraph:, yank:, insertText:, " ", selectWord:, insertText:, " "); + // > Shift Tab + // remove one tab (or character) from start of line (outdent) + "$\U0009" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); + + "^@c" = { // Commenting commands // comment with "//" "/" = (setMark:, moveToBeginningOfParagraph:, insertText:, "// ", swapWithMark:, moveRight:, moveRight:, moveRight:); // comment with "#" @@ -64,68 +118,78 @@ // 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 + "^@w" = { // Multi-stroke Markdown commands + // force carriage return in text field "\U000A" = (insertNewlineIgnoringFieldEditor:); + // force tab in text field "\U0009" = (insertText:, "\t"); - // Headlines - // #x, # - ###### - // removes leading whitespace after inserting hashmarks - "h" = { + // insert reference link `[selection][[cursor]]` + "[" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "][]", moveRight:, deleteBackward:, moveLeft:); + // insert reference `[selection]: [cursor]` + "]" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "]: ", moveRight:, deleteBackward:, deleteForward:); + + // Unordered list item with + + "+" = (setMark:, moveToBeginningOfParagraph:, insertText:, "+ ", swapWithMark:, moveRight:, moveRight:); + // Unordered list item with - + "-" = (setMark:, moveToBeginningOfParagraph:, insertText:, "- ", swapWithMark:, moveRight:, moveRight:); + // Unordered list item with * + "*" = (setMark:, moveToBeginningOfParagraph:, insertText:, "* ", swapWithMark:, moveRight:, moveRight:); + // convert current numbered list item to bullet, handles indentation + "8" = (breakUndoCoalescing, setMark:, moveToEndOfParagraph:, insertText:, "x", moveToBeginningOfParagraph:, moveWordForward:, moveRight:, moveWordForward:, moveWordBackward:, moveWordBackwardAndModifySelection:, insertText:, "* ", moveToEndOfParagraph:, deleteBackward:, swapWithMark:, moveLeft:); + // convert current bullet list item to numbered + "1" = (breakUndoCoalescing, setMark:, moveToEndOfParagraph:, insertText:, "x", moveToBeginningOfParagraph:, moveWordForward:, moveWordBackward:, moveLeftAndModifySelection:, moveLeftAndModifySelection:, insertText:, "1. ", moveToEndOfParagraph:, deleteBackward:, swapWithMark:, moveRight:); + + "h" = { // Headlines (removes leading whitespace after inserting hashmarks) + // # "1" = (setMark:, moveToBeginningOfParagraph:, insertText:, "# ", selectWord:, insertText:, " ",swapWithMark:, moveToEndOfParagraph:); + // ## "2" = (setMark:, moveToBeginningOfParagraph:, insertText:, "## ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // ### "3" = (setMark:, moveToBeginningOfParagraph:, insertText:, "### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // #### "4" = (setMark:, moveToBeginningOfParagraph:, insertText:, "#### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // ##### "5" = (setMark:, moveToBeginningOfParagraph:, insertText:, "##### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); + // ###### "6" = (setMark:, moveToBeginningOfParagraph:, insertText:, "###### ", selectWord:, insertText:, " ", swapWithMark:, moveToEndOfParagraph:); }; - // links - // without selected text first, these can produce a mess using multiple clipboards - // make a text selection before you run them - "l" = { // markdown link - // create a link for selected text, cursor between () "[selected text](|)" + // > links + // > without selected text first, these can produce a mess using multiple clipboards + // > make a text selection before you run them + "l" = { // Markdown link + // create a link for selected text, cursor between () `[selected text]([cursor])` "t" = (setMark:, breakUndoCoalescing:, moveRight:, insertText:, " ", deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, 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)" + // create a link for selected text, inserting clipboard as url `[[cursor]selected text](clipboard contents)` "c" = (setMark:, breakUndoCoalescing:, moveRight:, insertText:, " ", deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, moveLeft:, insertText:, "](", setMark:, pasteAsPlainText:, insertText:, ")", moveRight:, deleteBackward:, moveLeft:, selectToMark:); // link with clipboard }; - // image - "i" = { // link as image - // same as lt, but with image syntax "" + "i" = { // Link as image // TODO: Apply the fix from l,t/c above to avoid inserting the kill buffer when there's no selection + // 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 lc, but with image syntax `` + "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "", moveRight:, deleteBackward:, swapWithMark:); }; - // references - ":" = { + + ":" = { // Reference links // 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 "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "]: ", pasteAsPlainText:, moveRight:, deleteBackward:, swapWithMark:); }; - // insert reference link [selection][|] - "[" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "][]", moveRight:, deleteBackward:, moveLeft:); - // insert reference [selection]: | - "]" = (setMark:, swapWithMark:, deleteToMark:, insertText:, " [", moveLeft:, deleteBackward:, moveRight:, yank:, insertText:, " ", moveLeft:, insertText:, "]: ", moveRight:, deleteBackward:, deleteForward:); - - // lists - "+" = (setMark:, moveToBeginningOfParagraph:, insertText:, "+ ", swapWithMark:, moveRight:, moveRight:); - "-" = (setMark:, moveToBeginningOfParagraph:, insertText:, "- ", swapWithMark:, moveRight:, moveRight:); - "*" = (setMark:, moveToBeginningOfParagraph:, insertText:, "* ", swapWithMark:, moveRight:, moveRight:); - // convert current numbered list item to bullet, handles indentation - "8" = (breakUndoCoalescing, setMark:, moveToEndOfParagraph:, insertText:, "x", moveToBeginningOfParagraph:, moveWordForward:, moveRight:, moveWordForward:, moveWordBackward:, moveWordBackwardAndModifySelection:, insertText:, "* ", moveToEndOfParagraph:, deleteBackward:, swapWithMark:, moveLeft:); - // convert current bullet list item to numbered - "1" = (breakUndoCoalescing, 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:// + "^@e" = { // HTML commands + // ="[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 @@ -142,13 +206,7 @@ }; }; - // Command Option Enter to continue a list item with indentation and include the same delimiter - "~@\U000D" = ( breakUndoCoalescing, moveToEndOfParagraph:, insertText:, "x", moveToBeginningOfParagraph:, selectWord:, moveRightAndModifySelection:, moveWordForwardAndModifySelection:, moveWordBackwardAndModifySelection:, moveLeftAndModifySelection:, setMark:, deleteToMark:, yank:, moveToEndOfParagraph:, deleteBackward:, insertNewlineIgnoringFieldEditor:, deleteToBeginningOfParagraph:, yank:, insertText:, " ", selectWord:, insertText:, " "); - // Shift Tab remove one tab (or character) from start of line (outdent) - "$\U0009" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); - - - "^@s" = { // surround commands + "^@s" = { // Surround commands // wrap () with spaces "(" = (delete:, insertText:, "( ", yank:, insertText:, " ", moveLeft:, insertText:, " )", deleteForward:); // wrap () no spaces @@ -173,60 +231,15 @@ "\"" = (delete:, insertText:, "\" ", deleteBackward:, yank:, insertText:, " ", moveLeft:, insertText:, "\"", deleteForward:); }; - // move line up - "^@k" = (selectParagraph:, setMark:, deleteToMark:, moveLeft:, moveToBeginningOfParagraph:, yank:, moveLeft:, selectToMark:, moveLeft:); - // move line down - "^@j" = (selectParagraph:, setMark:, deleteToMark:, moveToEndOfParagraph:, moveRight:, setMark:, yank:, moveLeft:, selectToMark:); - // indent line - "^@l" = (setMark:, moveToBeginningOfParagraph:, insertText:, "\t", swapWithMark:, moveRight:); - // outdent line (one tab or char) - "^@h" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); - - // same commands but with arrow keys - "^@\Uf700" = (selectParagraph:, setMark:, deleteToMark:, moveLeft:, moveToBeginningOfParagraph:, yank:, moveLeft:, selectToMark:, moveLeft:); - "^@\Uf701" = (selectParagraph:, setMark:, deleteToMark:, moveToEndOfParagraph:, moveRight:, setMark:, yank:, moveLeft:, selectToMark:); - "^@\UF703" = (setMark:, moveToBeginningOfParagraph:, insertText:, "\t", swapWithMark:, moveRight:); - "^@\UF702" = (setMark:, moveToBeginningOfParagraph:, moveRight:, deleteBackward:, swapWithMark:, moveLeft:); - - // Control-shift-command-left arrow : Full outdent - Deletes all leading space (or first word) of line/paragraph - "^$@\UF702" = (setMark:, moveToBeginningOfParagraph:, selectWord:, delete:, swapWithMark:, moveLeft:); - - // modify selection up by paragraph (Command Option Shift Up) - "@~$\Uf700" = (selectParagraph:, moveParagraphBackwardAndModifySelection:); - // modify selection down by paragraph (Command Option Shift Down) - "@~$\Uf701" = (selectParagraph:, moveParagraphForwardAndModifySelection:); - // modify selection left by word - "^~$\UF702" = (selectWord:, moveWordLeftAndModifySelection:); - // modify selection right by word - "^~$\UF703" = (selectWord:, moveWordRightAndModifySelection:); - - // TextMate Command-Return (Command Enter) - "@\U000D" = (moveToEndOfParagraph:, insertNewline:); - // 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 - // this will kill non alphanumeric symbols and punctuation, use only on *words* - "~_" = (selectWord:,moveRight:,setMark:,moveWordRight:,moveWordLeft:,moveLeft:,selectWord:,insertText:,"-",moveWordRight:); - - // bookmark - "~1" = (setMark:); - // jump to bookmark - "~2" = (swapWithMark:,centerSelectionInVisibleArea:); - - // A little vim, just as an example + "$\U001B" = { // Vim Example commands (A little vim, just as an example) + // paste after + "p" = (moveToEndOfParagraph:,moveRight:,insertNewline:,moveLeft:, yank:); + // paste before + "P" = (moveToBeginningOfParagraph:, moveLeft:, yank:); + // yank + "y" = (yank:); - "$\U001B" = { // shift-escape before each command (using escape breaks other functionality) - "d" = { + "d" = { // Delete // 'dd' delete line/paragraph "d" = (setMark:, selectParagraph:, delete:, delete:, swapWithMark:); // 'd$' delete from cursor to end of graf @@ -236,29 +249,18 @@ // 'd^' delete to beginning of paragraph "^" = (moveToBeginningOfParagraphAndModifySelection:, delete:); }; - "p" = (moveToEndOfParagraph:,moveRight:,insertNewline:,moveLeft:, yank:); - "P" = (moveToBeginningOfParagraph:, moveLeft:, yank:); - "y" = (yank:); - "5" = { - "d" = { + + "5" = { // Repeat 5 times + "d" = { // Delete // '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:); - "y" = ( yank:, yank:, yank:, yank:, yank:); + // paste 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 before + "P" = ( moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:, moveToBeginningOfParagraph:, moveLeft:, yank:); + // yank + "y" = ( yank:, yank:, yank:, yank:, yank:); }; }; @@ -267,6 +269,4 @@ // Forward delete to end of paragraph "@\Uf728" = (deleteToEndOfParagraph:); - // TODO - // }
\ No newline at end of file diff --git a/KeyBindings.md b/KeyBindings.md deleted file mode 100644 index 359d437..0000000 --- a/KeyBindings.md +++ /dev/null @@ -1,119 +0,0 @@ -<style> -table { margin-bottom:20px; } -col:nth-child(3) { width:450px; } -col:nth-child(1),col:nth-child(2) { width: 80px !important; } -td:nth-child(1), td:nth-child(2) { font-weight:bold; padding:0 } -</style> - -DefaultKeyBindings.dict file for Mac OS X, created by [Brett Terpstra][] and based heavily on work done by [Lri][lrikeys]. See Lri's [gists][lrigists] and [website][lriweb] for more coding madness. - -[lrikeys]: http://www.cs.helsinki.fi/u/lranta/keybindings/ -[lriweb]: http://www.cs.helsinki.fi/u/lranta/ -[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.* - -| 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 deleted file mode 100644 index 009ee50..0000000 --- a/KeyList.md +++ /dev/null @@ -1,103 +0,0 @@ -| 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 deleted file mode 100755 index f2db812..0000000 --- a/auto-document.rb +++ /dev/null @@ -1,51 +0,0 @@ -#!/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,632 +5,706 @@ 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 (if exists), followed by a subgroup (if exists) followed by the Keys specified.* +This documentation is generated automatically from the comments and commands in the DefaultKeyBinding.dict file. The script `document_keybindings.rb` is free for use, but it's specifically designed for use with my formatting in the bindings plist (i.e. it's a little finicky). +*Grouped items begin with the groups shortcut (if exists), followed by a subgroup (if exists) followed by the keys specified.* + +<style> +table { margin-bottom:20px; border:none; width: 100%; } + +caption { text-align:left; padding:5px; font-weight:bold; border: dotted 1px #777;background:#eee; margin-bottom:10px } +td,th { font-weight:bold; padding:3px; border: solid 1px #ccc; padding:4px } +td:nth-child(1),td:nth-child(2),td:nth-child(3) { width:40px} +td:first-child {font-weight:bold !important} +td:last-child { font-weight:normal;width:auto } + +</style> <table> +<caption id="generalcommands"> General Commands </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:center;" colspan="2">General Commands</th> +</tr> +<tr> + <th style="text-align:center;">Key</th> <th style="text-align:left;">Function</th> </tr> </thead> <tbody> <tr> - <td style="text-align:center;"></td> - <td style="text-align:center;"></td> - <td style="text-align:center;">‘^U’</td> + <td style="text-align:center;">^y</td> + <td style="text-align:left;">replace yank: command with yankAndSelect for use with the kill ring</td> +</tr> +<tr> + <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;"></td> - <td style="text-align:center;">‘^~u’</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;"></td> - <td style="text-align:center;">‘^T’</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;"></td> - <td style="text-align:center;">‘^⌥U’</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;"></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;"></td> - <td style="text-align:center;">‘^⌥t’</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;"></td> - <td style="text-align:center;">‘^w’</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;"></td> - <td style="text-align:center;">‘⌥w’</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;"></td> - <td style="text-align:center;">‘⌥S’</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;"></td> - <td style="text-align:center;">‘⌥s’</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;"></td> - <td style="text-align:center;">‘⌥d’</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;"></td> - <td style="text-align:center;">‘⌥y’</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;"></td> - <td style="text-align:center;">‘⌥x’</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;"></td> - <td style="text-align:center;">‘⌥p’</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;"></td> - <td style="text-align:center;">‘⌥P’</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;"></td> - <td style="text-align:center;">‘^A’</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;"></td> - <td style="text-align:center;">‘^E’</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;"></td> - <td style="text-align:center;">‘⌥q’</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;"></td> - <td style="text-align:center;">‘⌥k’</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;"></td> - <td style="text-align:center;">‘⌥o’</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;"></td> - <td style="text-align:center;">‘⌥O’</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;">^⌘k</td> + <td style="text-align:left;">move line up</td> +</tr> +<tr> + <td style="text-align:center;">^⌘j</td> + <td style="text-align:left;">move line down</td> +</tr> +<tr> + <td style="text-align:center;">^⌘l</td> + <td style="text-align:left;">indent line</td> +</tr> +<tr> + <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:left;">move line up</td> +</tr> +<tr> + <td style="text-align:center;">^⌘↓</td> + <td style="text-align:left;">move line down</td> +</tr> +<tr> + <td style="text-align:center;">^⌘→</td> + <td style="text-align:left;">indent line</td> +</tr> +<tr> + <td style="text-align:center;">^⌘←</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:left;">Full outdent - Deletes all leading space (or first word) of line/paragraph</td> +</tr> +<tr> + <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:left;">modify selection down by paragraph (Command Option Shift Down)</td> +</tr> +<tr> + <td style="text-align:center;">^⌥⇧←</td> + <td style="text-align:left;">modify selection left by word</td> +</tr> +<tr> + <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:left;">TextMate Command-Return (Command Enter)</td> +</tr> +<tr> + <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:left;">hyphenate next space and move to next word</td> +</tr> +<tr> + <td style="text-align:center;">⌥1</td> + <td style="text-align:left;">bookmark</td> +</tr> +<tr> + <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:left;">Continue a list item with indentation and include the same delimiter</td> +</tr> +<tr> + <td style="text-align:center;">⇧⇥</td> + <td style="text-align:left;">remove one tab (or character) from start of line (outdent)</td> +</tr> +<tr> + <td style="text-align:center;">⌘⌥b</td> + <td style="text-align:left;">bold selection (Markdown)</td> +</tr> +<tr> + <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:left;">increase markdown header level</td> +</tr> +<tr> + <td style="text-align:center;">⌘⌥-</td> + <td style="text-align:left;">decrease markdown header level</td> +</tr> +<tr> + <td style="text-align:center;">⌥r</td> + <td style="text-align:left;">repeat character before cursor</td> +</tr> +<tr> + <td style="text-align:center;">⌘\⇧uf728</td> + <td style="text-align:left;">Forward delete to end of paragraph</td> +</tr> +</tbody> +</table> + + +<table> +<caption id="commentingcommands"> Commenting commands </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;" colspan="4">Commenting commands (^⌘c)</th> +</tr> +</thead> + +<tbody> +<tr> <td style="text-align:center;">^⌘c</td> <td style="text-align:center;"></td> - <td style="text-align:center;">‘/’</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;">‘\’</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;">‘!’</td> - <td style="text-align:left;">HTML Comment</td> + <td style="text-align:center;">!</td> + <td style="text-align:left;">Html Commenting</td> </tr> <tr> <td style="text-align:center;">^⌘c</td> <td style="text-align:center;"></td> - <td style="text-align:center;">‘*’</td> - <td style="text-align:left;">CSS Comment</td> + <td style="text-align:center;">*</td> + <td style="text-align:left;">Css Commenting</td> </tr> +</tbody> +</table> + + +<table> +<caption id="multi-strokemarkdowncommands"> Multi-stroke Markdown commands </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;" colspan="4">Multi-stroke Markdown commands (^⌘w)</th> +</tr> +</thead> + +<tbody> +<tr> + <td style="text-align:center;">^⌘w</td> <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> + <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;"></td> - <td style="text-align:center;">‘⌘⌥i’</td> - <td style="text-align:left;">italicize selection (Markdown)</td> + <td style="text-align:center;">\</td> + <td style="text-align:left;">insert reference link <code>[selection][[cursor]]</code></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;">insert reference <code>[selection]: [cursor]</code></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;">increase markdown header level</td> + <td style="text-align:center;">+</td> + <td style="text-align:left;">Unordered list item with +</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;">Unordered list item with -</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;">decrease markdown header level</td> + <td style="text-align:center;">*</td> + <td style="text-align:left;">Unordered list item with *</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> + <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;">‘⇥’</td> - <td style="text-align:left;">force tab in text field</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;" colspan="3">Headlines (removes leading whitespace after inserting hashmarks) (h)</td> + <td style="text-align:center;"></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> + <td style="text-align:center;">1</td> + <td style="text-align:left;">#</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> + <td style="text-align:center;">2</td> + <td style="text-align:left;">##</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> + <td style="text-align:center;">3</td> + <td style="text-align:left;">###</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> + <td style="text-align:center;">4</td> + <td style="text-align:left;">####</td> </tr> <tr> <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> + <td style="text-align:center;">5</td> + <td style="text-align:left;">#####</td> </tr> <tr> <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> + <td style="text-align:center;">6</td> + <td style="text-align:left;">######</td> +</tr> +<tr> + <td style="text-align:center;" colspan="4"></td> +</tr> +<tr> + <td style="text-align:center;" colspan="3">Markdown link (l)</td> + <td style="text-align:center;"></td> </tr> <tr> <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> + <td style="text-align:center;">t</td> + <td style="text-align:left;">create a link for selected text, cursor between () <code>[selected text]([cursor])</code> ( links without selected text first, these can produce a mess using multiple clipboards make a text selection before you run them)</td> </tr> <tr> <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> + <td style="text-align:center;">c</td> + <td style="text-align:left;">create a link for selected text, inserting clipboard as url <code>[[cursor]selected text](clipboard contents)</code></td> </tr> <tr> - <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> + <td style="text-align:center;" colspan="4"></td> </tr> <tr> - <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> + <td style="text-align:center;" colspan="3">Link as image (i)</td> + <td style="text-align:center;"></td> </tr> <tr> <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> + <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 <code></code></td> </tr> <tr> <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> + <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 <code></code></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;">insert reference link</td> + <td style="text-align:center;" colspan="4"></td> </tr> <tr> - <td style="text-align:center;">^⌘w</td> + <td style="text-align:center;" colspan="3">Reference links (:)</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> + <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;">^⌘w</td> - <td style="text-align:center;"></td> - <td style="text-align:center;">‘*’</td> - <td style="text-align:left;">* bulleted list</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;">^⌘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> + <td style="text-align:center;" colspan="4"></td> </tr> +</tbody> +</table> + + +<table> +<caption id="htmlcommands"> HTML commands </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> - <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> + <th style="text-align:center;" colspan="4">HTML commands (^⌘e)</th> </tr> +</thead> + +<tbody> <tr> <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> + <td style="text-align:center;">=</td> + <td style="text-align:left;">=“[cursor]”</td> </tr> <tr> <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> + <td style="text-align:center;">e</td> + <td style="text-align:left;">entity &[cursor];</td> </tr> <tr> <td style="text-align:center;">^⌘e</td> <td style="text-align:center;"></td> - <td style="text-align:center;">‘/’</td> + <td style="text-align:center;">/</td> <td style="text-align:left;">http://</td> </tr> <tr> <td style="text-align:center;">^⌘e</td> <td style="text-align:center;"></td> - <td style="text-align:center;">‘t’</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;" colspan="3">HTML Links (a)</td> + <td style="text-align:center;"></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: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:center;">c</td> <td style="text-align:left;">Insert HTML link with clipboard as href</td> </tr> <tr> + <td style="text-align:center;" colspan="4"></td> +</tr> +<tr> + <td style="text-align:center;" colspan="3">HTML Image (i)</td> + <td style="text-align:center;"></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: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: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> <tr> - <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> + <td style="text-align:center;" colspan="4"></td> </tr> +</tbody> +</table> + + +<table> +<caption id="surroundcommands"> Surround commands </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> - <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> + <th style="text-align:center;" colspan="4">Surround commands (^⌘s)</th> </tr> +</thead> + +<tbody> <tr> <td style="text-align:center;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></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;">^⌘s</td> <td style="text-align:center;"></td> - <td style="text-align:center;">‘`’</td> + <td style="text-align:center;">`</td> <td style="text-align:left;">wrap backticks</td> </tr> +</tbody> +</table> + + +<table> +<caption id="vimexamplecommandsalittlevimjustasanexample"> Vim Example commands (A little vim, just as an example) </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> - <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> -<tr> - <td style="text-align:center;"></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;"></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;"></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;"></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;"></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;"></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;"></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;"></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;"></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> -<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 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> -<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 right by word</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;">TextMate Command-Return (Command Enter)</td> + <th style="text-align:center;" colspan="4">Vim Example commands (A little vim, just as an example) (⇧⎋)</th> </tr> +</thead> + +<tbody> <tr> + <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;">Insert blank line above paragraph (Command Shift Enter)</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;"></td> - <td style="text-align:center;">‘⌥_’</td> - <td style="text-align:left;">hyphenate next space and move to next word</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;"></td> - <td style="text-align:center;">‘⌥1’</td> - <td style="text-align:left;">bookmark</td> + <td style="text-align:center;">y</td> + <td style="text-align:left;">yank</td> </tr> <tr> + <td style="text-align:center;" colspan="3">Delete (d)</td> <td style="text-align:center;"></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: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: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: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: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> + <td style="text-align:center;" colspan="4"></td> </tr> <tr> - <td style="text-align:center;">⇧⎋</td> + <td style="text-align:center;" colspan="3">Repeat 5 times (5)</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:center;">d,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> + <td style="text-align:center;">5</td> + <td style="text-align:center;">d,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 5 times before</td> + <td style="text-align:center;">5</td> + <td style="text-align:center;">d,⇧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;">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> + <td style="text-align:center;">5</td> + <td style="text-align:center;">d,y</td> + <td style="text-align:left;">yank</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> + <td style="text-align:center;" colspan="4"></td> </tr> </tbody> </table> |
