*howto.txt*	For Vim version 7.0aa.  Last change: 2001 Sep 03


		  VIM REFERENCE MANUAL	  by Bram Moolenaar


How to ...				*howdoi* *how-do-i* *howto* *how-to*

|tutor|			get started
|:quit|			exit?  I'm trapped, help me!
|initialization|	initialize Vim
|vimrc-intro|		write a Vim script file (vimrc)
|suspend|		suspend Vim
|usr_11.txt|		recover after a crash
|07.4|			keep a backup of my file when writing over it

|usr_07.txt|		edit files
|23.4|			edit binary files
|usr_24.txt|		insert text
|deleting|		delete text
|usr_04.txt|		change text
|04.5|			copy and move text
|usr_25.txt|		format text
|30.6|			format comments
|30.2|			indent C programs
|25.3|			automatically set indent

|usr_26.txt|		repeat commands
|02.5|			undo and redo

|usr_03.txt|		move around
|word-motions|		word motions
|left-right-motions|	left-right motions
|up-down-motions|	up-down motions
|object-motions|	text-object motions
|various-motions|	various motions
|object-select|		text-object selection
|'whichwrap'|		move over line breaks
|'virtualedit'|		move to where there is no text
|usr_27.txt|		specify pattern for searches
|tags-and-searches|	do tags and special searches
|29.4|			search in include'd files used to find
			variables, functions, or macros
|K|			look up manual for the keyword under cursor

|03.7|			scroll
|'sidescroll'|		scroll horizontally/sideways
|'scrolloff'|		set visible context lines

|mode-switching|	change modes
|04.4|			use Visual mode
|'insertmode'|		start Vim in Insert mode

|40.1|			map keys
|24.7|			create abbreviations

|ins-expandtab|		expand a tab to spaces in Insert mode
|i_CTRL-R|		insert contents of a register in Insert mode
|24.3|			complete words in Insert mode
|25.1|			break a line before it gets too long

|20.1|			do command-line editing
|20.3|			do command-line completion
|'cmdheight'|		increase the height of command-line
|10.3|			specify command-line ranges
|40.3|			specify commands to be executed automatically
			before/after reading/writing entering/leaving a
			buffer/window

|'autowrite'|		write automatically
|30.1|			speedup edit-compile-edit cycle or compile and fix
			errors within Vim

|options|		set options
|auto-setting|		set options automatically
|term-dependent-settings| set options depending on terminal name
|save-settings|		save settings
|:quote|		comment my exrc/vimrc/gvimrc files
|'helpheight'|		change the default help height
|'highlight'|		set various highlighting modes
|'title'|		set the window title
|'icon'|		set window icon title
|'report'|		avoid seeing the change messages on every line
|'shortmess'|		avoid |hit-enter| prompts

|mouse-using|		use mouse with Vim
|usr_08.txt|		manage multiple windows and buffers
|gui.txt|		use the gui

|You can't! (yet)|	do dishes using Vim

|usr_06.txt|		switch on syntax highlighting
|2html.vim|		convert a colored file to HTML
|less|			use Vim like less or more with syntax highlighting

 vim:tw=78:ts=8:ft=help:norl:
