*help.txt*	For Vim version 9.0.  Last change: 2022 May 13

			VIM - main help file
									 k
      Move around:  Use the cursor keys, or "h" to go left,	       h   l
		    "j" to go down, "k" to go up, "l" to go right.	 j
Close this window:  Use ":q<Enter>".
   Get out of Vim:  Use ":qa!<Enter>" (careful, all changes are lost!).

Jump to a subject:  Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
   With the mouse:  ":set mouse=a" to enable the mouse (in xterm or GUI).
		    Double-click the left mouse button on a tag, e.g. |bars|.
	Jump back:  Type CTRL-O.  Repeat to go further back.

Get specific help:  It is possible to go directly to whatever you want help
		    on, by giving an argument to the |:help| command.
		    Prepend something to specify the context:  *help-context*

			  WHAT			PREPEND    EXAMPLE	~
		      Normal mode command		   :help x
		      Visual mode command	  v_	   :help v_u
		      Insert mode command	  i_	   :help i_<Esc>
		      Command-line command	  :	   :help :quit
		      Command-line editing	  c_	   :help c_<Del>
		      Vim command argument	  -	   :help -r
		      Option			  '	   :help 'textwidth'
		      Regular expression	  /	   :help /[
		    See |help-summary| for more contexts and an explanation.
		    See |notation| for an explanation of the help syntax.

  Search for help:  Type ":help word", then hit CTRL-D to see matching
		    help entries for "word".
		    Or use ":helpgrep word". |:helpgrep|

  Getting started:  Do the Vim tutor, a 30-minute interactive course for the
		    basic commands, see |vimtutor|.
		    Read the user manual from start to end: |usr_01.txt|

Vim stands for Vi IMproved.  Most of Vim was made by Bram Moolenaar, but only
through the help of many others.  See |credits|.
------------------------------------------------------------------------------
						*doc-file-list* *Q_ct*
BASIC:
|quickref|	Overview of the most common commands you will use
|tutor|		30-minute interactive course for beginners
|copying|	About copyrights
|iccf|		Helping poor children in Uganda
|sponsor|	Sponsor Vim development, become a registered Vim user
|www|		Vim on the World Wide Web
|bugs|		Where to send bug reports

USER MANUAL: These files explain how to accomplish an editing task.

|usr_toc.txt|	Table Of Contents

Getting Started ~
|usr_01.txt|  About the manuals
|usr_02.txt|  The first steps in Vim
|usr_03.txt|  Moving around
|usr_04.txt|  Making small changes
|usr_05.txt|  Set your settings
|usr_06.txt|  Using syntax highlighting
|usr_07.txt|  Editing more than one file
|usr_08.txt|  Splitting windows
|usr_09.txt|  Using the GUI
|usr_10.txt|  Making big changes
|usr_11.txt|  Recovering from a crash
|usr_12.txt|  Clever tricks

Editing Effectively ~
|usr_20.txt|  Typing command-line commands quickly
|usr_21.txt|  Go away and come back
|usr_22.txt|  Finding the file to edit
|usr_23.txt|  Editing other files
|usr_24.txt|  Inserting quickly
|usr_25.txt|  Editing formatted text
|usr_26.txt|  Repeating
|usr_27.txt|  Search commands and patterns
|usr_28.txt|  Folding
|usr_29.txt|  Moving through programs
|usr_30.txt|  Editing programs
|usr_31.txt|  Exploiting the GUI
|usr_32.txt|  The undo tree

Tuning Vim ~
|usr_40.txt|  Make new commands
|usr_41.txt|  Write a Vim script
|usr_42.txt|  Add new menus
|usr_43.txt|  Using filetypes
|usr_44.txt|  Your own syntax highlighted
|usr_45.txt|  Select your language

Writing Vim scripts ~
|usr_50.txt|  Advanced Vim script writing
|usr_51.txt|  Create a plugin
|usr_52.txt|  Write plugins using Vim9 script

Making Vim Run ~
|usr_90.txt|  Installing Vim

REFERENCE MANUAL: These files explain every detail of Vim.	*reference_toc*

General subjects ~
|intro.txt|	general introduction to Vim; notation used in help files
|help.txt|	overview and quick reference (this file)
|helphelp.txt|	about using the help files
|index.txt|	alphabetical index of all commands
|help-tags|	all the tags you can jump to (index of tags)
|howto.txt|	how to do the most common editing tasks
|tips.txt|	various tips on using Vim
|message.txt|	(error) messages and explanations
|quotes.txt|	remarks from users of Vim
|todo.txt|	known problems and desired extensions
|develop.txt|	development of Vim
|debug.txt|	debugging Vim itself
|uganda.txt|	Vim distribution conditions and what to do with your money

Basic editing ~
|starting.txt|	starting Vim, Vim command arguments, initialisation
|editing.txt|	editing and writing files
|motion.txt|	commands for moving around
|scroll.txt|	scrolling the text in the window
|insert.txt|	Insert and Replace mode
|change.txt|	deleting and replacing text
|undo.txt|	Undo and Redo
|repeat.txt|	repeating commands, Vim scripts and debugging
|visual.txt|	using the Visual mode (selecting a text area)
|various.txt|	various remaining commands
|recover.txt|	recovering from a crash

Advanced editing ~
|cmdline.txt|	Command-line editing
|options.txt|	description of all options
|pattern.txt|	regexp patterns and search commands
|map.txt|	key mapping and abbreviations
|tagsrch.txt|	tags and special searches
|windows.txt|	commands for using multiple windows and buffers
|tabpage.txt|	commands for using multiple tab pages
|spell.txt|	spell checking
|diff.txt|	working with two to eight versions of the same file
|autocmd.txt|	automatically executing commands on an event
|eval.txt|	expression evaluation, conditional commands
|builtin.txt|	builtin functions
|userfunc.txt|	defining user functions
|channel.txt|	Jobs, Channels, inter-process communication
|fold.txt|	hide (fold) ranges of lines

Special issues ~
|testing.txt|	testing Vim and Vim scripts
|print.txt|	printing
|remote.txt|	using Vim as a server or client
|term.txt|	using different terminals and mice
|terminal.txt|	Terminal window support
|popup.txt|	popup window support
|vim9.txt|	using Vim9 script

Programming language support ~
|indent.txt|	automatic indenting for C and other languages
|syntax.txt|	syntax highlighting
|textprop.txt|	Attaching properties to text for highlighting or other
|filetype.txt|	settings done specifically for a type of file
|quickfix.txt|	commands for a quick edit-compile-fix cycle
|ft_ada.txt|	Ada (the programming language) support
|ft_ps1.txt|	Filetype plugin for Windows PowerShell
|ft_raku.txt|	Filetype plugin for Raku
|ft_rust.txt|	Filetype plugin for Rust
|ft_sql.txt|	about the SQL filetype plugin

Language support ~
|digraph.txt|	list of available digraphs
|mbyte.txt|	multibyte text support
|mlang.txt|	non-English language support
|rileft.txt|	right-to-left editing mode
|arabic.txt|	Arabic language support and editing
|farsi.txt|	Farsi (Persian) editing
|hebrew.txt|	Hebrew language support and editing
|russian.txt|	Russian language support and editing
|hangulin.txt|	Hangul (Korean) input mode

GUI ~
|gui.txt|	Graphical User Interface (GUI)
|gui_w32.txt|	Win32 GUI
|gui_x11.txt|	X11 GUI

Interfaces ~
|if_cscop.txt|	using Cscope with Vim
|if_lua.txt|	Lua interface
|if_mzsch.txt|	MzScheme interface
|if_perl.txt|	Perl interface
|if_pyth.txt|	Python interface
|if_tcl.txt|	Tcl interface
|if_ole.txt|	OLE automation interface for Win32
|if_ruby.txt|	Ruby interface
|debugger.txt|	Interface with a debugger
|netbeans.txt|	NetBeans External Editor interface
|sign.txt|	debugging signs

Versions ~
|vi_diff.txt|	Main differences between Vim and Vi
|version4.txt|	Differences between Vim version 3.0 and 4.x
|version5.txt|	Differences between Vim version 4.6 and 5.x
|version6.txt|	Differences between Vim version 5.7 and 6.x
|version7.txt|	Differences between Vim version 6.4 and 7.x
|version8.txt|	Differences between Vim version 7.4 and 8.x
|version9.txt|	Differences between Vim version 8.2 and 9.0
						*sys-file-list*
Remarks about specific systems ~
|os_390.txt|	OS/390 Unix
|os_amiga.txt|	Amiga
|os_beos.txt|	BeOS and BeBox
|os_dos.txt|	MS-DOS and MS-Windows common items
|os_haiku.txt|	Haiku
|os_mac.txt|	Macintosh
|os_mint.txt|	Atari MiNT
|os_msdos.txt|	MS-DOS (plain DOS and DOS box under Windows)
|os_os2.txt|	OS/2
|os_qnx.txt|	QNX
|os_risc.txt|	RISC-OS
|os_unix.txt|	Unix
|os_vms.txt|	VMS
|os_win32.txt|	MS-Windows
						*standard-plugin-list*
Standard plugins ~
|pi_getscript.txt| Downloading latest version of Vim scripts
|pi_gzip.txt|      Reading and writing compressed files
|pi_logipat.txt|   Logical operators on patterns
|pi_netrw.txt|     Reading and writing files over a network
|pi_paren.txt|     Highlight matching parens
|pi_spec.txt|      Filetype plugin to work with rpm spec files
|pi_tar.txt|       Tar file explorer
|pi_vimball.txt|   Create a self-installing Vim script
|pi_zip.txt|       Zip archive explorer

LOCAL ADDITIONS:				*local-additions*

------------------------------------------------------------------------------
*bars*		Bars example

Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.

Note that tags are within | characters, but when highlighting is enabled these
characters are hidden.  That makes it easier to read a command.

Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
will try to find help for it.  Especially for options in single quotes, e.g.
'compatible'.

------------------------------------------------------------------------------
 vim:tw=78:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl:
