*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 up a half page down a half page forward a page backward a page '' jump back 50% jump to 50% of the file jump to older position jump to newer position :set virtualedit=all allow moving over end of line visual mode: ---------------- v start visual mode V start visual line mode start visual rectangle mode in UNIX 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 copy to clipboard in WINDOWS **p paste from clipboard in UNIX 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 find ctag under cursor (only for VimSuite) find cscope-tag under cursor (only for VimSuite) return to previous location (only for VimSuite) return to previous location (only for VimSuite) changing: ---------------- . repeat last change u undo 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 complete word to match before cursor complete word to match after cursor insert character above cursor a insert register a cmd execute normal mode command >> indent current line indent current line >> unindent current line 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: ---------------- 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 read file as error-file file-operations: ---------------- :edit file (re)load a file :b file switch buffer to file 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 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: ---------------- complete match list all matches 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: