summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Terpstra2011-12-21 17:19:23 -0600
committerBrett Terpstra2011-12-21 17:19:23 -0600
commit7a6771731243203a2b7d52a3a1f36b03bca06d93 (patch)
tree304046c5af729596c74070f1f5baa03220b54226
parent7dcf67d8a330286500920bb7bfe44afe755b2030 (diff)
downloadKeyBindings-7a6771731243203a2b7d52a3a1f36b03bca06d93.tar.bz2
Reorganized dict file, finished auto-documentation script
-rw-r--r--DefaultKeyBinding.dict246
-rw-r--r--KeyBindings.md119
-rw-r--r--KeyList.md103
-rwxr-xr-xauto-document.rb51
-rw-r--r--readme.md688
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 "![selected text](|)"
+ "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 `![selected text]([cursor])`
"t" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "![", yank:, insertText:, " ", moveLeft:, insertText:, "]()", moveRight:, deleteBackward:, moveLeft:); // image link for text
- // same as lc, but with image syntax "![selected text](clipboard)"
- "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "![", yank:, setMark:, insertText:, " ", moveLeft:, insertText:, "](", pasteAsPlainText:, insertText:, ")", moveRight:, deleteBackward:, swapWithMark:); // image with clipboard
+ // same as lc, but with image syntax `![selected text](clipboard)`
+ "c" = (setMark:, swapWithMark:, deleteToMark:, insertText:, "![", yank:, setMark:, insertText:, " ", moveLeft:, insertText:, "](", pasteAsPlainText:, 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 "![selected text](cursor)" |
-| ^⌘w | i | 'c' | same as lc, but with image syntax "![selected text](cursor)" |
-| ^⌘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 "![selected text](cursor)" |
-| ^⌘w | i | 'c' | same as lc, but with image syntax "![selected text](cursor)" |
-| ^⌘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
diff --git a/readme.md b/readme.md
index 7182d62..ca0adc3 100644
--- a/readme.md
+++ b/readme.md
@@ -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;">&#8216;^U&#8217;</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;">&#8216;^~u&#8217;</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;">&#8216;^T&#8217;</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;">&#8216;^⌥U&#8217;</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;">&#8216;^⌥u&#8217;</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;">&#8216;^⌥t&#8217;</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;">&#8216;^w&#8217;</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;">&#8216;⌥w&#8217;</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;">&#8216;⌥S&#8217;</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;">&#8216;⌥s&#8217;</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;">&#8216;⌥d&#8217;</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;">&#8216;⌥y&#8217;</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;">&#8216;⌥x&#8217;</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;">&#8216;⌥p&#8217;</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;">&#8216;⌥P&#8217;</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;">&#8216;^A&#8217;</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;">&#8216;^E&#8217;</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;">&#8216;⌥q&#8217;</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;">&#8216;⌥k&#8217;</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;">&#8216;⌥o&#8217;</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;">&#8216;⌥O&#8217;</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;">&#8216;/&#8217;</td>
+ <td style="text-align:center;">/</td>
<td style="text-align:left;">comment with &#8220;//&#8221;</td>
</tr>
<tr>
<td style="text-align:center;">^⌘c</td>
<td style="text-align:center;"></td>
- <td style="text-align:center;">&#8216;\&#8217;</td>
+ <td style="text-align:center;">\</td>
<td style="text-align:left;">comment with &#8220;#&#8221;</td>
</tr>
<tr>
<td style="text-align:center;">^⌘c</td>
<td style="text-align:center;"></td>
- <td style="text-align:center;">&#8216;!&#8217;</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;">&#8216;*&#8217;</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;">&#8216;⌘⌥b&#8217;</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;">&#8216;⌘⌥i&#8217;</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;">&#8216;⌘⌥=&#8217;</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;">&#8216;⌘⌥-&#8217;</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;">&#8216;↩&#8217;</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;">&#8216;⇥&#8217;</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;">&#8216;1&#8217;</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;">&#8216;2&#8217;</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;">&#8216;3&#8217;</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;">&#8216;4&#8217;</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;">&#8216;5&#8217;</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;">&#8216;6&#8217;</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;">&#8216;t&#8217;</td>
- <td style="text-align:left;">create a link for selected text, cursor between () &#8220;<a href="">selected text</a>&#8221;</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;">&#8216;c&#8217;</td>
- <td style="text-align:left;">create a link for selected text, inserting clipboard as url &#8220;[cursorselected text](clipboard contents)&#8221;</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;">&#8216;t&#8217;</td>
- <td style="text-align:left;">same as lt, but with image syntax &#8220;<img src="cursor" alt="selected text" />&#8221;</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;">&#8216;c&#8217;</td>
- <td style="text-align:left;">same as lc, but with image syntax &#8220;<img src="cursor" alt="selected text" />&#8221;</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;">&#8216;t&#8217;</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>![selected text]([cursor])</code></td>
</tr>
<tr>
<td style="text-align:center;">^⌘w</td>
- <td style="text-align:center;">:</td>
- <td style="text-align:center;">&#8216;c&#8217;</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>![selected text](clipboard)</code></td>
</tr>
<tr>
- <td style="text-align:center;">^⌘w</td>
- <td style="text-align:center;"></td>
- <td style="text-align:center;">&#8216;[&#8217;</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;">&#8216;+&#8217;</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;">&#8216;-&#8217;</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;">&#8216;*&#8217;</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;">&#8216;8&#8217;</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;">&#8216;1&#8217;</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;">&#8216;=&#8217;</td>
- <td style="text-align:left;">=&#8220;cursor&#8221;</td>
+ <td style="text-align:center;">=</td>
+ <td style="text-align:left;">=&#8220;[cursor]&#8221;</td>
</tr>
<tr>
<td style="text-align:center;">^⌘e</td>
<td style="text-align:center;"></td>
- <td style="text-align:center;">&#8216;e&#8217;</td>
- <td style="text-align:left;">entity &cursor;</td>
+ <td style="text-align:center;">e</td>
+ <td style="text-align:left;">entity &amp;[cursor];</td>
</tr>
<tr>
<td style="text-align:center;">^⌘e</td>
<td style="text-align:center;"></td>
- <td style="text-align:center;">&#8216;/&#8217;</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;">&#8216;t&#8217;</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;">&#8216;t&#8217;</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 &#8220;http://&#8221; selected</td>
</tr>
<tr>
<td style="text-align:center;">^⌘e</td>
<td style="text-align:center;">a</td>
- <td style="text-align:center;">&#8216;c&#8217;</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;">&#8216;t&#8217;</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;">&#8216;c&#8217;</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;">&#8216;⌥⌘↩&#8217;</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;">&#8216;⇧⇥&#8217;</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;">&#8216;(&#8217;</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;">&#8216;)&#8217;</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;">&#8216;[&#8217;</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;">&#8216;]&#8217;</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;">&#8216;{&#8217;</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;">&#8216;}&#8217;</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;">&#8216;&lt;&#8217;</td>
+ <td style="text-align:center;">&lt;</td>
<td style="text-align:left;">wrap &lt;&gt; with spaces</td>
</tr>
<tr>
<td style="text-align:center;">^⌘s</td>
<td style="text-align:center;"></td>
- <td style="text-align:center;">&#8216;&gt;&#8217;</td>
+ <td style="text-align:center;">&gt;</td>
<td style="text-align:left;">wrap &lt;&gt; no spaces</td>
</tr>
<tr>
<td style="text-align:center;">^⌘s</td>
<td style="text-align:center;"></td>
- <td style="text-align:center;">&#8217;&#8217;&#8217;</td>
+ <td style="text-align:center;">&#8217;</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;">&#8216;`&#8217;</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;">&#8216;\&#8217;</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;">&#8216;^⌘k&#8217;</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;">&#8216;^⌘j&#8217;</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;">&#8216;^⌘l&#8217;</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;">&#8216;^⌘h&#8217;</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;">&#8216;^⌘↑&#8217;</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;">&#8216;^⌘↓&#8217;</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;">&#8216;^⌘→&#8217;</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;">&#8216;^⌘←&#8217;</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;">&#8216;^⇧⌘←&#8217;</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;">&#8216;⌘⌥⇧↑&#8217;</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;">&#8216;⌘⌥⇧↓&#8217;</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;">&#8216;^⌥⇧←&#8217;</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;">&#8216;^⌥⇧→&#8217;</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;">&#8216;⌘↩&#8217;</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;">&#8216;⌘⇧↩&#8217;</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;">&#8216;⌥_&#8217;</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;">&#8216;⌥1&#8217;</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;">&#8216;⌥2&#8217;</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;">&#8216;d&#8217;</td>
+ <td style="text-align:center;">d</td>
<td style="text-align:left;">&#8216;dd&#8217; delete line/paragraph</td>
</tr>
<tr>
<td style="text-align:center;">⇧⎋</td>
<td style="text-align:center;">d</td>
- <td style="text-align:center;">&#8216;⇧&#8217;</td>
+ <td style="text-align:center;">⇧</td>
<td style="text-align:left;">&#8216;d$&#8217; 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;">&#8216;0&#8217;</td>
+ <td style="text-align:center;">0</td>
<td style="text-align:left;">&#8216;d0&#8217; 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;">&#8216;^&#8217;</td>
+ <td style="text-align:center;">^</td>
<td style="text-align:left;">&#8216;d^&#8217; 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;">&#8216;p&#8217;</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;">&#8216;P&#8217;</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;">&#8216;y&#8217;</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;">&#8216;d&#8217;</td>
+ <td style="text-align:center;">d,d</td>
<td style="text-align:left;">&#8216;dd&#8217; delete line/paragraph</td>
</tr>
<tr>
<td style="text-align:center;">⇧⎋</td>
- <td style="text-align:center;"></td>
- <td style="text-align:center;">&#8216;p&#8217;</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;">&#8216;P&#8217;</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;">&#8216;y&#8217;</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;">&#8216;⌥r&#8217;</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;">&#8216;⌘␡&#8217;</td>
- <td style="text-align:left;">Forward delete to end of paragraph</td>
+ <td style="text-align:center;" colspan="4"></td>
</tr>
</tbody>
</table>