comparison runtime/doc/options.txt @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children c16898406ff2
comparison
equal deleted inserted replaced
33:7d0d8b831f5a 34:e170173ecb68
1 *options.txt* For Vim version 7.1. Last change: 2007 Aug 10 1 *options.txt* For Vim version 7.2. Last change: 2008 Aug 06
2 2
3 3
4 VIM REFERENCE MANUAL by Bram Moolenaar 4 VIM REFERENCE MANUAL by Bram Moolenaar
5 5
6 6
109 109
110 *:set-verbose* 110 *:set-verbose*
111 When 'verbose' is non-zero, displaying an option value will also tell where it 111 When 'verbose' is non-zero, displaying an option value will also tell where it
112 was last set. Example: > 112 was last set. Example: >
113 :verbose set shiftwidth cindent? 113 :verbose set shiftwidth cindent?
114 shiftwidth=4 114 < shiftwidth=4 ~
115 Last set from modeline 115 Last set from modeline ~
116 cindent 116 cindent ~
117 Last set from /usr/local/share/vim/vim60/ftplugin/c.vim 117 Last set from /usr/local/share/vim/vim60/ftplugin/c.vim ~
118 This is only done when specific option values are requested, not for ":set 118 This is only done when specific option values are requested, not for ":verbose
119 all" or ":set" without an argument. 119 set all" or ":verbose set" without an argument.
120 When the option was set by hand there is no "Last set" message. There is only 120 When the option was set by hand there is no "Last set" message.
121 one value for all local options with the same name. Thus the message applies
122 to the option name, not necessarily its value.
123 When the option was set while executing a function, user command or 121 When the option was set while executing a function, user command or
124 autocommand, the script in which it was defined is reported. 122 autocommand, the script in which it was defined is reported.
125 Note that an option may also have been set as a side effect of setting 123 Note that an option may also have been set as a side effect of setting
126 'compatible'. 124 'compatible'.
125 A few special texts:
126 Last set from modeline ~
127 Option was set in a |modeline|.
128 Last set from --cmd argument ~
129 Option was set with command line argument |--cmd| or +.
130 Last set from -c argument ~
131 Option was set with command line argument |-c|, +, |-S| or
132 |-q|.
133 Last set from environment variable ~
134 Option was set from an environment variable, $VIMINIT,
135 $GVIMINIT or $EXINIT.
136 Last set from error handler ~
137 Option was cleared when evaluating it resulted in an error.
138
127 {not available when compiled without the +eval feature} 139 {not available when compiled without the +eval feature}
128 140
129 *:set-termcap* *E522* 141 *:set-termcap* *E522*
130 For {option} the form "t_xx" may be used to set a terminal option. This will 142 For {option} the form "t_xx" may be used to set a terminal option. This will
131 override the value from the termcap. You can then use it in a mapping. If 143 override the value from the termcap. You can then use it in a mapping. If
263 With the "all" argument: display all local option's 275 With the "all" argument: display all local option's
264 local values. 276 local values.
265 Without argument: Display all local option's local 277 Without argument: Display all local option's local
266 values which are different from the default. 278 values which are different from the default.
267 When displaying a specific local option, show the 279 When displaying a specific local option, show the
268 local value. For a global option the global value is 280 local value. For a global/local boolean option, when
281 the global value is being used, "--" is displayed
282 before the option name.
283 For a global option the global value is
269 shown (but that might change in the future). 284 shown (but that might change in the future).
270 {not in Vi} 285 {not in Vi}
271 286
272 :setl[ocal] {option}< Set the local value of {option} to its global value by 287 :setl[ocal] {option}< Set the local value of {option} to its global value by
273 copying the value. 288 copying the value.
795 what the background color looks like. For changing the background 810 what the background color looks like. For changing the background
796 color, see |:hi-normal|. 811 color, see |:hi-normal|.
797 812
798 When 'background' is set Vim will adjust the default color groups for 813 When 'background' is set Vim will adjust the default color groups for
799 the new value. But the colors used for syntax highlighting will not 814 the new value. But the colors used for syntax highlighting will not
800 change. 815 change. *g:colors_name*
801 When a color scheme is loaded (the "colors_name" variable is set) 816 When a color scheme is loaded (the "colors_name" variable is set)
802 setting 'background' will cause the color scheme to be reloaded. If 817 setting 'background' will cause the color scheme to be reloaded. If
803 the color scheme adjusts to the value of 'background' this will work. 818 the color scheme adjusts to the value of 'background' this will work.
804 However, if the color scheme sets 'background' itself the effect may 819 However, if the color scheme sets 'background' itself the effect may
805 be undone. First delete the "colors_name" variable when needed. 820 be undone. First delete the "colors_name" variable when needed.
1146 characters when 'encoding' is an 8-bit encoding. 1161 characters when 'encoding' is an 8-bit encoding.
1147 1162
1148 *'browsedir'* *'bsdir'* 1163 *'browsedir'* *'bsdir'*
1149 'browsedir' 'bsdir' string (default: "last") 1164 'browsedir' 'bsdir' string (default: "last")
1150 global 1165 global
1151 {not in Vi} {only for Motif and Win32 GUI} 1166 {not in Vi} {only for Motif, Athena, GTK, Mac and
1167 Win32 GUI}
1152 Which directory to use for the file browser: 1168 Which directory to use for the file browser:
1153 last Use same directory as with last file browser. 1169 last Use same directory as with last file browser, where a
1170 file was opened or saved.
1154 buffer Use the directory of the related buffer. 1171 buffer Use the directory of the related buffer.
1155 current Use the current directory. 1172 current Use the current directory.
1156 {path} Use the specified directory 1173 {path} Use the specified directory
1157 1174
1158 *'bufhidden'* *'bh'* 1175 *'bufhidden'* *'bh'*
1261 {not in Vi} 1278 {not in Vi}
1262 {not available when compiled without the 1279 {not available when compiled without the
1263 |+file_in_path| feature} 1280 |+file_in_path| feature}
1264 This is a list of directories which will be searched when using the 1281 This is a list of directories which will be searched when using the
1265 |:cd| and |:lcd| commands, provided that the directory being searched 1282 |:cd| and |:lcd| commands, provided that the directory being searched
1266 for has a relative path (not starting with "/", "./" or "../"). 1283 for has a relative path, not an absolute part starting with "/", "./"
1284 or "../", the 'cdpath' option is not used then.
1267 The 'cdpath' option's value has the same form and semantics as 1285 The 'cdpath' option's value has the same form and semantics as
1268 |'path'|. Also see |file-searching|. 1286 |'path'|. Also see |file-searching|.
1269 The default value is taken from $CDPATH, with a "," prepended to look 1287 The default value is taken from $CDPATH, with a "," prepended to look
1270 in the current directory first. 1288 in the current directory first.
1271 If the default value taken from $CDPATH is not what you want, include 1289 If the default value taken from $CDPATH is not what you want, include
1341 'cindent' 'cin' boolean (default off) 1359 'cindent' 'cin' boolean (default off)
1342 local to buffer 1360 local to buffer
1343 {not in Vi} 1361 {not in Vi}
1344 {not available when compiled without the |+cindent| 1362 {not available when compiled without the |+cindent|
1345 feature} 1363 feature}
1346 Enables automatic C program indenting See 'cinkeys' to set the keys 1364 Enables automatic C program indenting. See 'cinkeys' to set the keys
1347 that trigger reindenting in insert mode and 'cinoptions' to set your 1365 that trigger reindenting in insert mode and 'cinoptions' to set your
1348 preferred indent style. 1366 preferred indent style.
1349 If 'indentexpr' is not empty, it overrules 'cindent'. 1367 If 'indentexpr' is not empty, it overrules 'cindent'.
1350 If 'lisp' is not on and both 'indentexpr' and 'equalprg' are empty, 1368 If 'lisp' is not on and both 'indentexpr' and 'equalprg' are empty,
1351 the "=" operator indents using this algorithm rather than calling an 1369 the "=" operator indents using this algorithm rather than calling an
1709 Copy the structure of the existing lines indent when autoindenting a 1727 Copy the structure of the existing lines indent when autoindenting a
1710 new line. Normally the new indent is reconstructed by a series of 1728 new line. Normally the new indent is reconstructed by a series of
1711 tabs followed by spaces as required (unless |'expandtab'| is enabled, 1729 tabs followed by spaces as required (unless |'expandtab'| is enabled,
1712 in which case only spaces are used). Enabling this option makes the 1730 in which case only spaces are used). Enabling this option makes the
1713 new line copy whatever characters were used for indenting on the 1731 new line copy whatever characters were used for indenting on the
1714 existing line. If the new indent is greater than on the existing 1732 existing line. 'expandtab' has no effect on these characters, a Tab
1733 remains a Tab. If the new indent is greater than on the existing
1715 line, the remaining space is filled in the normal manner. 1734 line, the remaining space is filled in the normal manner.
1716 NOTE: 'copyindent' is reset when 'compatible' is set. 1735 NOTE: 'copyindent' is reset when 'compatible' is set.
1717 Also see 'preserveindent'. 1736 Also see 'preserveindent'.
1718 1737
1719 *'cpoptions'* *'cpo'* 1738 *'cpoptions'* *'cpo'*
2271 "." is replaced with the path name of the edited file. 2290 "." is replaced with the path name of the edited file.
2272 - For Unix and Win32, if a directory ends in two path separators "//" 2291 - For Unix and Win32, if a directory ends in two path separators "//"
2273 or "\\", the swap file name will be built from the complete path to 2292 or "\\", the swap file name will be built from the complete path to
2274 the file with all path separators substituted to percent '%' signs. 2293 the file with all path separators substituted to percent '%' signs.
2275 This will ensure file name uniqueness in the preserve directory. 2294 This will ensure file name uniqueness in the preserve directory.
2295 On Win32, when a separating comma is following, you must use "//",
2296 since "\\" will include the comma in the file name.
2276 - Spaces after the comma are ignored, other spaces are considered part 2297 - Spaces after the comma are ignored, other spaces are considered part
2277 of the directory name. To have a space at the start of a directory 2298 of the directory name. To have a space at the start of a directory
2278 name, precede it with a backslash. 2299 name, precede it with a backslash.
2279 - To include a comma in a directory name precede it with a backslash. 2300 - To include a comma in a directory name precede it with a backslash.
2280 - A directory name may end in an ':' or '/'. 2301 - A directory name may end in an ':' or '/'.
2421 *'equalprg'* *'ep'* 2442 *'equalprg'* *'ep'*
2422 'equalprg' 'ep' string (default "") 2443 'equalprg' 'ep' string (default "")
2423 global or local to buffer |global-local| 2444 global or local to buffer |global-local|
2424 {not in Vi} 2445 {not in Vi}
2425 External program to use for "=" command. When this option is empty 2446 External program to use for "=" command. When this option is empty
2426 the internal formatting functions are used ('lisp', 'cindent' or 2447 the internal formatting functions are used; either 'lisp', 'cindent'
2427 'indentexpr'). 2448 or 'indentexpr'.
2428 Environment variables are expanded |:set_env|. See |option-backslash| 2449 Environment variables are expanded |:set_env|. See |option-backslash|
2429 about including spaces and backslashes. 2450 about including spaces and backslashes.
2430 This option cannot be set from a |modeline| or in the |sandbox|, for 2451 This option cannot be set from a |modeline| or in the |sandbox|, for
2431 security reasons. 2452 security reasons.
2432 2453
3360 *'go-e'* 3381 *'go-e'*
3361 'e' Add tab pages when indicated with 'showtabline'. 3382 'e' Add tab pages when indicated with 'showtabline'.
3362 'guitablabel' can be used to change the text in the labels. 3383 'guitablabel' can be used to change the text in the labels.
3363 When 'e' is missing a non-GUI tab pages line may be used. 3384 When 'e' is missing a non-GUI tab pages line may be used.
3364 The GUI tabs are only supported on some systems, currently 3385 The GUI tabs are only supported on some systems, currently
3365 GTK, Motif and MS-Windows. 3386 GTK, Motif, Mac OS/X and MS-Windows.
3366 *'go-f'* 3387 *'go-f'*
3367 'f' Foreground: Don't use fork() to detach the GUI from the shell 3388 'f' Foreground: Don't use fork() to detach the GUI from the shell
3368 where it was started. Use this for programs that wait for the 3389 where it was started. Use this for programs that wait for the
3369 editor to finish (e.g., an e-mail program). Alternatively you 3390 editor to finish (e.g., an e-mail program). Alternatively you
3370 can use "gvim -f" or ":gui -f" to start the GUI in the 3391 can use "gvim -f" or ":gui -f" to start the GUI in the
3616 are not applied. 3637 are not applied.
3617 See also: 'incsearch' and |:match|. 3638 See also: 'incsearch' and |:match|.
3618 When you get bored looking at the highlighted matches, you can turn it 3639 When you get bored looking at the highlighted matches, you can turn it
3619 off with |:nohlsearch|. As soon as you use a search command, the 3640 off with |:nohlsearch|. As soon as you use a search command, the
3620 highlighting comes back. 3641 highlighting comes back.
3642 'redrawtime' specifies the maximum time spent on finding matches.
3621 When the search pattern can match an end-of-line, Vim will try to 3643 When the search pattern can match an end-of-line, Vim will try to
3622 highlight all of the matched text. However, this depends on where the 3644 highlight all of the matched text. However, this depends on where the
3623 search starts. This will be the first line in the window or the first 3645 search starts. This will be the first line in the window or the first
3624 line below a closed fold. A match in a previous line which is not 3646 line below a closed fold. A match in a previous line which is not
3625 drawn may not continue in a newly drawn line. 3647 drawn may not continue in a newly drawn line.
3849 often, this is only useful on fast terminals. 3871 often, this is only useful on fast terminals.
3850 Note that the match will be shown, but the cursor will return to its 3872 Note that the match will be shown, but the cursor will return to its
3851 original position when no match is found and when pressing <Esc>. You 3873 original position when no match is found and when pressing <Esc>. You
3852 still need to finish the search command with <Enter> to move the 3874 still need to finish the search command with <Enter> to move the
3853 cursor to the match. 3875 cursor to the match.
3876 When compiled with the |+reltime| feature Vim only searches for about
3877 half a second. With a complicated pattern and/or a lot of text the
3878 match may not be found. This is to avoid that Vim hangs while you
3879 are typing the pattern.
3854 The highlighting can be set with the 'i' flag in 'highlight'. 3880 The highlighting can be set with the 'i' flag in 'highlight'.
3855 See also: 'hlsearch'. 3881 See also: 'hlsearch'.
3856 CTRL-L can be used to add one character from after the current match 3882 CTRL-L can be used to add one character from after the current match
3857 to the command line. 3883 to the command line.
3858 CTRL-R CTRL-W can be used to add the word at the end of the current 3884 CTRL-R CTRL-W can be used to add the word at the end of the current
3910 *'infercase'* *'inf'* *'noinfercase'* *'noinf'* 3936 *'infercase'* *'inf'* *'noinfercase'* *'noinf'*
3911 'infercase' 'inf' boolean (default off) 3937 'infercase' 'inf' boolean (default off)
3912 local to buffer 3938 local to buffer
3913 {not in Vi} 3939 {not in Vi}
3914 When doing keyword completion in insert mode |ins-completion|, and 3940 When doing keyword completion in insert mode |ins-completion|, and
3915 'ignorecase' is also on, the case of the match is adjusted. If the 3941 'ignorecase' is also on, the case of the match is adjusted depending
3916 typed text contains a lowercase letter where the match has an upper 3942 on the typed text. If the typed text contains a lowercase letter
3917 case letter, the completed part is made lowercase. If the typed text 3943 where the match has an upper case letter, the completed part is made
3918 has no lowercase letters and the match has a lowercase letter where 3944 lowercase. If the typed text has no lowercase letters and the match
3919 the typed text has an uppercase letter, and there is a letter before 3945 has a lowercase letter where the typed text has an uppercase letter,
3920 it, the completed part is made uppercase. 3946 and there is a letter before it, the completed part is made uppercase.
3947 With 'noinfercase' the match is used as-is.
3921 3948
3922 *'insertmode'* *'im'* *'noinsertmode'* *'noim'* 3949 *'insertmode'* *'im'* *'noinsertmode'* *'noim'*
3923 'insertmode' 'im' boolean (default off) 3950 'insertmode' 'im' boolean (default off)
3924 global 3951 global
3925 {not in Vi} 3952 {not in Vi}
3960 path names. Filenames are used for commands like "gf", "[i" and in 3987 path names. Filenames are used for commands like "gf", "[i" and in
3961 the tags file. It is also used for "\f" in a |pattern|. 3988 the tags file. It is also used for "\f" in a |pattern|.
3962 Multi-byte characters 256 and above are always included, only the 3989 Multi-byte characters 256 and above are always included, only the
3963 characters up to 255 are specified with this option. 3990 characters up to 255 are specified with this option.
3964 For UTF-8 the characters 0xa0 to 0xff are included as well. 3991 For UTF-8 the characters 0xa0 to 0xff are included as well.
3992 Think twice before adding white space to this option. Although a
3993 space may appear inside a file name, the effect will be that Vim
3994 doesn't know where a file name starts or ends when doing completion.
3995 It most likely works better without a space in 'isfname'.
3965 3996
3966 Note that on systems using a backslash as path separator, Vim tries to 3997 Note that on systems using a backslash as path separator, Vim tries to
3967 do its best to make it work as you would expect. That is a bit 3998 do its best to make it work as you would expect. That is a bit
3968 tricky, since Vi originally used the backslash to escape special 3999 tricky, since Vi originally used the backslash to escape special
3969 characters. Vim will not remove a backslash in front of a normal file 4000 characters. Vim will not remove a backslash in front of a normal file
3986 "^a-z,#,^" (exclude 'a' to 'z', include '#' and '^') 4017 "^a-z,#,^" (exclude 'a' to 'z', include '#' and '^')
3987 If the character is '@', all characters where isalpha() returns TRUE 4018 If the character is '@', all characters where isalpha() returns TRUE
3988 are included. Normally these are the characters a to z and A to Z, 4019 are included. Normally these are the characters a to z and A to Z,
3989 plus accented characters. To include '@' itself use "@-@". Examples: 4020 plus accented characters. To include '@' itself use "@-@". Examples:
3990 "@,^a-z" All alphabetic characters, excluding lower 4021 "@,^a-z" All alphabetic characters, excluding lower
3991 case letters. 4022 case ASCII letters.
3992 "a-z,A-Z,@-@" All letters plus the '@' character. 4023 "a-z,A-Z,@-@" All letters plus the '@' character.
3993 A comma can be included by using it where a character number is 4024 A comma can be included by using it where a character number is
3994 expected. Example: 4025 expected. Example:
3995 "48-57,,,_" Digits, comma and underscore. 4026 "48-57,,,_" Digits, comma and underscore.
3996 A comma can be excluded by prepending a '^'. Example: 4027 A comma can be excluded by prepending a '^'. Example:
4610 *'mouse'* *E538* 4641 *'mouse'* *E538*
4611 'mouse' string (default "", "a" for GUI, MS-DOS and Win32) 4642 'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
4612 global 4643 global
4613 {not in Vi} 4644 {not in Vi}
4614 Enable the use of the mouse. Only works for certain terminals 4645 Enable the use of the mouse. Only works for certain terminals
4615 (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, and Linux console 4646 (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
4616 with gpm). For using the mouse in the GUI, see |gui-mouse|. 4647 sysmouse and Linux console with gpm). For using the mouse in the
4648 GUI, see |gui-mouse|.
4617 The mouse can be enabled for different modes: 4649 The mouse can be enabled for different modes:
4618 n Normal mode 4650 n Normal mode
4619 v Visual mode 4651 v Visual mode
4620 i Insert mode 4652 i Insert mode
4621 c Command-line mode 4653 c Command-line mode
4866 feature} 4898 feature}
4867 Some operating systems store extra information about files besides 4899 Some operating systems store extra information about files besides
4868 name, datestamp and permissions. This option contains the extra 4900 name, datestamp and permissions. This option contains the extra
4869 information, the nature of which will vary between systems. 4901 information, the nature of which will vary between systems.
4870 The value of this option is usually set when the file is loaded, and 4902 The value of this option is usually set when the file is loaded, and
4871 use to set the file type when file is written. 4903 is used to set the operating system file type when file is written.
4872 It can affect the pattern matching of the automatic commands. 4904 It can affect the pattern matching of the automatic commands.
4873 |autocmd-osfiletypes| 4905 |autocmd-osfiletypes|
4874 4906
4875 *'paragraphs'* *'para'* 4907 *'paragraphs'* *'para'*
4876 'paragraphs' 'para' string (default "IPLPPPQPP LIpplpipbp") 4908 'paragraphs' 'para' string (default "IPLPPPQPP TPHPLIPpLpItpplpipbp")
4877 global 4909 global
4878 Specifies the nroff macros that separate paragraphs. These are pairs 4910 Specifies the nroff macros that separate paragraphs. These are pairs
4879 of two letters (see |object-motions|). 4911 of two letters (see |object-motions|).
4880 4912
4881 *'paste'* *'nopaste'* 4913 *'paste'* *'nopaste'*
4941 :set pastetoggle=<F11> 4973 :set pastetoggle=<F11>
4942 < This will make <F10> start paste mode and <F11> stop paste mode. 4974 < This will make <F10> start paste mode and <F11> stop paste mode.
4943 Note that typing <F10> in paste mode inserts "<F10>", since in paste 4975 Note that typing <F10> in paste mode inserts "<F10>", since in paste
4944 mode everything is inserted literally, except the 'pastetoggle' key 4976 mode everything is inserted literally, except the 'pastetoggle' key
4945 sequence. 4977 sequence.
4978 When the value has several bytes 'ttimeoutlen' applies.
4946 4979
4947 *'pex'* *'patchexpr'* 4980 *'pex'* *'patchexpr'*
4948 'patchexpr' 'pex' string (default "") 4981 'patchexpr' 'pex' string (default "")
4949 global 4982 global
4950 {not in Vi} 4983 {not in Vi}
4979 on OS/2: ".,/emx/include,," 5012 on OS/2: ".,/emx/include,,"
4980 other systems: ".,,") 5013 other systems: ".,,")
4981 global or local to buffer |global-local| 5014 global or local to buffer |global-local|
4982 {not in Vi} 5015 {not in Vi}
4983 This is a list of directories which will be searched when using the 5016 This is a list of directories which will be searched when using the
4984 |gf|, [f, ]f, ^Wf, |:find| and other commands, provided that the file 5017 |gf|, [f, ]f, ^Wf, |:find|, |:sfind|, |:tabfind| and other commands,
4985 being searched for has a relative path (not starting with '/'). The 5018 provided that the file being searched for has a relative path (not
4986 directories in the 'path' option may be relative or absolute. 5019 starting with "/", "./" or "../"). The directories in the 'path'
5020 option may be relative or absolute.
4987 - Use commas to separate directory names: > 5021 - Use commas to separate directory names: >
4988 :set path=.,/usr/local/include,/usr/include 5022 :set path=.,/usr/local/include,/usr/include
4989 < - Spaces can also be used to separate directory names (for backwards 5023 < - Spaces can also be used to separate directory names (for backwards
4990 compatibility with version 3.0). To have a space in a directory 5024 compatibility with version 3.0). To have a space in a directory
4991 name, precede it with an extra backslash, and escape the space: > 5025 name, precede it with an extra backslash, and escape the space: >
5000 :set path=,, 5034 :set path=,,
5001 < - A directory name may end in a ':' or '/'. 5035 < - A directory name may end in a ':' or '/'.
5002 - Environment variables are expanded |:set_env|. 5036 - Environment variables are expanded |:set_env|.
5003 - When using |netrw.vim| URLs can be used. For example, adding 5037 - When using |netrw.vim| URLs can be used. For example, adding
5004 "http://www.vim.org" will make ":find index.html" work. 5038 "http://www.vim.org" will make ":find index.html" work.
5005 - Search upwards and downwards in a directory tree: 5039 - Search upwards and downwards in a directory tree using "*", "**" and
5006 1) "*" matches a sequence of characters, e.g.: > 5040 ";". See |file-searching| for info and syntax.
5007 :set path=/usr/include/*
5008 < means all subdirectories in /usr/include (but not /usr/include
5009 itself). >
5010 :set path=/usr/*c
5011 < matches /usr/doc and /usr/src.
5012 2) "**" matches a subtree, up to 100 directories deep. Example: >
5013 :set path=/home/user_x/src/**
5014 < means search in the whole subtree under "/home/usr_x/src".
5015 3) If the path ends with a ';', this path is the startpoint
5016 for upward search.
5017 See |file-searching| for more info and exact syntax.
5018 {not available when compiled without the |+path_extra| feature} 5041 {not available when compiled without the |+path_extra| feature}
5019 - Careful with '\' characters, type two to get one in the option: > 5042 - Careful with '\' characters, type two to get one in the option: >
5020 :set path=.,c:\\include 5043 :set path=.,c:\\include
5021 < Or just use '/' instead: > 5044 < Or just use '/' instead: >
5022 :set path=.,c:/include 5045 :set path=.,c:/include
5047 indent structure as possible. Normally the indent is replaced by a 5070 indent structure as possible. Normally the indent is replaced by a
5048 series of tabs followed by spaces as required (unless |'expandtab'| is 5071 series of tabs followed by spaces as required (unless |'expandtab'| is
5049 enabled, in which case only spaces are used). Enabling this option 5072 enabled, in which case only spaces are used). Enabling this option
5050 means the indent will preserve as many existing characters as possible 5073 means the indent will preserve as many existing characters as possible
5051 for indenting, and only add additional tabs or spaces as required. 5074 for indenting, and only add additional tabs or spaces as required.
5075 'expandtab' does not apply to the preserved white space, a Tab remains
5076 a Tab.
5052 NOTE: When using ">>" multiple times the resulting indent is a mix of 5077 NOTE: When using ">>" multiple times the resulting indent is a mix of
5053 tabs and spaces. You might not like this. 5078 tabs and spaces. You might not like this.
5054 NOTE: 'preserveindent' is reset when 'compatible' is set. 5079 NOTE: 'preserveindent' is reset when 'compatible' is set.
5055 Also see 'copyindent'. 5080 Also see 'copyindent'.
5056 Use |:retab| to clean up white space. 5081 Use |:retab| to clean up white space.
5182 in read-only mode ("vim -R") or when the executable is called "view". 5207 in read-only mode ("vim -R") or when the executable is called "view".
5183 When using ":w!" the 'readonly' option is reset for the current 5208 When using ":w!" the 'readonly' option is reset for the current
5184 buffer, unless the 'Z' flag is in 'cpoptions'. 5209 buffer, unless the 'Z' flag is in 'cpoptions'.
5185 {not in Vi:} When using the ":view" command the 'readonly' option is 5210 {not in Vi:} When using the ":view" command the 'readonly' option is
5186 set for the newly edited buffer. 5211 set for the newly edited buffer.
5212
5213 *'redrawtime'* *'rdt'*
5214 'redrawtime' 'rdt' number (default 2000)
5215 global
5216 {not in Vi}
5217 {only available when compiled with the |+reltime|
5218 feature}
5219 The time in milliseconds for redrawing the display. This applies to
5220 searching for patterns for 'hlsearch' and |:match| highlighting.
5221 When redrawing takes more than this many milliseconds no further
5222 matches will be highlighted. This is used to avoid that Vim hangs
5223 when using a very complicated pattern.
5187 5224
5188 *'remap'* *'noremap'* 5225 *'remap'* *'noremap'*
5189 'remap' boolean (default on) 5226 'remap' boolean (default on)
5190 global 5227 global
5191 Allows for mappings to work recursively. If you do not want this for 5228 Allows for mappings to work recursively. If you do not want this for
5875 When completing a word in insert mode (see |ins-completion|) from the 5912 When completing a word in insert mode (see |ins-completion|) from the
5876 tags file, show both the tag name and a tidied-up form of the search 5913 tags file, show both the tag name and a tidied-up form of the search
5877 pattern (if there is one) as possible matches. Thus, if you have 5914 pattern (if there is one) as possible matches. Thus, if you have
5878 matched a C function, you can see a template for what arguments are 5915 matched a C function, you can see a template for what arguments are
5879 required (coding style permitting). 5916 required (coding style permitting).
5917 Note that this doesn't work well together with having "longest" in
5918 'completeopt', because the completion from the search pattern may not
5919 match the typed text.
5880 5920
5881 *'showmatch'* *'sm'* *'noshowmatch'* *'nosm'* 5921 *'showmatch'* *'sm'* *'noshowmatch'* *'nosm'*
5882 'showmatch' 'sm' boolean (default off) 5922 'showmatch' 'sm' boolean (default off)
5883 global 5923 global
5884 When a bracket is inserted, briefly jump to the matching one. The 5924 When a bracket is inserted, briefly jump to the matching one. The
6266 item meaning ~ 6306 item meaning ~
6267 f S Path to the file in the buffer, as typed or relative to current 6307 f S Path to the file in the buffer, as typed or relative to current
6268 directory. 6308 directory.
6269 F S Full path to the file in the buffer. 6309 F S Full path to the file in the buffer.
6270 t S File name (tail) of file in the buffer. 6310 t S File name (tail) of file in the buffer.
6271 m F Modified flag, text is " [+]"; " [-]" if 'modifiable' is off. 6311 m F Modified flag, text is "[+]"; "[-]" if 'modifiable' is off.
6272 M F Modified flag, text is ",+" or ",-". 6312 M F Modified flag, text is ",+" or ",-".
6273 r F Readonly flag, text is " [RO]". 6313 r F Readonly flag, text is "[RO]".
6274 R F Readonly flag, text is ",RO". 6314 R F Readonly flag, text is ",RO".
6275 h F Help buffer flag, text is " [help]". 6315 h F Help buffer flag, text is "[help]".
6276 H F Help buffer flag, text is ",HLP". 6316 H F Help buffer flag, text is ",HLP".
6277 w F Preview window flag, text is " [Preview]". 6317 w F Preview window flag, text is "[Preview]".
6278 W F Preview window flag, text is ",PRV". 6318 W F Preview window flag, text is ",PRV".
6279 y F Type of file in the buffer, e.g., " [vim]". See 'filetype'. 6319 y F Type of file in the buffer, e.g., "[vim]". See 'filetype'.
6280 Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'. 6320 Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'.
6281 {not available when compiled without |+autocmd| feature} 6321 {not available when compiled without |+autocmd| feature}
6282 k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are 6322 k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
6283 being used: "<keymap>" 6323 being used: "<keymap>"
6284 n N Buffer number. 6324 n N Buffer number.
6321 minwid field, e.g. %1*. Restore normal highlight with %* or %0*. 6361 minwid field, e.g. %1*. Restore normal highlight with %* or %0*.
6322 The difference between User{N} and StatusLine will be applied 6362 The difference between User{N} and StatusLine will be applied
6323 to StatusLineNC for the statusline of non-current windows. 6363 to StatusLineNC for the statusline of non-current windows.
6324 The number N must be between 1 and 9. See |hl-User1..9| 6364 The number N must be between 1 and 9. See |hl-User1..9|
6325 6365
6326 Display of flags are controlled by the following heuristic: 6366 When displaying a flag, Vim removes the leading comma, if any, when
6327 If a flag text starts with comma it is assumed that it wants to 6367 that flag comes right after plaintext. This will make a nice display
6328 separate itself from anything but preceding plaintext. If it starts 6368 when flags are used like in the examples below.
6329 with a space it is assumed that it wants to separate itself from
6330 anything but other flags. That is: A leading comma is removed if the
6331 preceding character stems from plaintext. A leading space is removed
6332 if the preceding character stems from another active flag. This will
6333 make a nice display when flags are used like in the examples below.
6334 6369
6335 When all items in a group becomes an empty string (i.e. flags that are 6370 When all items in a group becomes an empty string (i.e. flags that are
6336 not set) and a minwid is not set for the group, the whole group will 6371 not set) and a minwid is not set for the group, the whole group will
6337 become empty. This will make a group like the following disappear 6372 become empty. This will make a group like the following disappear
6338 completely from the statusline when none of the flags are set. > 6373 completely from the statusline when none of the flags are set. >
6459 usetab Like "useopen", but also consider windows in other tab 6494 usetab Like "useopen", but also consider windows in other tab
6460 pages. 6495 pages.
6461 split If included, split the current window before loading 6496 split If included, split the current window before loading
6462 a buffer. Otherwise: do not split, use current window. 6497 a buffer. Otherwise: do not split, use current window.
6463 Supported in |quickfix| commands that display errors. 6498 Supported in |quickfix| commands that display errors.
6499 newtab Like "split", but open a new tab page. Overrules
6500 "split" when both are present.
6464 6501
6465 *'synmaxcol'* *'smc'* 6502 *'synmaxcol'* *'smc'*
6466 'synmaxcol' 'smc' number (default 3000) 6503 'synmaxcol' 'smc' number (default 3000)
6467 local to buffer 6504 local to buffer
6468 {not in Vi} 6505 {not in Vi}
6583 certain files, or retry all files with a linear search. When 6620 certain files, or retry all files with a linear search. When
6584 'tagbsearch' is off, only a linear search is done. 6621 'tagbsearch' is off, only a linear search is done.
6585 6622
6586 Linear searching is done anyway, for one file, when Vim finds a line 6623 Linear searching is done anyway, for one file, when Vim finds a line
6587 at the start of the file indicating that it's not sorted: > 6624 at the start of the file indicating that it's not sorted: >
6588 !_TAG_FILE_SORTED 0 /some command/ 6625 !_TAG_FILE_SORTED 0 /some comment/
6589 < [The whitespace before and after the '0' must be a single <Tab>] 6626 < [The whitespace before and after the '0' must be a single <Tab>]
6590 6627
6591 When a binary search was done and no match was found in any of the 6628 When a binary search was done and no match was found in any of the
6592 files listed in 'tags', and 'ignorecase' is set or a pattern is used 6629 files listed in 'tags', and 'ignorecase' is set or a pattern is used
6593 instead of a normal tag name, a retry is done with a linear search. 6630 instead of a normal tag name, a retry is done with a linear search.
7070 set to a name that starts with "xterm", and 'ttymouse' is not "xterm" 7107 set to a name that starts with "xterm", and 'ttymouse' is not "xterm"
7071 or "xterm2" already. The main use of this option is to set it to 7108 or "xterm2" already. The main use of this option is to set it to
7072 "xterm", when the terminal name doesn't start with "xterm", but it can 7109 "xterm", when the terminal name doesn't start with "xterm", but it can
7073 handle xterm mouse codes. 7110 handle xterm mouse codes.
7074 The "xterm2" value will be set if the xterm version is reported to be 7111 The "xterm2" value will be set if the xterm version is reported to be
7075 95 of higher. This only works when compiled with the |+termresponse| 7112 95 or higher. This only works when compiled with the |+termresponse|
7076 feature and if |t_RV| is set to the escape sequence to request the 7113 feature and if |t_RV| is set to the escape sequence to request the
7077 xterm version number. Otherwise "xterm2" must be set explicitly. 7114 xterm version number. Otherwise "xterm2" must be set explicitly.
7078 If you do not want 'ttymouse' to be set to "xterm2" automatically, set 7115 If you do not want 'ttymouse' to be set to "xterm2" automatically, set
7079 t_RV to an empty string: > 7116 t_RV to an empty string: >
7080 :set t_RV= 7117 :set t_RV=
7405 'wildchar' 'wc' number (Vim default: <Tab>, Vi default: CTRL-E) 7442 'wildchar' 'wc' number (Vim default: <Tab>, Vi default: CTRL-E)
7406 global 7443 global
7407 {not in Vi} 7444 {not in Vi}
7408 Character you have to type to start wildcard expansion in the 7445 Character you have to type to start wildcard expansion in the
7409 command-line, as specified with 'wildmode'. 7446 command-line, as specified with 'wildmode'.
7447 More info here: |cmdline-completion|.
7410 The character is not recognized when used inside a macro. See 7448 The character is not recognized when used inside a macro. See
7411 'wildcharm' for that. 7449 'wildcharm' for that.
7412 Although 'wc' is a number option, you can set it to a special key: > 7450 Although 'wc' is a number option, you can set it to a special key: >
7413 :set wc=<Esc> 7451 :set wc=<Esc>
7414 < NOTE: This option is set to the Vi default value when 'compatible' is 7452 < NOTE: This option is set to the Vi default value when 'compatible' is
7422 recognized when used inside a macro. You can find "spare" command-line 7460 recognized when used inside a macro. You can find "spare" command-line
7423 keys suitable for this option by looking at |ex-edit-index|. Normally 7461 keys suitable for this option by looking at |ex-edit-index|. Normally
7424 you'll never actually type 'wildcharm', just use it in mappings that 7462 you'll never actually type 'wildcharm', just use it in mappings that
7425 automatically invoke completion mode, e.g.: > 7463 automatically invoke completion mode, e.g.: >
7426 :set wcm=<C-Z> 7464 :set wcm=<C-Z>
7427 :cmap ss so $vim/sessions/*.vim<C-Z> 7465 :cnoremap ss so $vim/sessions/*.vim<C-Z>
7428 < Then after typing :ss you can use CTRL-P & CTRL-N. 7466 < Then after typing :ss you can use CTRL-P & CTRL-N.
7429 7467
7430 *'wildignore'* *'wig'* 7468 *'wildignore'* *'wig'*
7431 'wildignore' 'wig' string (default "") 7469 'wildignore' 'wig' string (default "")
7432 global 7470 global
7517 < List all matches and complete each full match > 7555 < List all matches and complete each full match >
7518 :set wildmode=list,full 7556 :set wildmode=list,full
7519 < List all matches without completing, then each full match > 7557 < List all matches without completing, then each full match >
7520 :set wildmode=longest,list 7558 :set wildmode=longest,list
7521 < Complete longest common string, then list alternatives. 7559 < Complete longest common string, then list alternatives.
7560 More info here: |cmdline-completion|.
7522 7561
7523 *'wildoptions'* *'wop'* 7562 *'wildoptions'* *'wop'*
7524 'wildoptions' 'wop' string (default "") 7563 'wildoptions' 'wop' string (default "")
7525 global 7564 global
7526 {not in Vi} 7565 {not in Vi}
7577 {not in Vi} 7616 {not in Vi}
7578 {not available when compiled without the +windows 7617 {not available when compiled without the +windows
7579 feature} 7618 feature}
7580 Minimal number of lines for the current window. This is not a hard 7619 Minimal number of lines for the current window. This is not a hard
7581 minimum, Vim will use fewer lines if there is not enough room. If the 7620 minimum, Vim will use fewer lines if there is not enough room. If the
7582 current window is smaller, its size is increased, at the cost of the 7621 focus goes to a window that is smaller, its size is increased, at the
7583 height of other windows. Set it to 999 to make the current window 7622 cost of the height of other windows.
7584 always fill the screen (although this has the drawback that ":all" 7623 Set 'winheight' to a small number for normal editing.
7585 will create only two windows). Set it to a small number for normal 7624 Set it to 999 to make the current window fill most of the screen.
7586 editing. 7625 Other windows will be only 'winminheight' high. This has the drawback
7587 Minimum value is 1. 7626 that ":all" will create only two windows. To avoid "vim -o 1 2 3 4"
7588 The height is not adjusted after one of the commands to change the 7627 to create only two windows, set the option after startup is done,
7628 using the |VimEnter| event: >
7629 au VimEnter * set winheight=999
7630 < Minimum value is 1.
7631 The height is not adjusted after one of the commands that change the
7589 height of the current window. 7632 height of the current window.
7590 'winheight' applies to the current window. Use 'winminheight' to set 7633 'winheight' applies to the current window. Use 'winminheight' to set
7591 the minimal height for other windows. 7634 the minimal height for other windows.
7592 7635
7593 *'winfixheight'* *'wfh'* *'nowinfixheight'* *'nowfh'* 7636 *'winfixheight'* *'wfh'* *'nowinfixheight'* *'nowfh'*