From fe246970c942c8ce6198664e222b5d807f381652 Mon Sep 17 00:00:00 2001 From: Daniel Fitzpatrick Date: Mon, 16 Apr 2018 00:35:54 -0700 Subject: [PATCH 1/2] Add markdown formatted vim --- tools/vim.md | 526 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 526 insertions(+) create mode 100644 tools/vim.md diff --git a/tools/vim.md b/tools/vim.md new file mode 100644 index 0000000..f45630f --- /dev/null +++ b/tools/vim.md @@ -0,0 +1,526 @@ +# VIM CHEATSHEET +#### WEBSITE: http://www.vim.org/ +#### DOCUMENTATION: https://vim.sourceforge.io/docs.php + +### Table of Contents + +* [CURSOR MOVEMENTS](#cursor-movements) +* [BOOKMARKS](#bookmarks) +* [INSERT MODE](#insert-mode) +* [EDITING](#editing) +* [DELETING TEXT](#deleting-text) +* [COPYING AND MOVING TEXT](#copying-and-moving-text) +* [MACROS](#macros) +* [VISUAL MODE](#visual-mode) +* [SPELLING](#spelling) +* [EXITING](#exiting) +* [SEARCH/REPLACE](#search-replace) +* [MULTIPLE FILES](#multiple-files) +* [WINDOWS](#windows) +* [QUICKFIX WINDOW](#quickfix-window) +* [PROGRAMMING](#programming) +
+Plugins + +#### Plugins + +* [ACK](#plugins>ack) +* [CHEAT](#plugins>cheat) +* [GIST](#plugins>gist) +* [GUNDO](#plugins>gundo) +* [LUSTYJUGGLER](#plugins>lustyjuggler) +* [NERDCOMMENTER](#plugins>nerdcommenter) +* [NERDTREE](#plugins>nerdtree) + - [FILE](#file) + - [DIRECTORY](#directory) + - [BOOKMARK](#bookmark) + - [TREE NAVIGATION](#tree-navigation) + - [FILESYSTEM](#filesystem) + - [TREE FILTERING](#tree-filtering) + - [OTHER](#other) +* [PDV](#plugins>pdv) +* [PICKACOLOR](#plugins>pickacolor) +* [SNIPMATE](#plugins>snipmate) +* [SPARKUP](#plugins>sparkup) +* [SURROUND](#plugins>surround) +* [TABULAR](#plugins>tabular) +* [TAGLIST](#plugins>taglist) +* [UNIMPAIRED](#plugins>unimpaired) +* [VIM-FUGITIVE](#plugins>vim-fugitive) +* [VIM-MARKDOWN-PREVIEW](#plugins>vim-markdown-preview) +* [VIM-PEEPOPEN](#plugins>vim-peepopen) +* [VIM-SYMFONY](#plugins>vim-symfony) +
+ +* [PERSONAL .VIMRC](#personal-vimrc) + + +## CURSOR MOVEMENTS + +* `h` move left +* `j` move down +* `k` move up +* `l` move right +* `w` jump by start of words (punctuation considered words) +* `W` jump by words (spaces separate words) +* `e` jump to end of words (punctuation considered words) +* `E` jump to end of words (no punctuation) +* `b` jump backward by words (punctuation considered words) +* `B` jump backward by words (no punctuation) +* `ge` jump backward to end of words +* `0` (zero) start of line +* `^` first non-blank character of line +* `$` end of line +* `-` move line upwards, on the first non blank character +* `+` move line downwards, on the first non blank character +* `` move line downwards, on the first non blank character +* `gg` go to first line +* `G` go to last line +* `nG` go To line n +* `:n` go To line n +* `)` move the cursor forward to the next sentence. +* `(` move the cursor backward by a sentence. +* `{` move the cursor a paragraph backwards +* `}` move the cursor a paragraph forwards +* `]]` move the cursor a section forwards or to the next { +* `[[` move the cursor a section backwards or the previous { +* `CTRL-f` move the cursor forward by a screen of text +* `CTRL-b` move the cursor backward by a screen of text +* `CTRL-u` move the cursor up by half a screen +* `CTRL-d` move the cursor down by half a screen +* `H` move the cursor to the top of the screen. +* `M` move the cursor to the middle of the screen. +* `L` move the cursor to the bottom of the screen. +* `fx` search line forward for 'x' +* `Fx` search line backward for 'x' +* `tx` search line forward before 'x' +* `Tx` search line backward before 'x' + +## BOOKMARKS + +* `:marks` list all the current marks +* `ma` make a bookmark named a at the current cursor position +* `` `a `` go to position of bookmark a +* `'a` go to the line with bookmark a +* `` `.`` go to the line that you last edited + +## INSERT MODE + +* `i` start insert mode at cursor +* `I` insert at the beginning of the line +* `a` append after the cursor +* `A` append at the end of the line +* `o` open (append) blank line below current line +* `O` open blank line above current line +* `Esc` exit insert mode + +## EDITING + +* `r` replace a single character (does not use insert mode) +* `R` enter Insert mode, replacing characters rather than inserting +* `J` join line below to the current one +* `cc` change (replace) an entire line +* `cw` change (replace) to the end of word +* `C` change (replace) to the end of line +* `s` delete character at cursor and substitute text +* `S` delete line at cursor and substitute text (same as cc) +* `xp` transpose two letters (delete and paste, technically) +* `u` undo +* `CTRL-r` redo +* `.` repeat last command +* `~` switch case +* `g~iw` switch case of current word +* `gUiw` make current word uppercase +* `guiw` make current word lowercase +* `gU$` make uppercase until end of line +* `gu$` make lowercase until end of line +* `>>` indent line one column to right +* `<<` indent line one column to left +* `==` auto-indent current line +* `ddp` swap current line with next +* `ddkp` swap current line with previous +* `:%retab` fix spaces / tabs issues in whole file +* `:r [name]` insert the file [name] below the cursor. +* `:r !{cmd}` execute {cmd} and insert its standard output below the cursor. + +## DELETING TEXT + +* `x` delete current character +* `X` delete previous character +* `dw` delete the current word +* `dd` delete (cut) a line +* `D` delete from cursor to end of line +* `:[range]d` delete [range] lines + +## COPYING AND MOVING TEXT + +* `yw` yank word +* `yy` yank (copy) a line +* `2yy` yank 2 lines +* `y$` yank to end of line +* `p` put (paste) the clipboard after cursor/current line +* `P` put (paste) before cursor/current line +* `:set paste` avoid unexpected effects in pasting +* `:registers` display the contents of all registers +* `"xyw` yank word into register x +* `"xyy` yank line into register x +* `:[range]y x` yank [range] lines into register x +* `"xp` put the text from register x after the cursor +* `"xP` put the text from register x before the cursor +* `"xgp` just like "p", but leave the cursor just after the new text +* `"xgP` just like "P", but leave the cursor just after the new text +* `:[line]put x` put the text from register x after [line] + +## MACROS + +* `qa` start recording macro 'a' +* `q` end recording macro +* `@a` replay macro 'a' +* `@:` replay last command + +## VISUAL MODE + +* `v` start visual mode, mark lines, then do command (such as y-yank) +* `V` start linewise visual mode +* `o` move to other end of marked area +* `U` upper case of marked area +* `CTRL-v` start visual block mode +* `O` move to other corner of block +* `aw` mark a word +* `ab` a () block (with braces) +* `ab` a {} block (with brackets) +* `ib` inner () block +* `ib` inner {} block +* `Esc` exit visual mode + +##### VISUAL MODE COMMANDS + +* `>` shift right +* `<` shift left +* `c` change (replace) marked text +* `y` yank (copy) marked text +* `d` delete marked text +* `~` switch case + +## SPELLING + +* `]s` next misspelled word +* `[s` previous misspelled word +* `zg` add word to wordlist +* `zug` undo last add word +* `z=` suggest word + +## EXITING + +* `:q` quit Vim. This fails when changes have been made. +* `:q!` quit without writing. +* `:cq` quit always, without writing. +* `:wq` write the current file and exit. +* `:wq!` write the current file and exit always. +* `:wq {file}` write to {file}. Exit if not editing the last +* `:wq! {file}` write to {file} and exit always. +* `:[range]wq[!]` same as above, but only write the lines in [range]. +* `ZZ` write current file, if modified, and exit. +* `ZQ` quit current file and exit (same as ":q!"). + +## SEARCH/REPLACE + +* `/pattern` search for pattern +* `?pattern` search backward for pattern +* `n` repeat search in same direction +* `N` repeat search in opposite direction +* `*` search forward, word under cursor +* `#` search backward, word under cursor +* `:%s/old/new/g` replace all old with new throughout file +* `:%s/old/new/gc` replace all old with new throughout file with confirmation +* `:argdo %s/old/new/gc | wq` open multiple files and run this command to replace old with new in every file with confirmation, save and quit + +## MULTIPLE FILES + +* `:e filename` edit a file in a new buffer +* `:tabe filename` edit a file in a new tab (Vim7, gVim) +* `:ls` list all buffers +* `:bn` go to next buffer +* `:bp` go to previous buffer +* `:bd` delete a buffer (close a file) +* `:b1` show buffer 1 +* `:b vimrc` show buffer whose filename begins with "vimrc" + +## WINDOWS + +* `:sp f` split open f +* `:vsp f` vsplit open f +* `CTRL-w s` split windows +* `CTRL-w w` switch between windows +* `CTRL-w q` quit a window +* `CTRL-w v` split windows vertically +* `CTRL-w x` swap windows +* `CTRL-w h` left window +* `CTRL-w j` down window +* `CTRL-w k` up window +* `CTRL-w l` right window +* `CTRL-w +` increase window height +* `CTRL-w -` decrease window height +* `CTRL-w <` increase window width +* `CTRL-w >` decrease window width +* `CTRL-w =` equal window +* `CTRL-w o` close other windows + +## QUICKFIX WINDOW + +* `copen` open quickfix window +* `cclose` close quickfix window +* `cc [nr]` display error [nr] +* `cfirst` display the first error +* `clast` display the last error +* `[count]cn` display [count] next error +* `[count]cp` display [count] previous error + +## PROGRAMMING + +* `%` show matching brace, bracket, or parenthese +* `gf` edit the file whose name is under or after the cursor +* `gd` when the cursor is on a local variable or function, jump to its declaration +* `''` return to the line where the cursor was before the latest jump +* `gi` return to insert mode where you inserted text the last time +* `CTRL-o` move to previous position you were at +* `CTRL-i` move to more recent position you were at + +## PLUGINS > ACK + +* `:Ack` Search recursively in directory +* `o` to open (same as enter) +* `go` to preview file (open but maintain focus on ack.vim results) +* `t` to open in new tab +* `T` to open in new tab silently +* `q` to close the quickfix window + +## PLUGINS > CHEAT + +* `:Cheat` open cheat sheet (with autocomplete) +* `ch` open cheat sheet for word under the cursor + +## PLUGINS > GIST + +* `:Gist` post whole text to gist +* `:Gist XXXXX` get gist XXXXX +* `:Gist -l` list my gists + +## PLUGINS > GUNDO + +* `:GundoToggle` show undo tree + +## PLUGINS > LUSTYJUGGLER + +* `lj` show open buffers + +## PLUGINS > NERDCOMMENTER + +* `cc` comment out line(s) +* `c` toggle the comment state of the selected line(s) + +## PLUGINS > NERDTREE + +* `:NERDTreeToggle` show / hide file browser +* `:NERDTreeFind` show current file in file browser +* `:Bookmark name` bookmark the current node as "name" + +#### FILE + +* `o' open in prev window +* `go' preview +* `t' open in new tab +* `T' open in new tab silently +* `i' open split +* `gi' preview split +* `s' open vsplit +* `gs' preview vsplit + +#### DIRECTORY + +* `o` open & close node +* `O` recursively open node +* `x` close parent of node +* `X` close all child nodes of current node recursively +* `e` explore selected dir + +#### BOOKMARK + +* `o` open bookmark +* `t` open in new tab +* `T` open in new tab silently +* `D` delete bookmark + +#### TREE NAVIGATION + +* `P` go to root +* `p` go to parent +* `K` go to first child +* `J` go to last child +* `CTRL-j` go to next sibling +* `CTRL-k` go to prev sibling + +#### FILESYSTEM + +* `C` change tree root to the selected dir +* `u` move tree root up a dir +* `U` move tree root up a dir but leave old root open +* `r` refresh cursor dir +* `R` refresh current root +* `m` show menu +* `cd` change the CWD to the selected dir + +#### TREE FILTERING + +* `I` hidden files +* `f` file filters +* `F` files +* `B` bookmarks + +#### OTHER + +* `q` close the NERDTree window +* `A` zoom (maximize-minimize) the NERDTree window +* `?` toggle help + +## PLUGINS > PDV + +* `CTRL-P` generate PHP DOC + +## PLUGINS > PICKACOLOR + +* `:PickHEX` choose color in system color picker + +## PLUGINS > SNIPMATE + +* `` expand snippet + +## PLUGINS > SPARKUP + +* `CTRL-e` execute sparkup (zen coding expansion) +* `CTRL-n` jump to the next empty tag / attribute + +## PLUGINS > SURROUND + +* `cs'"` change surrounding quotes to double-quotes +* `cs(}` change surrounding parens to braces +* `cs({` change surrounding parens to braces with space +* `ds'` delete surrounding quotes +* `dst` delete surrounding tags +* `ysiw[` surround inner word with brackets +* `vees'` surround 2 words (ee) with quotes ' + +## PLUGINS > TABULAR + +* `:Tabularize /,` line the selected lines up on the commas + +## PLUGINS > TAGLIST + +* `:TlistToggle` open / close taglist window +* `` jump to tag or file +* `` display the tag prototype + +## PLUGINS > UNIMPAIRED + +* `[space` new line above +* `]space` new line below +* `[e` exchange line above +* `]e` exchange line below +* `[x` XML encode +* `]x` XML decode (with htmlentities) +* `[q` jump to previous quickfix item +* `]q` jump to next quickfix item +* `[Q` jump to first quickfix item +* `]Q` jump to last quickfix item + +## PLUGINS > VIM-FUGITIVE + +* `:Git` run a git command +* `:Gstatus` git status : - to (un)stage , p to patch, C to commit +* `:Gcommit` git commit +* `:Gread` empty the buffer and revert to the last commit +* `:Gwrite` write the current file and stage the results +* `:Gmove` git mv +* `:Gremove` git rm +* `:Glog` git log +* `:Gdiff` perform a vimdiff against the current file of a certain revision +* `:Gblame` open blame information in a scroll bound vertical splitt +* `:Gbrowse` open github + +## PLUGINS > VIM-MARKDOWN-PREVIEW + +* `:Mm` preview markdown document in webbrowser + +## PLUGINS > VIM-PEEPOPEN + +* `p` open the current directory with the peepopen application (fuzzy search) + +## PLUGINS > VIM-SYMFONY + +* `:Sview` open template file +* `:Saction` open action file +* `:Smodel` open model file +* `:Sfilter` open filter file +* `:Sform` open form file +* `:Spartial` open partial file / write selected content in partial + include +* `:Scomponent` open component file / write selected content in component + include +* `:Salternate` open alternate model file (class - table class) +* `:Symfony` execute task + +## PERSONAL .VIMRC + +* `ev` edit vimrc file +* `sv` reload vimrc file +* `sh` show syntax highlighting groups for word under cursor +* `` page down +* `jj` exit insertion mode +* `q` close the current window +* `/` clear the search register +* `h` toggle hidden characters +* `W` strip all trailing whitespace +* `CTRL-h` go to left window +* `CTRL-j` go to down window +* `CTRL-k` go to top window +* `CTRL-l` go to right window +* `w` open vertical split window and activate +* `%%` will expand to current directory +* `ew` open file from current directory +* `es` open file in split window from current directory +* `cd` change directory to parent dir of current file +* `##` will expand to webroot +* `:Wrap` wrap text +* `` toggle wrapped text +* `` toggle spell check +* `` toggle light/dark background +* `` underline with dashes +* `` underline with double lines +* `` bubble line(s) up +* `` bublle line(s) down + +* `:Ltag` load tags file +* `:Project` cd to project and load tags file +* `t` show current tag for word under cursor +* `st` show current tag for word under cursor in split window +* `tj` show current tag list for word under cursor +* `stj` show current tag list for word under cursor in split window +* `CTRL-` show omnicomplete menu +* `b` surround with strong tags +* `i` surround with em tags +* `CTRL-p` generate PHP DOC +* `a` run Ack +* `md` preview markdown +* `s` preview in safari +* `x` colorpicker +* `n` toggle Nerdtree +* `N` close Nerdtree +* `f` find current file in Nerdtree +* `l` toggle Taglist +* `L` close Taglist +* `ph` set filetype to php.html +* `r` reload all snipmate snippets +* `CTRL-` switch between buffers +* `CTRL-y` go to next tag of attribute in sparkup plugin +* `g` toggle Gundo window +* `IMG` show image browser to insert image tag with src, width and height +* `b` insert image tag with dimensions from NERDTree + http://stackoverflow.com/questions/5707925/vim-image-placement From c0826b86c0f0c21d973895e1d0eb67b51153c42d Mon Sep 17 00:00:00 2001 From: Daniel Fitzpatrick Date: Mon, 16 Apr 2018 20:20:50 -0700 Subject: [PATCH 2/2] Fix #43 and missed formatting --- tools/vim.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/vim.md b/tools/vim.md index f45630f..293af71 100644 --- a/tools/vim.md +++ b/tools/vim.md @@ -138,7 +138,7 @@ * `<<` indent line one column to left * `==` auto-indent current line * `ddp` swap current line with next -* `ddkp` swap current line with previous +* `ddkP` swap current line with previous * `:%retab` fix spaces / tabs issues in whole file * `:r [name]` insert the file [name] below the cursor. * `:r !{cmd}` execute {cmd} and insert its standard output below the cursor. @@ -327,14 +327,14 @@ #### FILE -* `o' open in prev window -* `go' preview -* `t' open in new tab -* `T' open in new tab silently -* `i' open split -* `gi' preview split -* `s' open vsplit -* `gs' preview vsplit +* `o` open in prev window +* `go` preview +* `t` open in new tab +* `T` open in new tab silently +* `i` open split +* `gi` preview split +* `s` open vsplit +* `gs` preview vsplit #### DIRECTORY