*vi-hints.txt* For Vim version 7 Vim usage hints from Stefan Liebl moving: ---------------- w next word b previous word e next end of word ge prev end of word ^ first non white-space in line 0 beginning of line fx find x tx to x % match paren H top of page M middle of page L end of page G end of file gg top of file <CTRL-U> up a half page <CTRL-D> down a half page <CTRL-F> forward a page <CTRL-B> backward a page '' jump back 50% jump to 50% of the file <CTRL-O> jump to older position <CTRL-I> jump to newer position :set virtualedit=all allow moving over end of line visual mode: ---------------- v start visual mode V start visual line mode <CTRL-V> start visual rectangle mode in UNIX <CTRL-Q> start visual rectangle mode in WINDOWS o select the other edge O select the other corner p insert register 0 P insert register " :I standard: insert text at start of each line in VimSuite: Increase Numbers (see|visincr|) :A append text to end of each line c change to text in each line U make upper case u make lower case r fill block with character > shift block right < shift block left J join lines gq format text searching: ---------------- / find (command line) /.../e move cursor to end of match /xxx\zsyyy/ find xxxyyy but jump to yyy (see|\zs|) ? find backwards * find word under cursor # find word under cursor backwards /\< find beginning of word /\> find end of word [i find first occurence of word under cursor from beginning of file ]i find first occurence of word under cursor form cursor [d find makro definion :nohls highlight off fx find next x in line gd go to definition gf go to file :find find file and edit registers: ---------------- :register display contents of all registers **yy copy to clipboard in UNIX <CTRL-C> copy to clipboard in WINDOWS **p paste from clipboard in UNIX <CTRL-V> paste from clipboard in WINDOWS "ap put content of register a "ay$ copy content of line to register a macro-recording: ---------------- qa start recording macro a qA append to macro a a stop recording macro a @a execute macro a marks: ---------------- mx set named mark x mX set global named mark X `x goto mark 'x goto mark (beginning of the line) '' position before jump '" position when leaving the file '. position of last change '[ beginning of last change '] end of last change :marks list all marks tags: ---------------- :tag xxx find a tag <TAB> find ctag under cursor (only for VimSuite) <CR> find cscope-tag under cursor (only for VimSuite) <S-TAB> return to previous location (only for VimSuite) <BB> return to previous location (only for VimSuite) changing: ---------------- . repeat last change u undo <CTRL-R> redo **yy copy to clipboard **p paste from clipboard - change case g~w change case for a word gUw make word uppercase guw make word lowercase :s/pattern/text replace pattern with text :global/pat/cmd search pattern and execute command <CTRL-P> complete word to match before cursor <CTRL-N> complete word to match after cursor <CTRL-Y> insert character above cursor <CTRL-R>a insert register a <CTRL-O>cmd execute normal mode command >> indent current line <CTRL-T> indent current line >> unindent current line <CTRL-D> unindent current line formatting: ---------------- :set textwith= set length of lines gq{motion} format text (wokts also visable) == format actual line :retab 4 change tabstop to 4 and change text to look the same display: ---------------- <CTRL-L> refresh display :zf fold create :zm fold more :zr fold reduce :zo fold open :zc fold close :gui start gui from terminal differences: ---------------- :vertical diffsplit file ]c next change [c last change :diffupdate update highliting dp diff put do diff obtain make and grep: ---------------- :ccn goto error n :cl list errors :cn goto next error :cp goto previous error :colder switch to older error-list :cnewer switch to newer error-list :cfile <name> read file as error-file file-operations: ---------------- :edit file (re)load a file :b file switch buffer to file <CTRL-^> jump to last file :args list arguments (files in buffer) vim -r file recover from a crash :edit . open file explorer gf go to file under cursor <CTRL-O> jump back :find find file in path :sfind open file in new window commandranges: ---------------- :1,5s/... execute command s for lines 1 to 5 :5s/... execute command s in line 5 :.,$s/... execute command s from actual line to the end of the file :'a,'bs/... execute command s from mark a to mark b :5:s/... execute command s for 5 lines :%s/... execute command for all lines command line editing: ---------------- <TAB> complete match <CTRL-D> list all matches <CTRL-R><CTRL-W> insert word under cursor %:p actual complete file-name hints and help: ---------------- :checkpath check include-files :options give a list of all options :command list all user-commands :function list all functions :autocommand list all autocommands ga ascii value of character under cursor vim:tw=78:ts=8:ft=help:norl: