Mercurial > vim
annotate runtime/doc/various.txt @ 34057:4635e43f2c6f v9.1.0 v9.1.0000
patch 9.1.0000: Vim 9.1 release
Commit: https://github.com/vim/vim/commit/b4ddc6c11e95cef4b372e239871fae1c8d4f72b6
Author: Christian Brabandt <cb@256bit.org>
Date: Tue Jan 2 16:51:11 2024 +0100
patch 9.1.0000: Vim 9.1 release
Problem: Need a new release
Solution: Release Vim 9.1
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 02 Jan 2024 18:45:09 +0100 |
parents | 88cad94caef9 |
children | 0d12f2f627f9 |
rev | line source |
---|---|
34057
4635e43f2c6f
patch 9.1.0000: Vim 9.1 release
Christian Brabandt <cb@256bit.org>
parents:
33649
diff
changeset
|
1 *various.txt* For Vim version 9.1. Last change: 2023 Sep 27 |
7 | 2 |
3 | |
4 VIM REFERENCE MANUAL by Bram Moolenaar | |
5 | |
6 | |
7 Various commands *various* | |
8 | |
9 1. Various commands |various-cmds| | |
2246
1e48f569b03d
Move text from various.txt to a new helphelp.txt help file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
10 2. Using Vim like less or more |less| |
7 | 11 |
12 ============================================================================== | |
13 1. Various commands *various-cmds* | |
14 | |
15 *CTRL-L* | |
348 | 16 CTRL-L Clear and redraw the screen. The redraw may happen |
17 later, after processing typeahead. | |
7 | 18 |
19 *:redr* *:redraw* | |
20 :redr[aw][!] Redraw the screen right now. When ! is included it is | |
21 cleared first. | |
22 Useful to update the screen halfway executing a script | |
23 or function. Also when halfway a mapping and | |
24 'lazyredraw' is set. | |
25 | |
26 *:redraws* *:redrawstatus* | |
27 :redraws[tatus][!] Redraw the status line of the current window. When ! | |
28 is included all status lines are redrawn. | |
29 Useful to update the status line(s) when 'statusline' | |
30 includes an item that doesn't cause automatic | |
31 updating. | |
30547 | 32 If the command line is being edited the redraw is |
33 postponed until later. | |
7 | 34 |
15396
325e4a8ba1b6
patch 8.1.0706: tabline is not always redrawn
Bram Moolenaar <Bram@vim.org>
parents:
15194
diff
changeset
|
35 *:redrawt* *:redrawtabline* |
325e4a8ba1b6
patch 8.1.0706: tabline is not always redrawn
Bram Moolenaar <Bram@vim.org>
parents:
15194
diff
changeset
|
36 :redrawt[abline] Redraw the tabline. Useful to update the tabline when |
325e4a8ba1b6
patch 8.1.0706: tabline is not always redrawn
Bram Moolenaar <Bram@vim.org>
parents:
15194
diff
changeset
|
37 'tabline' includes an item that doesn't trigger |
325e4a8ba1b6
patch 8.1.0706: tabline is not always redrawn
Bram Moolenaar <Bram@vim.org>
parents:
15194
diff
changeset
|
38 automatic updating. |
325e4a8ba1b6
patch 8.1.0706: tabline is not always redrawn
Bram Moolenaar <Bram@vim.org>
parents:
15194
diff
changeset
|
39 |
7 | 40 *N<Del>* |
41 <Del> When entering a number: Remove the last digit. | |
42 Note: if you like to use <BS> for this, add this | |
43 mapping to your .vimrc: > | |
44 :map CTRL-V <BS> CTRL-V <Del> | |
45 < See |:fixdel| if your <Del> key does not do what you | |
46 want. | |
47 | |
48 :as[cii] or *ga* *:as* *:ascii* | |
49 ga Print the ascii value of the character under the | |
13359
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
50 cursor in decimal, hexadecimal and octal. |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
51 Mnemonic: Get Ascii value. |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
52 |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
53 For example, when the cursor is on a 'R': |
7 | 54 <R> 82, Hex 52, Octal 122 ~ |
55 When the character is a non-standard ASCII character, | |
56 but printable according to the 'isprint' option, the | |
13359
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
57 non-printable version is also given. |
18831 | 58 |
13359
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
59 When the character is larger than 127, the <M-x> form |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
60 is also printed. For example: |
7 | 61 <~A> <M-^A> 129, Hex 81, Octal 201 ~ |
62 <p> <|~> <M-~> 254, Hex fe, Octal 376 ~ | |
63 (where <p> is a special character) | |
13359
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
64 |
7 | 65 The <Nul> character in a file is stored internally as |
66 <NL>, but it will be shown as: | |
67 <^@> 0, Hex 00, Octal 000 ~ | |
13359
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
68 |
714 | 69 If the character has composing characters these are |
70 also shown. The value of 'maxcombine' doesn't matter. | |
13359
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
71 |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
72 If the character can be inserted as a digraph, also |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
73 output the two characters that can be used to create |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
74 the character: |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
75 <ö> 246, Hex 00f6, Oct 366, Digr o: ~ |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
76 This shows you can type CTRL-K o : to insert ö. |
81c348d40312
patch 8.0.1553: cannot see what digraph is used to insert a character
Christian Brabandt <cb@256bit.org>
parents:
13341
diff
changeset
|
77 |
7 | 78 *g8* |
79 g8 Print the hex values of the bytes used in the | |
80 character under the cursor, assuming it is in |UTF-8| | |
714 | 81 encoding. This also shows composing characters. The |
82 value of 'maxcombine' doesn't matter. | |
83 Example of a character with two composing characters: | |
7 | 84 e0 b8 81 + e0 b8 b9 + e0 b9 89 ~ |
777 | 85 |
86 *8g8* | |
87 8g8 Find an illegal UTF-8 byte sequence at or after the | |
88 cursor. This works in two situations: | |
89 1. when 'encoding' is any 8-bit encoding | |
90 2. when 'encoding' is "utf-8" and 'fileencoding' is | |
91 any 8-bit encoding | |
92 Thus it can be used when editing a file that was | |
93 supposed to be UTF-8 but was read as if it is an 8-bit | |
94 encoding because it contains illegal bytes. | |
95 Does not wrap around the end of the file. | |
96 Note that when the cursor is on an illegal byte or the | |
21991 | 97 cursor is halfway a multibyte character the command |
777 | 98 won't move the cursor. |
7 | 99 |
843 | 100 *:p* *:pr* *:print* *E749* |
169 | 101 :[range]p[rint] [flags] |
102 Print [range] lines (default current line). | |
7 | 103 Note: If you are looking for a way to print your text |
169 | 104 on paper see |:hardcopy|. In the GUI you can use the |
105 File.Print menu entry. | |
106 See |ex-flags| for [flags]. | |
10004
8061455d9179
commit https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
Christian Brabandt <cb@256bit.org>
parents:
9941
diff
changeset
|
107 The |:filter| command can be used to only show lines |
8061455d9179
commit https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
Christian Brabandt <cb@256bit.org>
parents:
9941
diff
changeset
|
108 matching a pattern. |
7 | 109 |
169 | 110 :[range]p[rint] {count} [flags] |
7 | 111 Print {count} lines, starting with [range] (default |
112 current line |cmdline-ranges|). | |
169 | 113 See |ex-flags| for [flags]. |
7 | 114 |
115 *:P* *:Print* | |
169 | 116 :[range]P[rint] [count] [flags] |
7 | 117 Just as ":print". Was apparently added to Vi for |
118 people that keep the shift key pressed too long... | |
28010 | 119 This command is not supported in |Vim9| script. |
2642 | 120 Note: A user command can overrule this command. |
169 | 121 See |ex-flags| for [flags]. |
7 | 122 |
123 *:l* *:list* | |
169 | 124 :[range]l[ist] [count] [flags] |
7 | 125 Same as :print, but display unprintable characters |
2458 | 126 with '^' and put $ after the line. This can be |
2698
b6471224d2af
Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents:
2642
diff
changeset
|
127 further changed with the 'listchars' option. |
169 | 128 See |ex-flags| for [flags]. |
7 | 129 |
130 *:nu* *:number* | |
169 | 131 :[range]nu[mber] [count] [flags] |
7 | 132 Same as :print, but precede each line with its line |
677 | 133 number. (See also 'highlight' and 'numberwidth' |
134 option). | |
169 | 135 See |ex-flags| for [flags]. |
7 | 136 |
137 *:#* | |
169 | 138 :[range]# [count] [flags] |
139 synonym for :number. | |
7 | 140 |
1125 | 141 *:#!* |
142 :#!{anything} Ignored, so that you can start a Vim script with: > | |
1624 | 143 #!vim -S |
1125 | 144 echo "this is a Vim script" |
145 quit | |
146 < | |
7 | 147 *:z* *E144* |
22958 | 148 :[range]z[+-^.=][count] Display several lines of text surrounding the line |
149 specified with [range], or around the current line | |
150 if there is no [range]. | |
7 | 151 |
22958 | 152 If there is a [count], that's how many lines you'll |
153 see; if there is no [count] and only one window then | |
154 twice the value of the 'scroll' option is used, | |
155 otherwise the current window height minus 3 is used. | |
156 This is the value of "scr" in the table below. | |
157 | |
158 If there is a [count] the 'window' option is set to | |
3237 | 159 its value. |
160 | |
7 | 161 :z can be used either alone or followed by any of |
21991 | 162 several marks. These have the following effect: |
7 | 163 |
2725 | 164 mark first line last line new cursor line ~ |
7 | 165 ---- ---------- --------- ------------ |
166 + current line 1 scr forward 1 scr forward | |
167 - 1 scr back current line current line | |
168 ^ 2 scr back 1 scr back 1 scr back | |
159 | 169 . 1/2 scr back 1/2 scr fwd 1/2 scr fwd |
170 = 1/2 scr back 1/2 scr fwd current line | |
7 | 171 |
172 Specifying no mark at all is the same as "+". | |
173 If the mark is "=", a line of dashes is printed | |
174 around the current line. | |
175 | |
25773 | 176 *:z!* |
25729
0f93e9423890
patch 8.2.3400: ":z!" is not supported
Bram Moolenaar <Bram@vim.org>
parents:
24970
diff
changeset
|
177 :[range]z![+-^.=][count] |
25973 | 178 Like ":z", but when [count] is not specified, it |
25729
0f93e9423890
patch 8.2.3400: ":z!" is not supported
Bram Moolenaar <Bram@vim.org>
parents:
24970
diff
changeset
|
179 defaults to the Vim window height minus one. |
0f93e9423890
patch 8.2.3400: ":z!" is not supported
Bram Moolenaar <Bram@vim.org>
parents:
24970
diff
changeset
|
180 |
0f93e9423890
patch 8.2.3400: ":z!" is not supported
Bram Moolenaar <Bram@vim.org>
parents:
24970
diff
changeset
|
181 :[range]z[!]#[+-^.=][count] *:z#* |
0f93e9423890
patch 8.2.3400: ":z!" is not supported
Bram Moolenaar <Bram@vim.org>
parents:
24970
diff
changeset
|
182 Like ":z" or ":z!", but number the lines. |
7 | 183 |
184 *:=* | |
169 | 185 := [flags] Print the last line number. |
186 See |ex-flags| for [flags]. | |
7 | 187 |
169 | 188 :{range}= [flags] Prints the last line number in {range}. For example, |
7 | 189 this prints the current line number: > |
190 :.= | |
169 | 191 < See |ex-flags| for [flags]. |
7 | 192 |
193 :norm[al][!] {commands} *:norm* *:normal* | |
194 Execute Normal mode commands {commands}. This makes | |
195 it possible to execute Normal mode commands typed on | |
2596 | 196 the command-line. {commands} are executed like they |
197 are typed. For undo all commands are undone together. | |
1125 | 198 Execution stops when an error is encountered. |
4073 | 199 |
7 | 200 If the [!] is given, mappings will not be used. |
4073 | 201 Without it, when this command is called from a |
202 non-remappable mapping (|:noremap|), the argument can | |
203 be mapped anyway. | |
204 | |
7 | 205 {commands} should be a complete command. If |
206 {commands} does not finish a command, the last one | |
207 will be aborted as if <Esc> or <C-C> was typed. | |
208 This implies that an insert command must be completed | |
209 (to start Insert mode, see |:startinsert|). A ":" | |
161 | 210 command must be completed as well. And you can't use |
211 "Q" or "gQ" to start Ex mode. | |
4073 | 212 |
213 The display is not updated while ":normal" is busy. | |
214 | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1989
diff
changeset
|
215 {commands} cannot start with a space. Put a count of |
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1989
diff
changeset
|
216 1 (one) before it, "1 " is one space. |
4073 | 217 |
7 | 218 The 'insertmode' option is ignored for {commands}. |
4073 | 219 |
7 | 220 This command cannot be followed by another command, |
221 since any '|' is considered part of the command. | |
4073 | 222 |
7 | 223 This command can be used recursively, but the depth is |
224 limited by 'maxmapdepth'. | |
4073 | 225 |
7 | 226 An alternative is to use |:execute|, which uses an |
227 expression as argument. This allows the use of | |
2264 | 228 printable characters to represent special characters. |
4073 | 229 |
2264 | 230 Example: > |
7 | 231 :exe "normal \<c-w>\<c-w>" |
232 | |
233 :{range}norm[al][!] {commands} *:normal-range* | |
234 Execute Normal mode commands {commands} for each line | |
235 in the {range}. Before executing the {commands}, the | |
236 cursor is positioned in the first column of the range, | |
237 for each line. Otherwise it's the same as the | |
238 ":normal" command without a range. | |
239 | |
240 *:sh* *:shell* *E371* | |
241 :sh[ell] This command starts a shell. When the shell exits | |
242 (after the "exit" command) you return to Vim. The | |
243 name for the shell command comes from 'shell' option. | |
244 *E360* | |
245 Note: This doesn't work when Vim on the Amiga was | |
246 started in QuickFix mode from a compiler, because the | |
247 compiler will have set stdin to a non-interactive | |
248 mode. | |
249 | |
27036 | 250 *:!cmd* *:!* |
7 | 251 :!{cmd} Execute {cmd} with the shell. See also the 'shell' |
30967 | 252 and 'shelltype' option. |
27036 | 253 *E34* |
7 | 254 Any '!' in {cmd} is replaced with the previous |
255 external command (see also 'cpoptions'). But not when | |
256 there is a backslash before the '!', then that | |
257 backslash is removed. Example: ":!ls" followed by | |
258 ":!echo ! \! \\!" executes "echo ls ! \!". | |
5814 | 259 |
1624 | 260 A '|' in {cmd} is passed to the shell, you cannot use |
261 it to append a Vim command. See |:bar|. | |
5814 | 262 |
263 If {cmd} contains "%" it is expanded to the current | |
20753 | 264 file name, "#" is expanded to the alternate file name. |
265 Special characters in the file name are not escaped, | |
266 use quotes to avoid their special meaning: > | |
5814 | 267 :!ls "%" |
20753 | 268 < If the file name contains a "$" then single quotes |
269 might work better, but this only works if the file | |
270 name does not contain a single quote: > | |
5814 | 271 :!ls '%' |
272 < This should always work, but it's more typing: > | |
27903 | 273 :exe "!ls " .. shellescape(expand("%")) |
20753 | 274 < To get a literal "%" or "#" prepend it with a |
275 backslash. For example, to list all files starting | |
276 with "%": > | |
277 :!ls \%* | |
5814 | 278 < |
7 | 279 A newline character ends {cmd}, what follows is |
280 interpreted as a following ":" command. However, if | |
281 there is a backslash before the newline it is removed | |
282 and {cmd} continues. It doesn't matter how many | |
283 backslashes are before the newline, only one is | |
284 removed. | |
5814 | 285 |
7 | 286 On Unix the command normally runs in a non-interactive |
287 shell. If you want an interactive shell to be used | |
288 (to use aliases) set 'shellcmdflag' to "-ic". | |
289 For Win32 also see |:!start|. | |
5814 | 290 |
5908 | 291 After the command has been executed, the timestamp and |
292 size of the current file is checked |timestamp|. | |
5814 | 293 |
7 | 294 Vim redraws the screen after the command is finished, |
295 because it may have printed any text. This requires a | |
296 hit-enter prompt, so that you can read any messages. | |
297 To avoid this use: > | |
298 :silent !{cmd} | |
299 < The screen is not redrawn then, thus you have to use | |
300 CTRL-L or ":redraw!" if the command did display | |
31028 | 301 something. However, this depends on what the |t_ti| |
302 and |t_te| termcap entries are set to. | |
7 | 303 Also see |shell-window|. |
304 | |
305 *:!!* | |
306 :!! Repeat last ":!{cmd}". | |
307 | |
16944 | 308 *:ve* *:ver* *:version* |
7 | 309 :ve[rsion] Print the version number of the editor. If the |
310 compiler used understands "__DATE__" the compilation | |
311 date is mentioned. Otherwise a fixed release-date is | |
312 shown. | |
313 The following lines contain information about which | |
314 features were enabled when Vim was compiled. When | |
315 there is a preceding '+', the feature is included, | |
316 when there is a '-' it is excluded. To change this, | |
317 you have to edit feature.h and recompile Vim. | |
318 To check for this in an expression, see |has()|. | |
319 Here is an overview of the features. | |
320 The first column shows the smallest version in which | |
321 they are included: | |
13437 | 322 T tiny (always) |
7 | 323 N normal |
324 H huge | |
325 m manually enabled or depends on other features | |
18790 | 326 - never, feature was removed |
7 | 327 (none) system dependent |
328 Thus if a feature is marked with "N", it is included | |
33486
93c715c63a4a
patch 9.0.1994: inconsistent feature description
Christian Brabandt <cb@256bit.org>
parents:
33408
diff
changeset
|
329 in the normal and huge versions of Vim. |
7 | 330 |
331 *+feature-list* | |
5340 | 332 *+acl* |ACL| support included |
7 | 333 *+ARP* Amiga only: ARP support included |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
334 H *+arabic* |Arabic| language support |
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
335 N *+autochdir* support 'autochdir' option |
29840 | 336 T *+autocmd* |:autocmd|, automatic commands. Always enabled since |
337 8.0.1564 | |
12837
963cdeb42c41
patch 8.0.1295: cannot automatically get a server name in a terminal
Christian Brabandt <cb@256bit.org>
parents:
12785
diff
changeset
|
338 H *+autoservername* Automatically enable |clientserver| |
12909 | 339 m *+balloon_eval* |balloon-eval| support in the GUI. Included when |
340 compiling with supported GUI (Motif, GTK, GUI) and | |
341 either Netbeans/Sun Workshop integration or |+eval| | |
342 feature. | |
343 H *+balloon_eval_term* |balloon-eval| support in the terminal, | |
344 'balloonevalterm' | |
7 | 345 N *+browse* |:browse| command |
29883
1342ee83ab97
patch 9.0.0280: the builtin termcap list depends on the version
Bram Moolenaar <Bram@vim.org>
parents:
29881
diff
changeset
|
346 T *++builtin_terms* maximal terminals builtin |builtin-terms| Always |
1342ee83ab97
patch 9.0.0280: the builtin termcap list depends on the version
Bram Moolenaar <Bram@vim.org>
parents:
29881
diff
changeset
|
347 enabled since 9.0.0280 |
7 | 348 N *+byte_offset* support for 'o' flag in 'statusline' option, "go" |
349 and ":goto" commands. | |
7790
ca19726d5e83
commit https://github.com/vim/vim/commit/298b440930ecece38d6ea0505a3e582dc817e79b
Christian Brabandt <cb@256bit.org>
parents:
7597
diff
changeset
|
350 m *+channel* inter process communication |channel| |
30645
101f08b49ed3
patch 9.0.0657: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
30547
diff
changeset
|
351 T *+cindent* |'cindent'|, C indenting; Always enabled |
7 | 352 N *+clientserver* Unix and Win32: Remote invocation |clientserver| |
17758 | 353 *+clipboard* |clipboard| support compiled-in |
354 *+clipboard_working* |clipboard| support compiled-in and working | |
17909 | 355 T *+cmdline_compl* command line completion |cmdline-completion| |
23798
59efd230b373
patch 8.2.2440: documentation based on patches is outdated
Bram Moolenaar <Bram@vim.org>
parents:
23666
diff
changeset
|
356 T *+cmdline_hist* command line history |cmdline-history| |
30825
c7983f593fa7
patch 9.0.0747: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
30731
diff
changeset
|
357 T *+cmdline_info* |'showcmd'| and |'ruler'|; Always enabled since |
c7983f593fa7
patch 9.0.0747: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
30731
diff
changeset
|
358 9.0.0747 |
30645
101f08b49ed3
patch 9.0.0657: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
30547
diff
changeset
|
359 T *+cmdwin* |cmdline-window| support; Always enabled since 9.0.0657 |
18203
e0ec4cd7a865
patch 8.1.2096: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
18016
diff
changeset
|
360 T *+comments* |'comments'| support |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
361 N *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc. |
7 | 362 N *+cryptv* encryption support |encryption| |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
363 H *+cscope* |cscope| support |
13437 | 364 T *+cursorbind* |'cursorbind'| support |
500 | 365 m *+cursorshape* |termcap-cursor-shape| support |
366 m *+debug* Compiled for debugging. | |
7 | 367 N *+dialog_gui* Support for |:confirm| with GUI dialog. |
368 N *+dialog_con* Support for |:confirm| with console dialog. | |
369 N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog. | |
370 N *+diff* |vimdiff| and 'diff' | |
371 N *+digraphs* |digraphs| *E196* | |
13468
539436dcb134
patch 8.0.1608: Win32: directx not enabled by default
Christian Brabandt <cb@256bit.org>
parents:
13437
diff
changeset
|
372 *+directx* Win32 GUI only: DirectX and |'renderoptions'| |
7 | 373 *+dnd* Support for DnD into the "~ register |quote_~|. |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
374 H *+emacs_tags* |emacs-tags| files |
7 | 375 N *+eval* expression evaluation |eval.txt| |
26438 | 376 T *+ex_extra* always on now, used to be for Vim's extra Ex commands |
7 | 377 N *+extra_search* |'hlsearch'| and |'incsearch'| options. |
18790 | 378 - *+farsi* Removed: |farsi| language |
29885 | 379 T *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>| Always enabled since |
380 9.0.265 | |
7 | 381 N *+find_in_path* include file searches: |[I|, |:isearch|, |
382 |CTRL-W_CTRL-I|, |:checkpath|, etc. | |
383 N *+folding* |folding| | |
384 *+footer* |gui-footer| | |
385 *+fork* Unix only: |fork| shell commands | |
30310
029c59bf78f1
patch 9.0.0491: no good reason to build without the float feature
Bram Moolenaar <Bram@vim.org>
parents:
29885
diff
changeset
|
386 T *+float* Floating point support Always enabled since 9.0.0491 |
7 | 387 N *+gettext* message translations |multi-lang| |
28379 | 388 - *+GUI_Athena* Unix only: Athena |GUI| |
7 | 389 *+GUI_neXtaw* Unix only: neXtaw |GUI| |
390 *+GUI_GTK* Unix only: GTK+ |GUI| | |
391 *+GUI_Motif* Unix only: Motif |GUI| | |
392 *+GUI_Photon* QNX only: Photon |GUI| | |
393 m *+hangul_input* Hangul input support |hangul| | |
557 | 394 *+iconv* Compiled with the |iconv()| function |
395 *+iconv/dyn* Likewise |iconv-dynamic| |/dyn| | |
17909 | 396 T *+insert_expand* |insert_expand| Insert mode completion |
20003
e373843e2980
patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents:
19721
diff
changeset
|
397 m *+ipv6* Support for IPv6 networking |channel| |
8061
abd64cf67bcf
commit https://github.com/vim/vim/commit/38a55639d603823efcf2d2fdf542dbffdeb60b75
Christian Brabandt <cb@256bit.org>
parents:
7876
diff
changeset
|
398 m *+job* starting and stopping jobs |job| |
26532
255bc9a08e58
patch 8.2.3795: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
26438
diff
changeset
|
399 T *+jumplist* |jumplist|; Always enabled since 8.2.3795 |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
400 H *+keymap* |'keymap'| |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9464
diff
changeset
|
401 N *+lambda* |lambda| and |closure| |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
402 H *+langmap* |'langmap'| |
7 | 403 N *+libcall* |libcall()| |
404 N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'| | |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
405 T *+lispindent* |'lisp'| |
13553
04019fc3de93
patch 8.0.1650: too many #ifdefs
Christian Brabandt <cb@256bit.org>
parents:
13482
diff
changeset
|
406 T *+listcmds* Vim commands for the list of buffers |buffer-hidden| |
7 | 407 and argument list |:argdelete| |
17667 | 408 T *+localmap* Support for mappings local to a buffer |:map-local| |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2264
diff
changeset
|
409 m *+lua* |Lua| interface |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2264
diff
changeset
|
410 m *+lua/dyn* |Lua| interface |/dyn| |
7 | 411 N *+menu* |:menu| |
412 N *+mksession* |:mksession| | |
18016 | 413 T *+modify_fname* |filename-modifiers| |
18456 | 414 T *+mouse* Mouse handling |mouse-using| |
7 | 415 N *+mouseshape* |'mouseshape'| |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
416 N *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse| |
7 | 417 N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse| |
29290 | 418 m *+mouse_gpm/dyn* Same as |+mouse_gpm| with optional library dependency |
419 |/dyn| | |
5929 | 420 N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse| |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
421 N *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse| |
3996 | 422 N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal| |
1624 | 423 N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse| |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
424 N *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse| |
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
425 N *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse| |
3996 | 426 N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse| |
23666 | 427 T *+multi_byte* Unicode support, 16 and 32 bit characters |multibyte| |
7 | 428 *+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime| |
3996 | 429 N *+multi_lang* non-English language support |multi-lang| |
14 | 430 m *+mzscheme* Mzscheme interface |mzscheme| |
625 | 431 m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn| |
7 | 432 m *+netbeans_intg* |netbeans| |
26438 | 433 T *+num64* 64-bit Number support |Number| |
27537 | 434 Always enabled since 8.2.0271, use v:numbersize to |
19477
2bb0e80fcd32
patch 8.2.0296: mixing up "long long" and __int64 may cause problems
Bram Moolenaar <Bram@vim.org>
parents:
18972
diff
changeset
|
435 check the actual size of a Number. |
3996 | 436 m *+ole* Win32 GUI only: |ole-interface| |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
437 N *+packages* Loading |packages| |
29863
62350f19d4ed
patch 9.0.0270: some values of 'path' and 'tags' invalid in the tiny version
Bram Moolenaar <Bram@vim.org>
parents:
29840
diff
changeset
|
438 T *+path_extra* Up/downwards search in 'path' and 'tags' Always |
62350f19d4ed
patch 9.0.0270: some values of 'path' and 'tags' invalid in the tiny version
Bram Moolenaar <Bram@vim.org>
parents:
29840
diff
changeset
|
439 enabled since 9.0.0270 |
557 | 440 m *+perl* Perl interface |perl| |
441 m *+perl/dyn* Perl interface |perl-dynamic| |/dyn| | |
2535
31e51111bd14
Runtime file updates. Fix tar plugin window split.
Bram Moolenaar <bram@vim.org>
parents:
2527
diff
changeset
|
442 N *+persistent_undo* Persistent undo |undo-persistence| |
18790 | 443 N *+popupwin* Popup windows |popup-window| |
3996 | 444 *+postscript* |:hardcopy| writes a PostScript file |
7 | 445 N *+printer* |:hardcopy| command |
179 | 446 H *+profile* |:profile| command |
2368 | 447 m *+python* Python 2 interface |python| |
3996 | 448 m *+python/dyn* Python 2 interface |python-dynamic| |/dyn| |
2368 | 449 m *+python3* Python 3 interface |python| |
3996 | 450 m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn| |
32936
c517845bd10e
patch 9.0.1776: No support for stable Python 3 ABI
Christian Brabandt <cb@256bit.org>
parents:
31579
diff
changeset
|
451 m *+python3/dyn-stable* |
33649
88cad94caef9
runtime(doc): Fix typos in several documents (#13420)
Christian Brabandt <cb@256bit.org>
parents:
33486
diff
changeset
|
452 Python 3 interface |python-dynamic| |python-stable| |
88cad94caef9
runtime(doc): Fix typos in several documents (#13420)
Christian Brabandt <cb@256bit.org>
parents:
33486
diff
changeset
|
453 |/dyn| |
7 | 454 N *+quickfix* |:make| and |quickfix| commands |
1624 | 455 N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout, |
456 'redrawtime' option | |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
457 H *+rightleft* Right to left typing |'rightleft'| |
557 | 458 m *+ruby* Ruby interface |ruby| |
459 m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn| | |
13482
9eebe457eb3c
Update runtime files. Convert a couple of help files to utf-8.
Christian Brabandt <cb@256bit.org>
parents:
13468
diff
changeset
|
460 T *+scrollbind* |'scrollbind'| |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
461 N *+signs* |:sign| |
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
462 T *+smartindent* |'smartindent'| |
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
463 H *+sodium* compiled with libsodium for better encryption support |
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
464 H *+sound* |sound_playevent()|, |sound_playfile()| functions, etc. |
17036 | 465 N *+spell* spell checking support, see |spell| |
3996 | 466 N *+startuptime* |--startuptime| argument |
467 N *+statusline* Options 'statusline', 'rulerformat' and special | |
7 | 468 formats of 'titlestring' and 'iconstring' |
18790 | 469 - *+sun_workshop* Removed: |workshop| |
7 | 470 N *+syntax* Syntax highlighting |syntax| |
471 *+system()* Unix only: opposite of |+fork| | |
10140
b11ceef7116e
commit https://github.com/vim/vim/commit/64d8e25bf6efe5f18b032563521c3ce278c316ab
Christian Brabandt <cb@256bit.org>
parents:
10004
diff
changeset
|
472 T *+tag_binary* binary searching in tags file |tag-binary-search| |
18790 | 473 - *+tag_old_static* Removed; method for static tags |tag-old-static| |
474 - *+tag_any_white* Removed; was to allow any white space in tags files | |
3996 | 475 m *+tcl* Tcl interface |tcl| |
557 | 476 m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn| |
12045 | 477 m *+terminal* Support for terminal window |terminal| |
7 | 478 *+terminfo* uses |terminfo| instead of termcap |
479 N *+termresponse* support for |t_RV| and |v:termresponse| | |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
480 N *+termguicolors* 24-bit color in xterm-compatible terminals support |
29765
bc6cf208b1b4
patch 9.0.0222: no good reason why text objects are only in larger builds
Bram Moolenaar <Bram@vim.org>
parents:
29314
diff
changeset
|
481 T *+textobjects* |text-objects| selection. Always enabled since 9.0.0222. |
15194 | 482 N *+textprop* |text-properties| |
7 | 483 *+tgetent* non-Unix only: able to use external termcap |
8673
ed7251c3e2d3
commit https://github.com/vim/vim/commit/e18c0b39815c5a746887a509c2cd9f11fadaba07
Christian Brabandt <cb@256bit.org>
parents:
8303
diff
changeset
|
484 N *+timers* the |timer_start()| function |
26438 | 485 T *+title* Setting the window 'title' and 'icon'; Always enabled |
7 | 486 N *+toolbar* |gui-toolbar| |
16411
5b5c5daf57de
patch 8.1.1210: support for user commands is spread out
Bram Moolenaar <Bram@vim.org>
parents:
16086
diff
changeset
|
487 T *+user_commands* User-defined commands. |user-commands| |
5b5c5daf57de
patch 8.1.1210: support for user commands is spread out
Bram Moolenaar <Bram@vim.org>
parents:
16086
diff
changeset
|
488 Always enabled since 8.1.1210. |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
489 H *+vartabs* Variable-width tabstops. |'vartabstop'| |
26438 | 490 T *+vertsplit* Vertically split windows |:vsplit|; Always enabled |
12499 | 491 since 8.0.1118. |
26901
9805a7617981
patch 8.2.3979: Vim9: the feature is not mentioned in the right places
Bram Moolenaar <Bram@vim.org>
parents:
26708
diff
changeset
|
492 T *+vim9script* |Vim9| script |
9805a7617981
patch 8.2.3979: Vim9: the feature is not mentioned in the right places
Bram Moolenaar <Bram@vim.org>
parents:
26708
diff
changeset
|
493 N *+viminfo* |'viminfo'| |
26438 | 494 T *+virtualedit* |'virtualedit'| Always enabled since 8.1.826. |
15422
b55b89692fd2
patch 8.1.0719: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15396
diff
changeset
|
495 T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200. |
b55b89692fd2
patch 8.1.0719: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15396
diff
changeset
|
496 T *+visualextra* extra Visual mode commands |blockwise-operators| |
14424
0a69e6e708f9
patch 8.1.0226: too many #ifdefs
Christian Brabandt <cb@256bit.org>
parents:
14175
diff
changeset
|
497 T *+vreplace* |gR| and |gr| |
13341
acd7eaa13d2b
Updated runtime files.
Christian Brabandt <cb@256bit.org>
parents:
12909
diff
changeset
|
498 *+vtp* on MS-Windows console: support for 'termguicolors' |
29879
77141226eb2e
patch 9.0.0278: the +wildignore feature is nearly always available
Bram Moolenaar <Bram@vim.org>
parents:
29863
diff
changeset
|
499 T *+wildignore* |'wildignore'| Always enabled since 9.0.0278 |
31579 | 500 T *+wildmenu* |'wildmenu'| Always enabled since 9.0.0279 |
15422
b55b89692fd2
patch 8.1.0719: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
15396
diff
changeset
|
501 T *+windows* more than one window; Always enabled since 8.0.1118. |
3996 | 502 m *+writebackup* |'writebackup'| is default on |
503 m *+xim* X input method |xim| | |
7 | 504 *+xfontset* X fontset support |xfontset| |
33408
dcfbfe57141c
patch 9.0.1962: No support for writing extended attributes
Christian Brabandt <cb@256bit.org>
parents:
32936
diff
changeset
|
505 N *+xattr* compiled with extended attribute support (Linux only) |
5340 | 506 *+xpm* pixmap support |
3750 | 507 m *+xpm_w32* Win32 GUI only: pixmap support |w32-xpm-support| |
7 | 508 *+xsmp* XSMP (X session management) support |
509 *+xsmp_interact* interactive XSMP (X session management) support | |
510 N *+xterm_clipboard* Unix only: xterm clipboard handling | |
3996 | 511 m *+xterm_save* save and restore xterm screen |xterm-screens| |
512 N *+X11* Unix only: can restore window title |X11| | |
7 | 513 |
514 */dyn* *E370* *E448* | |
515 To some of the features "/dyn" is added when the | |
516 feature is only available when the related library can | |
517 be dynamically loaded. | |
518 | |
519 :ve[rsion] {nr} Is now ignored. This was previously used to check the | |
520 version number of a .vimrc file. It was removed, | |
521 because you can now use the ":if" command for | |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
522 version-dependent behavior. |
7 | 523 |
524 *:redi* *:redir* | |
525 :redi[r][!] > {file} Redirect messages to file {file}. The messages which | |
526 are the output of commands are written to that file, | |
527 until redirection ends. The messages are also still | |
528 shown on the screen. When [!] is included, an | |
529 existing file is overwritten. When [!] is omitted, | |
530 and {file} exists, this command fails. | |
9464
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
531 |
7 | 532 Only one ":redir" can be active at a time. Calls to |
533 ":redir" will close any active redirection before | |
9464
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
534 starting redirection to the new target. For recursive |
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
535 use check out |execute()|. |
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
536 |
7 | 537 To stop the messages and commands from being echoed to |
538 the screen, put the commands in a function and call it | |
539 with ":silent call Function()". | |
294 | 540 An alternative is to use the 'verbosefile' option, |
541 this can be used in combination with ":redir". | |
7 | 542 |
543 :redi[r] >> {file} Redirect messages to file {file}. Append if {file} | |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
544 already exists. |
7 | 545 |
1624 | 546 :redi[r] @{a-zA-Z} |
298 | 547 :redi[r] @{a-zA-Z}> Redirect messages to register {a-z}. Append to the |
7 | 548 contents of the register if its name is given |
1624 | 549 uppercase {A-Z}. The ">" after the register name is |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
550 optional. |
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
551 :redi[r] @{a-z}>> Append messages to register {a-z}. |
7 | 552 |
18831 | 553 :redi[r] @*> |
1125 | 554 :redi[r] @+> Redirect messages to the selection or clipboard. For |
555 backward compatibility, the ">" after the register | |
556 name can be omitted. See |quotestar| and |quoteplus|. | |
18831 | 557 :redi[r] @*>> |
1125 | 558 :redi[r] @+>> Append messages to the selection or clipboard. |
7 | 559 |
298 | 560 :redi[r] @"> Redirect messages to the unnamed register. For |
561 backward compatibility, the ">" after the register | |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
562 name can be omitted. |
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
563 :redi[r] @">> Append messages to the unnamed register. |
27537 | 564 *E1092* |
26708 | 565 :redi[r] => {var} Redirect messages to a variable. |
566 In legacy script: If the variable doesn't exist, then | |
567 it is created. If the variable exists, then it is | |
568 initialized to an empty string. After the redirection | |
569 starts, if the variable is removed or locked or the | |
570 variable type is changed, then further command output | |
29285 | 571 messages will cause errors. When using a local |
572 variable (l:var in a function or s:var in a script) | |
573 and another `:redir` causes the current one to end, | |
574 the scope might be different and the assignment fails. | |
26708 | 575 In Vim9 script: the variable must have been declared |
576 as a string. | |
1125 | 577 The variable will remain empty until redirection ends. |
26708 | 578 Only string variables can be used. |
9464
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
579 To get the output of one command the |execute()| |
20115 | 580 function can be used instead of redirection. |
169 | 581 |
582 :redi[r] =>> {var} Append messages to an existing variable. Only string | |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
583 variables can be used. |
27537 | 584 *E1185* |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
585 :redi[r] END End redirecting messages. |
7 | 586 |
9941
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
587 *:filt* *:filter* |
27162 | 588 :filt[er][!] {pattern} {command} |
589 :filt[er][!] /{pattern}/ {command} | |
11062 | 590 Restrict the output of {command} to lines matching |
27162 | 591 with {pattern}. For example, to list only xml files: > |
10004
8061455d9179
commit https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
Christian Brabandt <cb@256bit.org>
parents:
9941
diff
changeset
|
592 :filter /\.xml$/ oldfiles |
11062 | 593 < If the [!] is given, restrict the output of {command} |
27162 | 594 to lines that do NOT match {pattern}. |
11062 | 595 |
27162 | 596 {pattern} is a Vim search pattern. Instead of enclosing |
9941
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
597 it in / any non-ID character (see |'isident'|) can be |
27162 | 598 used, so long as it does not appear in {pattern}. |
599 Without the enclosing character the pattern cannot | |
600 include the bar character. 'ignorecase' is not used. | |
9941
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
601 |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
602 The pattern is matched against the relevant part of |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
603 the output, not necessarily the whole line. Only some |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
604 commands support filtering, try it out to check if it |
14968
c5ec5ddbe814
patch 8.1.0495: :filter only supports some commands
Bram Moolenaar <Bram@vim.org>
parents:
14432
diff
changeset
|
605 works. Some of the commands that support filtering: |
16433
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
606 |:#| - filter whole line |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
607 |:clist| - filter by file name or module name |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
608 |:command| - filter by command name |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
609 |:files| - filter by file name |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
610 |:highlight| - filter by highlight group |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
611 |:jumps| - filter by file name |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
612 |:let| - filter by variable name |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
613 |:list| - filter whole line |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
614 |:llist| - filter by file name or module name |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
615 |:marks| - filter by text in the current file, |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
616 or file name for other files |
9c206a78ec04
patch 8.1.1221: filtering does not work when listing marks
Bram Moolenaar <Bram@vim.org>
parents:
16411
diff
changeset
|
617 |:oldfiles| - filter by file name |
18454
b912277e3877
patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents:
18203
diff
changeset
|
618 |:registers| - filter by register contents |
b912277e3877
patch 8.1.2221: cannot filter :disp output
Bram Moolenaar <Bram@vim.org>
parents:
18203
diff
changeset
|
619 (does not work multi-line) |
26591 | 620 |:set| - filter by option name |
9941
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
621 |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
622 Only normal messages are filtered, error messages are |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
623 not. |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
624 |
8148
f5da459c5698
commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents:
8061
diff
changeset
|
625 *:sil* *:silent* *:silent!* |
7 | 626 :sil[ent][!] {command} Execute {command} silently. Normal messages will not |
627 be given or added to the message history. | |
628 When [!] is added, error messages will also be | |
629 skipped, and commands and mappings will not be aborted | |
630 when an error is detected. |v:errmsg| is still set. | |
631 When [!] is not used, an error message will cause | |
632 further messages to be displayed normally. | |
633 Redirection, started with |:redir|, will continue as | |
634 usual, although there might be small differences. | |
635 This will allow redirecting the output of a command | |
636 without seeing it on the screen. Example: > | |
637 :redir >/tmp/foobar | |
638 :silent g/Aap/p | |
639 :redir END | |
640 < To execute a Normal mode command silently, use the | |
641 |:normal| command. For example, to search for a | |
642 string without messages: > | |
643 :silent exe "normal /path\<CR>" | |
644 < ":silent!" is useful to execute a command that may | |
645 fail, but the failure is to be ignored. Example: > | |
646 :let v:errmsg = "" | |
647 :silent! /^begin | |
648 :if v:errmsg != "" | |
649 : ... pattern was not found | |
650 < ":silent" will also avoid the hit-enter prompt. When | |
651 using this for an external command, this may cause the | |
652 screen to be messed up. Use |CTRL-L| to clean it up | |
653 then. | |
654 ":silent menu ..." defines a menu that will not echo a | |
655 Command-line command. The command will still produce | |
656 messages though. Use ":silent" in the command itself | |
657 to avoid that: ":silent menu .... :silent command". | |
658 | |
1926 | 659 *:uns* *:unsilent* |
660 :uns[ilent] {command} Execute {command} not silently. Only makes a | |
661 difference when |:silent| was used to get to this | |
662 command. | |
663 Use this for giving a message even when |:silent| was | |
664 used. In this example |:silent| is used to avoid the | |
665 message about reading the file and |:unsilent| to be | |
666 able to list the first line of each file. > | |
27903 | 667 :silent argdo unsilent echo expand('%') .. ": " .. getline(1) |
1926 | 668 < |
669 | |
7 | 670 *:verb* *:verbose* |
671 :[count]verb[ose] {command} | |
672 Execute {command} with 'verbose' set to [count]. If | |
8 | 673 [count] is omitted one is used. ":0verbose" can be |
674 used to set 'verbose' to zero. | |
7 | 675 The additional use of ":silent" makes messages |
676 generated but not displayed. | |
677 The combination of ":silent" and ":verbose" can be | |
678 used to generate messages and check them with | |
679 |v:statusmsg| and friends. For example: > | |
680 :let v:statusmsg = "" | |
681 :silent verbose runtime foobar.vim | |
682 :if v:statusmsg != "" | |
683 : " foobar.vim could not be found | |
684 :endif | |
685 < When concatenating another command, the ":verbose" | |
686 only applies to the first one: > | |
687 :4verbose set verbose | set verbose | |
688 < verbose=4 ~ | |
689 verbose=0 ~ | |
294 | 690 For logging verbose messages in a file use the |
691 'verbosefile' option. | |
7 | 692 |
484 | 693 *:verbose-cmd* |
694 When 'verbose' is non-zero, listing the value of a Vim option or a key map or | |
502 | 695 an abbreviation or a user-defined function or a command or a highlight group |
696 or an autocommand will also display where it was last defined. If it was | |
697 defined manually then there will be no "Last set" message. When it was | |
698 defined while executing a function, user command or autocommand, the script in | |
699 which it was defined is reported. | |
2570
71b56b4e7785
Make the references to features in the help more consistent. (Sylvain Hitier)
Bram Moolenaar <bram@vim.org>
parents:
2561
diff
changeset
|
700 {not available when compiled without the |+eval| feature} |
484 | 701 |
7 | 702 *K* |
703 K Run a program to lookup the keyword under the | |
704 cursor. The name of the program is given with the | |
705 'keywordprg' (kp) option (default is "man"). The | |
706 keyword is formed of letters, numbers and the | |
707 characters in 'iskeyword'. The keyword under or | |
708 right of the cursor is used. The same can be done | |
709 with the command > | |
710 :!{program} {keyword} | |
711 < There is an example of a program to use in the tools | |
11062 | 712 directory of Vim. It is called "ref" and does a |
7 | 713 simple spelling check. |
714 Special cases: | |
9116
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
715 - If 'keywordprg' begins with ":" it is invoked as |
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
716 a Vim Ex command with [count]. |
7 | 717 - If 'keywordprg' is empty, the ":help" command is |
718 used. It's a good idea to include more characters | |
719 in 'iskeyword' then, to be able to find more help. | |
9116
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
720 - When 'keywordprg' is equal to "man" or starts with |
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
721 ":", a [count] before "K" is inserted after |
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
722 keywordprg and before the keyword. For example, |
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
723 using "2K" while the cursor is on "mkdir", results |
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
724 in: > |
7 | 725 !man 2 mkdir |
726 < - When 'keywordprg' is equal to "man -s", a count | |
727 before "K" is inserted after the "-s". If there is | |
728 no count, the "-s" is removed. | |
729 | |
730 *v_K* | |
731 {Visual}K Like "K", but use the visually highlighted text for | |
732 the keyword. Only works when the highlighted text is | |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
733 not more than one line. |
7 | 734 |
735 [N]gs *gs* *:sl* *:sleep* | |
23648
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
22958
diff
changeset
|
736 :[N]sl[eep] [N][m] Do nothing for [N] seconds. When [m] is included, |
237 | 737 sleep for [N] milliseconds. The count for "gs" always |
7 | 738 uses seconds. The default is one second. > |
739 :sleep "sleep for one second | |
740 :5sleep "sleep for five seconds | |
23648
b7d3c79075c5
patch 8.2.2366: when using ":sleep" the cursor is always displayed
Bram Moolenaar <Bram@vim.org>
parents:
22958
diff
changeset
|
741 :sleep 100m "sleep for 100 milliseconds |
7 | 742 10gs "sleep for ten seconds |
18972 | 743 < Can be interrupted with CTRL-C (CTRL-Break on |
744 MS-Windows). "gs" stands for "goto sleep". | |
140 | 745 While sleeping the cursor is positioned in the text, |
16553
0e473e9e70c2
patch 8.1.1280: remarks about functionality not in Vi clutters the help
Bram Moolenaar <Bram@vim.org>
parents:
16433
diff
changeset
|
746 if at a visible position. |
3153 | 747 Also process the received netbeans messages. {only |
748 available when compiled with the |+netbeans_intg| | |
749 feature} | |
750 | |
23666 | 751 *:sl!* *:sleep!* |
24911 | 752 :[N]sl[eep]! [N][m] Same as above, but hide the cursor. |
23666 | 753 |
16608
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
754 *:xrestore* *:xr* |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
755 :xr[estore] [display] Reinitializes the connection to the X11 server. Useful |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
756 after the X server restarts, e.g. when running Vim for |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
757 long time inside screen/tmux and connecting from |
16808 | 758 different machines. |
18831 | 759 [display] should be in the format of the $DISPLAY |
16608
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
760 environment variable (e.g. "localhost:10.0") |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
761 If [display] is omitted, then it reinitializes the |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
762 connection to the X11 server using the same value as |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
763 was used for the previous execution of this command. |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
764 If the value was never specified, then it uses the |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
765 value of $DISPLAY environment variable as it was when |
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
766 Vim was started. |
18831 | 767 {only available when compiled with the |+clipboard| |
16608
0422b14bce58
patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents:
16553
diff
changeset
|
768 feature} |
7 | 769 |
770 *g_CTRL-A* | |
771 g CTRL-A Only when Vim was compiled with MEM_PROFILING defined | |
772 (which is very rare): print memory usage statistics. | |
773 Only useful for debugging Vim. | |
7597
3012eaddb6b2
commit https://github.com/vim/vim/commit/345efa013dc6d1754ba06e5596a26c48c9935937
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
774 For incrementing in Visual mode see |v_g_CTRL-A|. |
7 | 775 |
776 ============================================================================== | |
2581 | 777 2. Using Vim like less or more *less* |
7 | 778 |
779 If you use the less or more program to view a file, you don't get syntax | |
780 highlighting. Thus you would like to use Vim instead. You can do this by | |
781 using the shell script "$VIMRUNTIME/macros/less.sh". | |
782 | |
783 This shell script uses the Vim script "$VIMRUNTIME/macros/less.vim". It sets | |
784 up mappings to simulate the commands that less supports. Otherwise, you can | |
785 still use the Vim commands. | |
786 | |
787 This isn't perfect. For example, when viewing a short file Vim will still use | |
21250 | 788 the whole screen. But it works well enough for most uses, and you get syntax |
7 | 789 highlighting. |
790 | |
791 The "h" key will give you a short overview of the available commands. | |
792 | |
7245
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
793 If you want to set options differently when using less, define the |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
794 LessInitFunc in your vimrc, for example: > |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
795 |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
796 func LessInitFunc() |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
797 set nocursorcolumn nocursorline |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
798 endfunc |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
799 < |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
800 |
14432 | 801 vim:tw=78:ts=8:noet:ft=help:norl: |