Mercurial > vim
annotate runtime/doc/various.txt @ 10826:c87e4d47304a
Added tag v8.0.0302 for changeset 4dea7c96fc82e550f414e2c57e76fab584f5af46
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 04 Feb 2017 20:00:04 +0100 |
parents | 9f48eab77d62 |
children | 1218c5353e2b |
rev | line source |
---|---|
10198
9f48eab77d62
commit https://github.com/vim/vim/commit/bb76f24af2010943387ce696a7092175b4ecccf2
Christian Brabandt <cb@256bit.org>
parents:
10140
diff
changeset
|
1 *various.txt* For Vim version 8.0. Last change: 2016 Sep 06 |
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. | |
32 | |
33 *N<Del>* | |
34 <Del> When entering a number: Remove the last digit. | |
35 Note: if you like to use <BS> for this, add this | |
36 mapping to your .vimrc: > | |
37 :map CTRL-V <BS> CTRL-V <Del> | |
38 < See |:fixdel| if your <Del> key does not do what you | |
39 want. | |
40 | |
41 :as[cii] or *ga* *:as* *:ascii* | |
42 ga Print the ascii value of the character under the | |
43 cursor in decimal, hexadecimal and octal. For | |
44 example, when the cursor is on a 'R': | |
45 <R> 82, Hex 52, Octal 122 ~ | |
46 When the character is a non-standard ASCII character, | |
47 but printable according to the 'isprint' option, the | |
48 non-printable version is also given. When the | |
49 character is larger than 127, the <M-x> form is also | |
50 printed. For example: | |
51 <~A> <M-^A> 129, Hex 81, Octal 201 ~ | |
52 <p> <|~> <M-~> 254, Hex fe, Octal 376 ~ | |
53 (where <p> is a special character) | |
54 The <Nul> character in a file is stored internally as | |
55 <NL>, but it will be shown as: | |
56 <^@> 0, Hex 00, Octal 000 ~ | |
714 | 57 If the character has composing characters these are |
58 also shown. The value of 'maxcombine' doesn't matter. | |
7 | 59 Mnemonic: Get Ascii value. {not in Vi} |
60 | |
61 *g8* | |
62 g8 Print the hex values of the bytes used in the | |
63 character under the cursor, assuming it is in |UTF-8| | |
714 | 64 encoding. This also shows composing characters. The |
65 value of 'maxcombine' doesn't matter. | |
66 Example of a character with two composing characters: | |
7 | 67 e0 b8 81 + e0 b8 b9 + e0 b9 89 ~ |
777 | 68 {not in Vi} {only when compiled with the |+multi_byte| |
69 feature} | |
70 | |
71 *8g8* | |
72 8g8 Find an illegal UTF-8 byte sequence at or after the | |
73 cursor. This works in two situations: | |
74 1. when 'encoding' is any 8-bit encoding | |
75 2. when 'encoding' is "utf-8" and 'fileencoding' is | |
76 any 8-bit encoding | |
77 Thus it can be used when editing a file that was | |
78 supposed to be UTF-8 but was read as if it is an 8-bit | |
79 encoding because it contains illegal bytes. | |
80 Does not wrap around the end of the file. | |
81 Note that when the cursor is on an illegal byte or the | |
82 cursor is halfway a multi-byte character the command | |
83 won't move the cursor. | |
84 {not in Vi} {only when compiled with the |+multi_byte| | |
85 feature} | |
7 | 86 |
843 | 87 *:p* *:pr* *:print* *E749* |
169 | 88 :[range]p[rint] [flags] |
89 Print [range] lines (default current line). | |
7 | 90 Note: If you are looking for a way to print your text |
169 | 91 on paper see |:hardcopy|. In the GUI you can use the |
92 File.Print menu entry. | |
93 See |ex-flags| for [flags]. | |
10004
8061455d9179
commit https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
Christian Brabandt <cb@256bit.org>
parents:
9941
diff
changeset
|
94 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
|
95 matching a pattern. |
7 | 96 |
169 | 97 :[range]p[rint] {count} [flags] |
7 | 98 Print {count} lines, starting with [range] (default |
99 current line |cmdline-ranges|). | |
169 | 100 See |ex-flags| for [flags]. |
7 | 101 |
102 *:P* *:Print* | |
169 | 103 :[range]P[rint] [count] [flags] |
7 | 104 Just as ":print". Was apparently added to Vi for |
105 people that keep the shift key pressed too long... | |
2642 | 106 Note: A user command can overrule this command. |
169 | 107 See |ex-flags| for [flags]. |
7 | 108 |
109 *:l* *:list* | |
169 | 110 :[range]l[ist] [count] [flags] |
7 | 111 Same as :print, but display unprintable characters |
2458 | 112 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
|
113 further changed with the 'listchars' option. |
169 | 114 See |ex-flags| for [flags]. |
7 | 115 |
116 *:nu* *:number* | |
169 | 117 :[range]nu[mber] [count] [flags] |
7 | 118 Same as :print, but precede each line with its line |
677 | 119 number. (See also 'highlight' and 'numberwidth' |
120 option). | |
169 | 121 See |ex-flags| for [flags]. |
7 | 122 |
123 *:#* | |
169 | 124 :[range]# [count] [flags] |
125 synonym for :number. | |
7 | 126 |
1125 | 127 *:#!* |
128 :#!{anything} Ignored, so that you can start a Vim script with: > | |
1624 | 129 #!vim -S |
1125 | 130 echo "this is a Vim script" |
131 quit | |
132 < | |
7 | 133 *:z* *E144* |
134 :{range}z[+-^.=]{count} Display several lines of text surrounding the line | |
135 specified with {range}, or around the current line | |
136 if there is no {range}. If there is a {count}, that's | |
164 | 137 how many lines you'll see; if there is only one window |
2725 | 138 then twice the value of the 'scroll' option is used, |
139 otherwise the current window height minus 3 is used. | |
7 | 140 |
3237 | 141 If there is a {count} the 'window' option is set to |
142 its value. | |
143 | |
7 | 144 :z can be used either alone or followed by any of |
145 several punctuation marks. These have the following | |
146 effect: | |
147 | |
2725 | 148 mark first line last line new cursor line ~ |
7 | 149 ---- ---------- --------- ------------ |
150 + current line 1 scr forward 1 scr forward | |
151 - 1 scr back current line current line | |
152 ^ 2 scr back 1 scr back 1 scr back | |
159 | 153 . 1/2 scr back 1/2 scr fwd 1/2 scr fwd |
154 = 1/2 scr back 1/2 scr fwd current line | |
7 | 155 |
156 Specifying no mark at all is the same as "+". | |
157 If the mark is "=", a line of dashes is printed | |
158 around the current line. | |
159 | |
160 :{range}z#[+-^.=]{count} *:z#* | |
161 Like ":z", but number the lines. | |
162 {not in all versions of Vi, not with these arguments} | |
163 | |
164 *:=* | |
169 | 165 := [flags] Print the last line number. |
166 See |ex-flags| for [flags]. | |
7 | 167 |
169 | 168 :{range}= [flags] Prints the last line number in {range}. For example, |
7 | 169 this prints the current line number: > |
170 :.= | |
169 | 171 < See |ex-flags| for [flags]. |
7 | 172 |
173 :norm[al][!] {commands} *:norm* *:normal* | |
174 Execute Normal mode commands {commands}. This makes | |
175 it possible to execute Normal mode commands typed on | |
2596 | 176 the command-line. {commands} are executed like they |
177 are typed. For undo all commands are undone together. | |
1125 | 178 Execution stops when an error is encountered. |
4073 | 179 |
7 | 180 If the [!] is given, mappings will not be used. |
4073 | 181 Without it, when this command is called from a |
182 non-remappable mapping (|:noremap|), the argument can | |
183 be mapped anyway. | |
184 | |
7 | 185 {commands} should be a complete command. If |
186 {commands} does not finish a command, the last one | |
187 will be aborted as if <Esc> or <C-C> was typed. | |
188 This implies that an insert command must be completed | |
189 (to start Insert mode, see |:startinsert|). A ":" | |
161 | 190 command must be completed as well. And you can't use |
191 "Q" or "gQ" to start Ex mode. | |
4073 | 192 |
193 The display is not updated while ":normal" is busy. | |
194 | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1989
diff
changeset
|
195 {commands} cannot start with a space. Put a count of |
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1989
diff
changeset
|
196 1 (one) before it, "1 " is one space. |
4073 | 197 |
7 | 198 The 'insertmode' option is ignored for {commands}. |
4073 | 199 |
7 | 200 This command cannot be followed by another command, |
201 since any '|' is considered part of the command. | |
4073 | 202 |
7 | 203 This command can be used recursively, but the depth is |
204 limited by 'maxmapdepth'. | |
4073 | 205 |
7 | 206 An alternative is to use |:execute|, which uses an |
207 expression as argument. This allows the use of | |
2264 | 208 printable characters to represent special characters. |
4073 | 209 |
2264 | 210 Example: > |
7 | 211 :exe "normal \<c-w>\<c-w>" |
212 < {not in Vi, of course} | |
213 | |
214 :{range}norm[al][!] {commands} *:normal-range* | |
215 Execute Normal mode commands {commands} for each line | |
216 in the {range}. Before executing the {commands}, the | |
217 cursor is positioned in the first column of the range, | |
218 for each line. Otherwise it's the same as the | |
219 ":normal" command without a range. | |
220 {not in Vi} | |
221 | |
222 *:sh* *:shell* *E371* | |
223 :sh[ell] This command starts a shell. When the shell exits | |
224 (after the "exit" command) you return to Vim. The | |
225 name for the shell command comes from 'shell' option. | |
226 *E360* | |
227 Note: This doesn't work when Vim on the Amiga was | |
228 started in QuickFix mode from a compiler, because the | |
229 compiler will have set stdin to a non-interactive | |
230 mode. | |
231 | |
232 *:!cmd* *:!* *E34* | |
233 :!{cmd} Execute {cmd} with the shell. See also the 'shell' | |
234 and 'shelltype' option. | |
5814 | 235 |
7 | 236 Any '!' in {cmd} is replaced with the previous |
237 external command (see also 'cpoptions'). But not when | |
238 there is a backslash before the '!', then that | |
239 backslash is removed. Example: ":!ls" followed by | |
240 ":!echo ! \! \\!" executes "echo ls ! \!". | |
5814 | 241 |
1624 | 242 A '|' in {cmd} is passed to the shell, you cannot use |
243 it to append a Vim command. See |:bar|. | |
5814 | 244 |
245 If {cmd} contains "%" it is expanded to the current | |
246 file name. Special characters are not escaped, use | |
247 quotes to avoid their special meaning: > | |
248 :!ls "%" | |
249 < If the file name contains a "$" single quotes might | |
250 work better (but a single quote causes trouble): > | |
251 :!ls '%' | |
252 < This should always work, but it's more typing: > | |
253 :exe "!ls " . shellescape(expand("%")) | |
254 < | |
7 | 255 A newline character ends {cmd}, what follows is |
256 interpreted as a following ":" command. However, if | |
257 there is a backslash before the newline it is removed | |
258 and {cmd} continues. It doesn't matter how many | |
259 backslashes are before the newline, only one is | |
260 removed. | |
5814 | 261 |
7 | 262 On Unix the command normally runs in a non-interactive |
263 shell. If you want an interactive shell to be used | |
264 (to use aliases) set 'shellcmdflag' to "-ic". | |
265 For Win32 also see |:!start|. | |
5814 | 266 |
5908 | 267 After the command has been executed, the timestamp and |
268 size of the current file is checked |timestamp|. | |
5814 | 269 |
7 | 270 Vim redraws the screen after the command is finished, |
271 because it may have printed any text. This requires a | |
272 hit-enter prompt, so that you can read any messages. | |
273 To avoid this use: > | |
274 :silent !{cmd} | |
275 < The screen is not redrawn then, thus you have to use | |
276 CTRL-L or ":redraw!" if the command did display | |
277 something. | |
278 Also see |shell-window|. | |
279 | |
280 *:!!* | |
281 :!! Repeat last ":!{cmd}". | |
282 | |
283 *:ve* *:version* | |
284 :ve[rsion] Print the version number of the editor. If the | |
285 compiler used understands "__DATE__" the compilation | |
286 date is mentioned. Otherwise a fixed release-date is | |
287 shown. | |
288 The following lines contain information about which | |
289 features were enabled when Vim was compiled. When | |
290 there is a preceding '+', the feature is included, | |
291 when there is a '-' it is excluded. To change this, | |
292 you have to edit feature.h and recompile Vim. | |
293 To check for this in an expression, see |has()|. | |
294 Here is an overview of the features. | |
295 The first column shows the smallest version in which | |
296 they are included: | |
297 T tiny | |
298 S small | |
299 N normal | |
300 B big | |
301 H huge | |
302 m manually enabled or depends on other features | |
303 (none) system dependent | |
304 Thus if a feature is marked with "N", it is included | |
305 in the normal, big and huge versions of Vim. | |
306 | |
307 *+feature-list* | |
5340 | 308 *+acl* |ACL| support included |
7 | 309 *+ARP* Amiga only: ARP support included |
310 B *+arabic* |Arabic| language support | |
311 N *+autocmd* |:autocmd|, automatic commands | |
191 | 312 m *+balloon_eval* |balloon-eval| support. Included when compiling with |
313 supported GUI (Motif, GTK, GUI) and either | |
314 Netbeans/Sun Workshop integration or |+eval| feature. | |
7 | 315 N *+browse* |:browse| command |
316 N *+builtin_terms* some terminals builtin |builtin-terms| | |
317 B *++builtin_terms* maximal terminals builtin |builtin-terms| | |
318 N *+byte_offset* support for 'o' flag in 'statusline' option, "go" | |
319 and ":goto" commands. | |
7790
ca19726d5e83
commit https://github.com/vim/vim/commit/298b440930ecece38d6ea0505a3e582dc817e79b
Christian Brabandt <cb@256bit.org>
parents:
7597
diff
changeset
|
320 m *+channel* inter process communication |channel| |
7 | 321 N *+cindent* |'cindent'|, C indenting |
322 N *+clientserver* Unix and Win32: Remote invocation |clientserver| | |
323 *+clipboard* |clipboard| support | |
324 N *+cmdline_compl* command line completion |cmdline-completion| | |
325 N *+cmdline_hist* command line history |cmdline-history| | |
326 N *+cmdline_info* |'showcmd'| and |'ruler'| | |
327 N *+comments* |'comments'| support | |
2382
3a5ededa240a
Add the 'c' flag to 'concealcursor'.
Bram Moolenaar <bram@vim.org>
parents:
2368
diff
changeset
|
328 B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc. |
7 | 329 N *+cryptv* encryption support |encryption| |
330 B *+cscope* |cscope| support | |
2250
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2246
diff
changeset
|
331 m *+cursorbind* |'cursorbind'| support |
500 | 332 m *+cursorshape* |termcap-cursor-shape| support |
333 m *+debug* Compiled for debugging. | |
7 | 334 N *+dialog_gui* Support for |:confirm| with GUI dialog. |
335 N *+dialog_con* Support for |:confirm| with console dialog. | |
336 N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog. | |
337 N *+diff* |vimdiff| and 'diff' | |
338 N *+digraphs* |digraphs| *E196* | |
6110 | 339 m *+directx* Win32 GUI only: DirectX and |'renderoptions'| |
7 | 340 *+dnd* Support for DnD into the "~ register |quote_~|. |
341 B *+emacs_tags* |emacs-tags| files | |
342 N *+eval* expression evaluation |eval.txt| | |
7876
93f747af7b58
commit https://github.com/vim/vim/commit/5e9b2fa9bb0e6061cf18457c173cd141a5dc9c92
Christian Brabandt <cb@256bit.org>
parents:
7790
diff
changeset
|
343 N *+ex_extra* always on now, used to be for Vim's extra Ex commands |
7 | 344 N *+extra_search* |'hlsearch'| and |'incsearch'| options. |
345 B *+farsi* |farsi| language | |
346 N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>| | |
347 N *+find_in_path* include file searches: |[I|, |:isearch|, | |
348 |CTRL-W_CTRL-I|, |:checkpath|, etc. | |
349 N *+folding* |folding| | |
350 *+footer* |gui-footer| | |
351 *+fork* Unix only: |fork| shell commands | |
1624 | 352 *+float* Floating point support |
7 | 353 N *+gettext* message translations |multi-lang| |
354 *+GUI_Athena* Unix only: Athena |GUI| | |
355 *+GUI_neXtaw* Unix only: neXtaw |GUI| | |
356 *+GUI_GTK* Unix only: GTK+ |GUI| | |
357 *+GUI_Motif* Unix only: Motif |GUI| | |
358 *+GUI_Photon* QNX only: Photon |GUI| | |
359 m *+hangul_input* Hangul input support |hangul| | |
557 | 360 *+iconv* Compiled with the |iconv()| function |
361 *+iconv/dyn* Likewise |iconv-dynamic| |/dyn| | |
7 | 362 N *+insert_expand* |insert_expand| Insert mode completion |
8061
abd64cf67bcf
commit https://github.com/vim/vim/commit/38a55639d603823efcf2d2fdf542dbffdeb60b75
Christian Brabandt <cb@256bit.org>
parents:
7876
diff
changeset
|
363 m *+job* starting and stopping jobs |job| |
7 | 364 N *+jumplist* |jumplist| |
365 B *+keymap* |'keymap'| | |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9464
diff
changeset
|
366 N *+lambda* |lambda| and |closure| |
7 | 367 B *+langmap* |'langmap'| |
368 N *+libcall* |libcall()| | |
369 N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'| | |
370 N *+lispindent* |'lisp'| | |
371 N *+listcmds* Vim commands for the list of buffers |buffer-hidden| | |
372 and argument list |:argdelete| | |
373 N *+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
|
374 m *+lua* |Lua| interface |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2264
diff
changeset
|
375 m *+lua/dyn* |Lua| interface |/dyn| |
7 | 376 N *+menu* |:menu| |
377 N *+mksession* |:mksession| | |
378 N *+modify_fname* |filename-modifiers| | |
379 N *+mouse* Mouse handling |mouse-using| | |
380 N *+mouseshape* |'mouseshape'| | |
381 B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse| | |
382 N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse| | |
5929 | 383 N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse| |
7 | 384 B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse| |
3996 | 385 N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal| |
1624 | 386 N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse| |
3750 | 387 B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse| |
3996 | 388 B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse| |
389 N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse| | |
4502
605c9ce57ec3
Updated runtime files, language files and translations.
Bram Moolenaar <bram@vim.org>
parents:
4073
diff
changeset
|
390 N *+multi_byte* 16 and 32 bit characters |multibyte| |
7 | 391 *+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime| |
3996 | 392 N *+multi_lang* non-English language support |multi-lang| |
14 | 393 m *+mzscheme* Mzscheme interface |mzscheme| |
625 | 394 m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn| |
7 | 395 m *+netbeans_intg* |netbeans| |
9389
32e34e574716
commit https://github.com/vim/vim/commit/22fcfad29276bd5f317faf516637dcd491b96a12
Christian Brabandt <cb@256bit.org>
parents:
9116
diff
changeset
|
396 *+num64* 64-bit Number support |Number| |
3996 | 397 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
|
398 N *+packages* Loading |packages| |
3996 | 399 N *+path_extra* Up/downwards search in 'path' and 'tags' |
557 | 400 m *+perl* Perl interface |perl| |
401 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
|
402 N *+persistent_undo* Persistent undo |undo-persistence| |
3996 | 403 *+postscript* |:hardcopy| writes a PostScript file |
7 | 404 N *+printer* |:hardcopy| command |
179 | 405 H *+profile* |:profile| command |
2368 | 406 m *+python* Python 2 interface |python| |
3996 | 407 m *+python/dyn* Python 2 interface |python-dynamic| |/dyn| |
2368 | 408 m *+python3* Python 3 interface |python| |
3996 | 409 m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn| |
7 | 410 N *+quickfix* |:make| and |quickfix| commands |
1624 | 411 N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout, |
412 'redrawtime' option | |
7 | 413 B *+rightleft* Right to left typing |'rightleft'| |
557 | 414 m *+ruby* Ruby interface |ruby| |
415 m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn| | |
3996 | 416 N *+scrollbind* |'scrollbind'| |
7 | 417 B *+signs* |:sign| |
3996 | 418 N *+smartindent* |'smartindent'| |
419 N *+startuptime* |--startuptime| argument | |
420 N *+statusline* Options 'statusline', 'rulerformat' and special | |
7 | 421 formats of 'titlestring' and 'iconstring' |
422 m *+sun_workshop* |workshop| | |
423 N *+syntax* Syntax highlighting |syntax| | |
424 *+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
|
425 T *+tag_binary* binary searching in tags file |tag-binary-search| |
7 | 426 N *+tag_old_static* old method for static tags |tag-old-static| |
427 m *+tag_any_white* any white space allowed in tags file |tag-any-white| | |
3996 | 428 m *+tcl* Tcl interface |tcl| |
557 | 429 m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn| |
7 | 430 *+terminfo* uses |terminfo| instead of termcap |
431 N *+termresponse* support for |t_RV| and |v:termresponse| | |
9027
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
432 B *+termguicolors* 24-bit color in xterm-compatible terminals support |
3996 | 433 N *+textobjects* |text-objects| selection |
7 | 434 *+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
|
435 N *+timers* the |timer_start()| function |
1125 | 436 N *+title* Setting the window 'title' and 'icon' |
7 | 437 N *+toolbar* |gui-toolbar| |
438 N *+user_commands* User-defined commands. |user-commands| | |
439 N *+viminfo* |'viminfo'| | |
440 N *+vertsplit* Vertically split windows |:vsplit| | |
3996 | 441 N *+virtualedit* |'virtualedit'| |
5763 | 442 S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200. |
3996 | 443 N *+visualextra* extra Visual mode commands |blockwise-operators| |
7 | 444 N *+vreplace* |gR| and |gr| |
3996 | 445 N *+wildignore* |'wildignore'| |
7 | 446 N *+wildmenu* |'wildmenu'| |
447 S *+windows* more than one window | |
3996 | 448 m *+writebackup* |'writebackup'| is default on |
449 m *+xim* X input method |xim| | |
7 | 450 *+xfontset* X fontset support |xfontset| |
5340 | 451 *+xpm* pixmap support |
3750 | 452 m *+xpm_w32* Win32 GUI only: pixmap support |w32-xpm-support| |
7 | 453 *+xsmp* XSMP (X session management) support |
454 *+xsmp_interact* interactive XSMP (X session management) support | |
455 N *+xterm_clipboard* Unix only: xterm clipboard handling | |
3996 | 456 m *+xterm_save* save and restore xterm screen |xterm-screens| |
457 N *+X11* Unix only: can restore window title |X11| | |
7 | 458 |
459 */dyn* *E370* *E448* | |
460 To some of the features "/dyn" is added when the | |
461 feature is only available when the related library can | |
462 be dynamically loaded. | |
463 | |
464 :ve[rsion] {nr} Is now ignored. This was previously used to check the | |
465 version number of a .vimrc file. It was removed, | |
466 because you can now use the ":if" command for | |
467 version-dependent behavior. {not in Vi} | |
468 | |
469 *:redi* *:redir* | |
470 :redi[r][!] > {file} Redirect messages to file {file}. The messages which | |
471 are the output of commands are written to that file, | |
472 until redirection ends. The messages are also still | |
473 shown on the screen. When [!] is included, an | |
474 existing file is overwritten. When [!] is omitted, | |
475 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
|
476 |
7 | 477 Only one ":redir" can be active at a time. Calls to |
478 ":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
|
479 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
|
480 use check out |execute()|. |
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
481 |
7 | 482 To stop the messages and commands from being echoed to |
483 the screen, put the commands in a function and call it | |
484 with ":silent call Function()". | |
294 | 485 An alternative is to use the 'verbosefile' option, |
486 this can be used in combination with ":redir". | |
7 | 487 {not in Vi} |
488 | |
489 :redi[r] >> {file} Redirect messages to file {file}. Append if {file} | |
490 already exists. {not in Vi} | |
491 | |
1624 | 492 :redi[r] @{a-zA-Z} |
298 | 493 :redi[r] @{a-zA-Z}> Redirect messages to register {a-z}. Append to the |
7 | 494 contents of the register if its name is given |
1624 | 495 uppercase {A-Z}. The ">" after the register name is |
496 optional. {not in Vi} | |
271 | 497 :redi[r] @{a-z}>> Append messages to register {a-z}. {not in Vi} |
7 | 498 |
1125 | 499 :redi[r] @*> |
500 :redi[r] @+> Redirect messages to the selection or clipboard. For | |
501 backward compatibility, the ">" after the register | |
502 name can be omitted. See |quotestar| and |quoteplus|. | |
503 {not in Vi} | |
504 :redi[r] @*>> | |
505 :redi[r] @+>> Append messages to the selection or clipboard. | |
506 {not in Vi} | |
7 | 507 |
298 | 508 :redi[r] @"> Redirect messages to the unnamed register. For |
509 backward compatibility, the ">" after the register | |
510 name can be omitted. {not in Vi} | |
271 | 511 :redi[r] @">> Append messages to the unnamed register. {not in Vi} |
7 | 512 |
169 | 513 :redi[r] => {var} Redirect messages to a variable. If the variable |
514 doesn't exist, then it is created. If the variable | |
515 exists, then it is initialized to an empty string. | |
1125 | 516 The variable will remain empty until redirection ends. |
169 | 517 Only string variables can be used. After the |
518 redirection starts, if the variable is removed or | |
519 locked or the variable type is changed, then further | |
520 command output messages will cause errors. {not in Vi} | |
9464
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
521 To get the output of one command the |execute()| |
be72f4201a1d
commit https://github.com/vim/vim/commit/063b9d15abea041a5bfff3ffc4e219e26fd1d4fa
Christian Brabandt <cb@256bit.org>
parents:
9389
diff
changeset
|
522 function can be used. |
169 | 523 |
524 :redi[r] =>> {var} Append messages to an existing variable. Only string | |
525 variables can be used. {not in Vi} | |
526 | |
7 | 527 :redi[r] END End redirecting messages. {not in Vi} |
528 | |
9941
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
529 *:filt* *:filter* |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
530 :filt[er] {pat} {command} |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
531 :filt[er] /{pat}/ {command} |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
532 Restrict the output of {command} to matches with {pat}. |
10004
8061455d9179
commit https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
Christian Brabandt <cb@256bit.org>
parents:
9941
diff
changeset
|
533 For example, to list only xml files: > |
8061455d9179
commit https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
Christian Brabandt <cb@256bit.org>
parents:
9941
diff
changeset
|
534 :filter /\.xml$/ oldfiles |
8061455d9179
commit https://github.com/vim/vim/commit/818078ddfbb8cc2546f697c5675a251d095722ec
Christian Brabandt <cb@256bit.org>
parents:
9941
diff
changeset
|
535 < |
9941
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
536 {pat} is a Vim search pattern. Instead of enclosing |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
537 it in / any non-ID character (see |'isident'|) can be |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
538 used, so long as it does not appear in {pat}. Without |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
539 the enclosing character the pattern cannot include the |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
540 bar character. |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
541 |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
542 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
|
543 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
|
544 commands support filtering, try it out to check if it |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
545 works. |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
546 |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
547 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
|
548 not. |
e975914c17e9
commit https://github.com/vim/vim/commit/7b668e83d0635d082b7ec90d7d2aa30a9d7d8928
Christian Brabandt <cb@256bit.org>
parents:
9737
diff
changeset
|
549 |
8148
f5da459c5698
commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents:
8061
diff
changeset
|
550 *:sil* *:silent* *:silent!* |
7 | 551 :sil[ent][!] {command} Execute {command} silently. Normal messages will not |
552 be given or added to the message history. | |
553 When [!] is added, error messages will also be | |
554 skipped, and commands and mappings will not be aborted | |
555 when an error is detected. |v:errmsg| is still set. | |
556 When [!] is not used, an error message will cause | |
557 further messages to be displayed normally. | |
558 Redirection, started with |:redir|, will continue as | |
559 usual, although there might be small differences. | |
560 This will allow redirecting the output of a command | |
561 without seeing it on the screen. Example: > | |
562 :redir >/tmp/foobar | |
563 :silent g/Aap/p | |
564 :redir END | |
565 < To execute a Normal mode command silently, use the | |
566 |:normal| command. For example, to search for a | |
567 string without messages: > | |
568 :silent exe "normal /path\<CR>" | |
569 < ":silent!" is useful to execute a command that may | |
570 fail, but the failure is to be ignored. Example: > | |
571 :let v:errmsg = "" | |
572 :silent! /^begin | |
573 :if v:errmsg != "" | |
574 : ... pattern was not found | |
575 < ":silent" will also avoid the hit-enter prompt. When | |
576 using this for an external command, this may cause the | |
577 screen to be messed up. Use |CTRL-L| to clean it up | |
578 then. | |
579 ":silent menu ..." defines a menu that will not echo a | |
580 Command-line command. The command will still produce | |
581 messages though. Use ":silent" in the command itself | |
582 to avoid that: ":silent menu .... :silent command". | |
583 | |
1926 | 584 *:uns* *:unsilent* |
585 :uns[ilent] {command} Execute {command} not silently. Only makes a | |
586 difference when |:silent| was used to get to this | |
587 command. | |
588 Use this for giving a message even when |:silent| was | |
589 used. In this example |:silent| is used to avoid the | |
590 message about reading the file and |:unsilent| to be | |
591 able to list the first line of each file. > | |
592 :silent argdo unsilent echo expand('%') . ": " . getline(1) | |
593 < | |
594 | |
7 | 595 *:verb* *:verbose* |
596 :[count]verb[ose] {command} | |
597 Execute {command} with 'verbose' set to [count]. If | |
8 | 598 [count] is omitted one is used. ":0verbose" can be |
599 used to set 'verbose' to zero. | |
7 | 600 The additional use of ":silent" makes messages |
601 generated but not displayed. | |
602 The combination of ":silent" and ":verbose" can be | |
603 used to generate messages and check them with | |
604 |v:statusmsg| and friends. For example: > | |
605 :let v:statusmsg = "" | |
606 :silent verbose runtime foobar.vim | |
607 :if v:statusmsg != "" | |
608 : " foobar.vim could not be found | |
609 :endif | |
610 < When concatenating another command, the ":verbose" | |
611 only applies to the first one: > | |
612 :4verbose set verbose | set verbose | |
613 < verbose=4 ~ | |
614 verbose=0 ~ | |
294 | 615 For logging verbose messages in a file use the |
616 'verbosefile' option. | |
7 | 617 |
484 | 618 *:verbose-cmd* |
619 When 'verbose' is non-zero, listing the value of a Vim option or a key map or | |
502 | 620 an abbreviation or a user-defined function or a command or a highlight group |
621 or an autocommand will also display where it was last defined. If it was | |
622 defined manually then there will be no "Last set" message. When it was | |
623 defined while executing a function, user command or autocommand, the script in | |
624 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
|
625 {not available when compiled without the |+eval| feature} |
484 | 626 |
7 | 627 *K* |
628 K Run a program to lookup the keyword under the | |
629 cursor. The name of the program is given with the | |
630 'keywordprg' (kp) option (default is "man"). The | |
631 keyword is formed of letters, numbers and the | |
632 characters in 'iskeyword'. The keyword under or | |
633 right of the cursor is used. The same can be done | |
634 with the command > | |
635 :!{program} {keyword} | |
636 < There is an example of a program to use in the tools | |
637 directory of Vim. It is called 'ref' and does a | |
638 simple spelling check. | |
639 Special cases: | |
9116
bc38030aec7d
commit https://github.com/vim/vim/commit/26852128a2b713ef49341a0c18daba928444e7eb
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
640 - 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
|
641 a Vim Ex command with [count]. |
7 | 642 - If 'keywordprg' is empty, the ":help" command is |
643 used. It's a good idea to include more characters | |
644 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
|
645 - 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
|
646 ":", 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
|
647 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
|
648 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
|
649 in: > |
7 | 650 !man 2 mkdir |
651 < - When 'keywordprg' is equal to "man -s", a count | |
652 before "K" is inserted after the "-s". If there is | |
653 no count, the "-s" is removed. | |
654 {not in Vi} | |
655 | |
656 *v_K* | |
657 {Visual}K Like "K", but use the visually highlighted text for | |
658 the keyword. Only works when the highlighted text is | |
659 not more than one line. {not in Vi} | |
660 | |
661 [N]gs *gs* *:sl* *:sleep* | |
662 :[N]sl[eep] [N] [m] Do nothing for [N] seconds. When [m] is included, | |
237 | 663 sleep for [N] milliseconds. The count for "gs" always |
7 | 664 uses seconds. The default is one second. > |
665 :sleep "sleep for one second | |
666 :5sleep "sleep for five seconds | |
667 :sleep 100m "sleep for a hundred milliseconds | |
668 10gs "sleep for ten seconds | |
669 < Can be interrupted with CTRL-C (CTRL-Break on MS-DOS). | |
140 | 670 "gs" stands for "goto sleep". |
671 While sleeping the cursor is positioned in the text, | |
672 if at a visible position. {not in Vi} | |
3153 | 673 Also process the received netbeans messages. {only |
674 available when compiled with the |+netbeans_intg| | |
675 feature} | |
676 | |
7 | 677 |
678 *g_CTRL-A* | |
679 g CTRL-A Only when Vim was compiled with MEM_PROFILING defined | |
680 (which is very rare): print memory usage statistics. | |
681 Only useful for debugging Vim. | |
7597
3012eaddb6b2
commit https://github.com/vim/vim/commit/345efa013dc6d1754ba06e5596a26c48c9935937
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
682 For incrementing in Visual mode see |v_g_CTRL-A|. |
7 | 683 |
684 ============================================================================== | |
2581 | 685 2. Using Vim like less or more *less* |
7 | 686 |
687 If you use the less or more program to view a file, you don't get syntax | |
688 highlighting. Thus you would like to use Vim instead. You can do this by | |
689 using the shell script "$VIMRUNTIME/macros/less.sh". | |
690 | |
691 This shell script uses the Vim script "$VIMRUNTIME/macros/less.vim". It sets | |
692 up mappings to simulate the commands that less supports. Otherwise, you can | |
693 still use the Vim commands. | |
694 | |
695 This isn't perfect. For example, when viewing a short file Vim will still use | |
696 the whole screen. But it works good enough for most uses, and you get syntax | |
697 highlighting. | |
698 | |
699 The "h" key will give you a short overview of the available commands. | |
700 | |
7245
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
701 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
|
702 LessInitFunc in your vimrc, for example: > |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
703 |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
704 func LessInitFunc() |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
705 set nocursorcolumn nocursorline |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
706 endfunc |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
707 < |
8896150aba23
commit https://github.com/vim/vim/commit/e392eb41f8dfc01bd13634e534ac6b4d505326f4
Christian Brabandt <cb@256bit.org>
parents:
6153
diff
changeset
|
708 |
7 | 709 vim:tw=78:ts=8:ft=help:norl: |