runtime(doc): Whitespace updates

Use double sentence spacing and wrap lines at 'textwidth'.  Code
examples and tables were not wrapped unless this had already been done
locally.

closes: #18453

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Doug Kearns
2025-10-12 15:31:11 +00:00
committed by Christian Brabandt
parent 2a33b499a3
commit c58f91c035
64 changed files with 1576 additions and 1497 deletions

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 9.1. Last change: 2025 Sep 14 *autocmd.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -344,7 +344,8 @@ Name triggered by ~
|GUIEnter| after starting the GUI successfully |GUIEnter| after starting the GUI successfully
|GUIFailed| after starting the GUI failed |GUIFailed| after starting the GUI failed
|TermResponse| after the terminal response to |t_RV| is received |TermResponse| after the terminal response to |t_RV| is received
|TermResponseAll| after the terminal response to |t_RV| and others is received |TermResponseAll| after the terminal response to |t_RV| and others is
received
|QuitPre| when using `:quit`, before deciding whether to exit |QuitPre| when using `:quit`, before deciding whether to exit
|ExitPre| when using a command that may make Vim exit |ExitPre| when using a command that may make Vim exit
@ -381,7 +382,8 @@ Name triggered by ~
|FocusGained| Vim got input focus |FocusGained| Vim got input focus
|FocusLost| Vim lost input focus |FocusLost| Vim lost input focus
|CursorHold| the user doesn't press a key for a while |CursorHold| the user doesn't press a key for a while
|CursorHoldI| the user doesn't press a key for a while in Insert mode |CursorHoldI| the user doesn't press a key for a while in Insert
mode
|CursorMoved| the cursor was moved in Normal mode |CursorMoved| the cursor was moved in Normal mode
|CursorMovedC| the cursor was moved in the |Command-line| |CursorMovedC| the cursor was moved in the |Command-line|
|CursorMovedI| the cursor was moved in Insert mode |CursorMovedI| the cursor was moved in Insert mode
@ -566,7 +568,8 @@ BufWinEnter After a buffer is displayed in a window. This
since it reloads that buffer. since it reloads that buffer.
Does not happen for a terminal window, because Does not happen for a terminal window, because
it starts in Terminal-Job mode and Normal mode it starts in Terminal-Job mode and Normal mode
commands won't work. Use |TerminalOpen| instead. commands won't work. Use |TerminalOpen|
instead.
*BufWinLeave* *BufWinLeave*
BufWinLeave Before a buffer is removed from a window. BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window. Not when it's still visible in another window.
@ -1090,10 +1093,10 @@ OptionSet After setting an option. The pattern is
Note that when setting a |global-local| string Note that when setting a |global-local| string
option with |:set|, then |v:option_old| is the option with |:set|, then |v:option_old| is the
old global value. However, for all other kinds old global value. However, for all other
of options (local string options, global-local kinds of options (local string options,
number options, ...) it is the old local global-local number options, ...) it is the
value. old local value.
OptionSet is not triggered on startup and for OptionSet is not triggered on startup and for
the 'key' option for obvious reasons. the 'key' option for obvious reasons.

View File

@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.1. Last change: 2025 Oct 01 *builtin.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1057,7 +1057,8 @@ autocmd_add({acmds}) *autocmd_add()*
commands associated with the specified autocmd commands associated with the specified autocmd
event and group and add the {cmd}. This is event and group and add the {cmd}. This is
useful to avoid adding the same command useful to avoid adding the same command
multiple times for an autocmd event in a group. multiple times for an autocmd event in a
group.
Returns v:true on success and v:false on failure. Returns v:true on success and v:false on failure.
Examples: > Examples: >
@ -1080,9 +1081,9 @@ autocmd_delete({acmds}) *autocmd_delete()*
The {acmds} argument is a List where each item is a Dict with The {acmds} argument is a List where each item is a Dict with
the following optional items: the following optional items:
bufnr buffer number to delete a buffer-local autocmd. bufnr buffer number to delete a buffer-local
If this item is specified, then the "pattern" autocmd. If this item is specified, then the
item is ignored. "pattern" item is ignored.
cmd Ex command for this autocmd event cmd Ex command for this autocmd event
event autocmd event name. Refer to |autocmd-events|. event autocmd event name. Refer to |autocmd-events|.
If '*' then all the autocmd events in this If '*' then all the autocmd events in this
@ -1133,14 +1134,14 @@ autocmd_get([{opts}]) *autocmd_get()*
The optional {opts} Dict argument supports the following The optional {opts} Dict argument supports the following
items: items:
group Autocmd group name. If specified, returns only group Autocmd group name. If specified, returns
the autocmds defined in this group. If the only the autocmds defined in this group. If
specified group doesn't exist, results in an the specified group doesn't exist, results in
error message. If set to an empty string, an error message. If set to an empty string,
then the default autocmd group is used. then the default autocmd group is used.
event Autocmd event name. If specified, returns only event Autocmd event name. If specified, returns
the autocmds defined for this event. If set only the autocmds defined for this event. If
to "*", then returns autocmds for all the set to "*", then returns autocmds for all the
events. If the specified event doesn't exist, events. If the specified event doesn't exist,
results in an error message. results in an error message.
pattern Autocmd pattern. If specified, returns only pattern Autocmd pattern. If specified, returns only
@ -1159,7 +1160,8 @@ autocmd_get([{opts}]) *autocmd_get()*
once Boolean flag, set to v:true, if the autocmd once Boolean flag, set to v:true, if the autocmd
will be executed only once. See |autocmd-once|. will be executed only once. See |autocmd-once|.
pattern Autocmd pattern. For a buffer-local pattern Autocmd pattern. For a buffer-local
autocmd, this will be of the form "<buffer=n>". autocmd, this will be of the form
"<buffer=n>".
If there are multiple commands for an autocmd event in a If there are multiple commands for an autocmd event in a
group, then separate items are returned for each command. group, then separate items are returned for each command.
@ -1698,7 +1700,8 @@ char2nr({string} [, {utf8}]) *char2nr()*
Examples: > Examples: >
char2nr(" ") returns 32 char2nr(" ") returns 32
char2nr("ABC") returns 65 char2nr("ABC") returns 65
< When {utf8} is omitted or zero, the current 'encoding' is used. < When {utf8} is omitted or zero, the current 'encoding' is
used.
Example for "utf-8": > Example for "utf-8": >
char2nr("á") returns 225 char2nr("á") returns 225
char2nr("á"[0]) returns 195 char2nr("á"[0]) returns 195
@ -2003,7 +2006,8 @@ complete_info([{what}]) *complete_info()*
See |pumvisible()|. See |pumvisible()|.
items List of all completion candidates. Each item items List of all completion candidates. Each item
is a dictionary containing the entries "word", is a dictionary containing the entries "word",
"abbr", "menu", "kind", "info" and "user_data". "abbr", "menu", "kind", "info" and
"user_data".
See |complete-items|. See |complete-items|.
matches Same as "items", but only returns items that matches Same as "items", but only returns items that
are matching current query. If both "matches" are matching current query. If both "matches"
@ -3307,8 +3311,8 @@ filter({expr1}, {expr2}) *filter()*
or a new |Blob| or |String|. or a new |Blob| or |String|.
When an error is encountered while evaluating {expr2} no When an error is encountered while evaluating {expr2} no
further items in {expr1} are processed. further items in {expr1} are processed.
When {expr2} is a Funcref errors inside a function are ignored, When {expr2} is a Funcref errors inside a function are
unless it was defined with the "abort" flag. ignored, unless it was defined with the "abort" flag.
Can also be used as a |method|: > Can also be used as a |method|: >
mylist->filter(expr2) mylist->filter(expr2)
@ -3619,8 +3623,8 @@ foreach({expr1}, {expr2}) *foreach()* *E1525*
Returns {expr1} in all cases. Returns {expr1} in all cases.
When an error is encountered while executing {expr2} no When an error is encountered while executing {expr2} no
further items in {expr1} are processed. further items in {expr1} are processed.
When {expr2} is a Funcref errors inside a function are ignored, When {expr2} is a Funcref errors inside a function are
unless it was defined with the "abort" flag. ignored, unless it was defined with the "abort" flag.
Can also be used as a |method|: > Can also be used as a |method|: >
mylist->foreach(expr2) mylist->foreach(expr2)
@ -3697,8 +3701,8 @@ function({name} [, {arglist}] [, {dict}])
same function. same function.
When {arglist} or {dict} is present this creates a partial. When {arglist} or {dict} is present this creates a partial.
That means the argument list and/or the dictionary is stored in That means the argument list and/or the dictionary is stored
the Funcref and will be used when the Funcref is called. in the Funcref and will be used when the Funcref is called.
The arguments are passed to the function in front of other The arguments are passed to the function in front of other
arguments, but after any argument from |method|. Example: > arguments, but after any argument from |method|. Example: >
@ -4004,12 +4008,14 @@ getcellpixels() *getcellpixels()*
Returns a |List| of terminal cell pixel size. Returns a |List| of terminal cell pixel size.
List format is [xpixel, ypixel]. List format is [xpixel, ypixel].
Only works on Unix (terminal and gVim) and Windows (gVim only). Only works on Unix (terminal and gVim) and Windows (gVim
only).
Returns [] on other systems or on failure. Returns [] on other systems or on failure.
Note that there could be variations across different terminals. Note that there could be variations across different
terminals.
On macOS, system Terminal.app returns sizes in points (before On macOS, system Terminal.app returns sizes in points (before
Retina scaling), whereas third-party terminals return raw pixel Retina scaling), whereas third-party terminals return raw
sizes (post Retina scaling). pixel sizes (post Retina scaling).
Return type: list<any> Return type: list<any>
@ -4960,15 +4966,16 @@ getqflist([{what}]) *getqflist()*
If not present, set to "". If not present, set to "".
id quickfix list ID |quickfix-ID|. If not id quickfix list ID |quickfix-ID|. If not
present, set to 0. present, set to 0.
idx index of the quickfix entry in the list. If not idx index of the quickfix entry in the list. If
present, set to 0. not present, set to 0.
items quickfix list entries. If not present, set to items quickfix list entries. If not present, set to
an empty list. an empty list.
nr quickfix list number. If not present, set to 0 nr quickfix list number. If not present, set to
0
qfbufnr number of the buffer displayed in the quickfix qfbufnr number of the buffer displayed in the quickfix
window. If not present, set to 0. window. If not present, set to 0.
size number of entries in the quickfix list. If not size number of entries in the quickfix list. If
present, set to 0. not present, set to 0.
title quickfix list title text. If not present, set title quickfix list title text. If not present, set
to "". to "".
winid quickfix |window-ID|. If not present, set to 0 winid quickfix |window-ID|. If not present, set to 0
@ -5290,7 +5297,8 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
gettagstack([{winnr}]) *gettagstack()* gettagstack([{winnr}]) *gettagstack()*
The result is a Dict, which is the tag stack of window {winnr}. The result is a Dict, which is the tag stack of window
{winnr}.
{winnr} can be the window number or the |window-ID|. {winnr} can be the window number or the |window-ID|.
When {winnr} is not specified, the current window is used. When {winnr} is not specified, the current window is used.
When window {winnr} doesn't exist, an empty Dict is returned. When window {winnr} doesn't exist, an empty Dict is returned.
@ -5310,9 +5318,9 @@ gettagstack([{winnr}]) *gettagstack()*
from cursor position before the tag jump. from cursor position before the tag jump.
See |getpos()| for the format of the See |getpos()| for the format of the
returned list. returned list.
matchnr current matching tag number. Used when matchnr current matching tag number. Used
multiple matching tags are found for a when multiple matching tags are found
name. for a name.
tagname name of the tag tagname name of the tag
See |tagstack| for more information about the tag stack. See |tagstack| for more information about the tag stack.
@ -5530,10 +5538,10 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
'suffixes' affect the ordering of matches. 'suffixes' affect the ordering of matches.
When {list} is present and it is |TRUE| the result is a |List| When {list} is present and it is |TRUE| the result is a |List|
with all matching files. The advantage of using a List is, you with all matching files. The advantage of using a List is,
also get filenames containing newlines correctly. Otherwise you also get filenames containing newlines correctly.
the result is a String and when there are several matches, Otherwise the result is a String and when there are several
they are separated by <NL> characters. Example: > matches, they are separated by <NL> characters. Example: >
:echo globpath(&rtp, "syntax/c.vim", 0, 1) :echo globpath(&rtp, "syntax/c.vim", 0, 1)
< <
{alllinks} is used as with |glob()|. {alllinks} is used as with |glob()|.
@ -6160,7 +6168,8 @@ inputrestore() *inputrestore()*
Restore typeahead that was saved with a previous |inputsave()|. Restore typeahead that was saved with a previous |inputsave()|.
Should be called the same number of times inputsave() is Should be called the same number of times inputsave() is
called. Calling it more often is harmless though. called. Calling it more often is harmless though.
Returns TRUE when there is nothing to restore, FALSE otherwise. Returns TRUE when there is nothing to restore, FALSE
otherwise.
Return type: |Number| Return type: |Number|
@ -6259,10 +6268,11 @@ invert({expr}) *invert()*
isabsolutepath({path}) *isabsolutepath()* isabsolutepath({path}) *isabsolutepath()*
The result is a Number, which is |TRUE| when {path} is an The result is a Number, which is |TRUE| when {path} is an
absolute path. absolute path.
On Unix, a path is considered absolute when it starts with '/'. On Unix, a path is considered absolute when it starts with
On MS-Windows, it is considered absolute when it starts with an '/'.
optional drive prefix and is followed by a '\' or '/'. UNC paths On MS-Windows, it is considered absolute when it starts with
are always absolute. an optional drive prefix and is followed by a '\' or '/'. UNC
paths are always absolute.
Example: > Example: >
echo isabsolutepath('/usr/share/') " 1 echo isabsolutepath('/usr/share/') " 1
echo isabsolutepath('./foobar') " 0 echo isabsolutepath('./foobar') " 0
@ -6690,7 +6700,8 @@ list2str({list} [, {utf8}]) *list2str()*
join(map(list, {nr, val -> nr2char(val)}), '') join(map(list, {nr, val -> nr2char(val)}), '')
< |str2list()| does the opposite. < |str2list()| does the opposite.
When {utf8} is omitted or zero, the current 'encoding' is used. When {utf8} is omitted or zero, the current 'encoding' is
used.
When {utf8} is TRUE, always return UTF-8 characters. When {utf8} is TRUE, always return UTF-8 characters.
With UTF-8 composing characters work as expected: > With UTF-8 composing characters work as expected: >
list2str([97, 769]) returns "á" list2str([97, 769]) returns "á"
@ -6795,12 +6806,12 @@ listener_add({callback} [, {buf} [, {unbuffered}]]) *listener_add()*
{unbuffered} |TRUE|. {unbuffered} |TRUE|.
When {unbuffered} is |TRUE| the {callback} is invoked for every When {unbuffered} is |TRUE| the {callback} is invoked for every
single change. The changes list only holds a single dictionary single change. The changes list only holds a single
and the "start", "end" and "added" values in the dictionary are dictionary and the "start", "end" and "added" values in the
the same as the corresponding callback arguments. The line dictionary are the same as the corresponding callback
numbers are valid when the callback is invoked, but later arguments. The line numbers are valid when the callback is
changes may make them invalid, thus keeping a copy for later invoked, but later changes may make them invalid, thus keeping
might not work. a copy for later might not work.
The {callback} is invoked with the text locked, see The {callback} is invoked with the text locked, see
|textlock|. If you do need to make changes to the buffer, use |textlock|. If you do need to make changes to the buffer, use
@ -6966,8 +6977,8 @@ map({expr1}, {expr2}) *map()*
or a new |Blob| or |String|. or a new |Blob| or |String|.
When an error is encountered while evaluating {expr2} no When an error is encountered while evaluating {expr2} no
further items in {expr1} are processed. further items in {expr1} are processed.
When {expr2} is a Funcref errors inside a function are ignored, When {expr2} is a Funcref errors inside a function are
unless it was defined with the "abort" flag. ignored, unless it was defined with the "abort" flag.
Can also be used as a |method|: > Can also be used as a |method|: >
mylist->map(expr2) mylist->map(expr2)
@ -7144,8 +7155,9 @@ mapset({dict})
Restore a mapping from a dictionary, possibly returned by Restore a mapping from a dictionary, possibly returned by
|maparg()| or |maplist()|. A buffer mapping, when dict.buffer |maparg()| or |maplist()|. A buffer mapping, when dict.buffer
is true, is set on the current buffer; it is up to the caller is true, is set on the current buffer; it is up to the caller
to ensure that the intended buffer is the current buffer. This to ensure that the intended buffer is the current buffer.
feature allows copying mappings from one buffer to another. This feature allows copying mappings from one buffer to
another.
The dict.mode value may restore a single mapping that covers The dict.mode value may restore a single mapping that covers
more than one mode, like with mode values of '!', ' ', 'nox', more than one mode, like with mode values of '!', ' ', 'nox',
or 'v'. *E1276* or 'v'. *E1276*
@ -7328,13 +7340,13 @@ matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
these: these:
- A number. This whole line will be highlighted. The first - A number. This whole line will be highlighted. The first
line has number 1. line has number 1.
- A list with one number, e.g., [23]. The whole line with this - A list with one number, e.g., [23]. The whole line with
number will be highlighted. this number will be highlighted.
- A list with two numbers, e.g., [23, 11]. The first number is - A list with two numbers, e.g., [23, 11]. The first number
the line number, the second one is the column number (first is the line number, the second one is the column number
column is 1, the value must correspond to the byte index as (first column is 1, the value must correspond to the byte
|col()| would return). The character at this position will index as |col()| would return). The character at this
be highlighted. position will be highlighted.
- A list with three numbers, e.g., [23, 11, 3]. As above, but - A list with three numbers, e.g., [23, 11, 3]. As above, but
the third number gives the length of the highlight in bytes. the third number gives the length of the highlight in bytes.
@ -7710,11 +7722,11 @@ menu_info({name} [, {mode}]) *menu_info()*
noremenu v:true if the {rhs} of the menu item is not noremenu v:true if the {rhs} of the menu item is not
remappable else v:false. remappable else v:false.
priority menu order priority |menu-priority| priority menu order priority |menu-priority|
rhs right-hand-side of the menu item. The returned rhs right-hand-side of the menu item. The
string has special characters translated like returned string has special characters
in the output of the ":menu" command listing. translated like in the output of the ":menu"
When the {rhs} of a menu item is empty, then command listing. When the {rhs} of a menu
"<Nop>" is returned. item is empty, then "<Nop>" is returned.
script v:true if script-local remapping of {rhs} is script v:true if script-local remapping of {rhs} is
allowed else v:false. See |:menu-script|. allowed else v:false. See |:menu-script|.
shortcut shortcut key (character after '&' in shortcut shortcut key (character after '&' in
@ -7869,8 +7881,8 @@ mode([{expr}]) *mode()*
with |remote_expr()| In most other places it always returns with |remote_expr()| In most other places it always returns
"c" or "n". "c" or "n".
Note that in the future more modes and more specific modes may Note that in the future more modes and more specific modes may
be added. It's better not to compare the whole string but only be added. It's better not to compare the whole string but
the leading character(s). only the leading character(s).
Also see |visualmode()|. Also see |visualmode()|.
Can also be used as a |method|: > Can also be used as a |method|: >
@ -7997,8 +8009,8 @@ pathshorten({path} [, {len}]) *pathshorten()*
perleval({expr}) *perleval()* perleval({expr}) *perleval()*
Evaluate Perl expression {expr} in scalar context and return Evaluate Perl expression {expr} in scalar context and return
its result converted to Vim data structures. If value can't be its result converted to Vim data structures. If value can't
converted, it is returned as a string Perl representation. be converted, it is returned as a string Perl representation.
Note: If you want an array or hash, {expr} must return a Note: If you want an array or hash, {expr} must return a
reference to it. reference to it.
Example: > Example: >
@ -8105,8 +8117,8 @@ printf({fmt}, {expr1} ...) *printf()*
% [pos-argument] [flags] [field-width] [.precision] type % [pos-argument] [flags] [field-width] [.precision] type
pos-argument pos-argument
At most one positional argument specifier. These At most one positional argument specifier. These take
take the form {n$}, where n is >= 1. the form {n$}, where n is >= 1.
flags flags
Zero or more of the following flags: Zero or more of the following flags:
@ -8302,9 +8314,9 @@ printf({fmt}, {expr1} ...) *printf()*
"Bram", "Moolenaar") "Bram", "Moolenaar")
< In Belgium, vim's creator's name is: Moolenaar Bram < In Belgium, vim's creator's name is: Moolenaar Bram
Width (and precision) can be specified using the '*' specifier. Width (and precision) can be specified using the '*'
In this case, you must specify the field width position in the specifier. In this case, you must specify the field width
argument list. > position in the argument list. >
echo printf("%1$*2$.*3$d", 1, 2, 3) echo printf("%1$*2$.*3$d", 1, 2, 3)
< 001 > < 001 >
@ -8891,8 +8903,8 @@ reltimestr({time}) *reltimestr()*
call MyFunction() call MyFunction()
echo reltimestr(reltime(start)) echo reltimestr(reltime(start))
< Note that overhead for the commands will be added to the time. < Note that overhead for the commands will be added to the time.
The accuracy depends on the system. Use reltimefloat() for the The accuracy depends on the system. Use reltimefloat() for
greatest accuracy which is nanoseconds on some systems. the greatest accuracy which is nanoseconds on some systems.
Leading spaces are used to make the string align nicely. You Leading spaces are used to make the string align nicely. You
can use split() to remove it. > can use split() to remove it. >
echo split(reltimestr(reltime(start)))[0] echo split(reltimestr(reltime(start)))[0]
@ -9979,8 +9991,8 @@ setline({lnum}, {text}) *setline()*
converted to a String. When {text} is an empty List then converted to a String. When {text} is an empty List then
nothing is changed and FALSE is returned. nothing is changed and FALSE is returned.
If this succeeds, FALSE is returned. If this fails (most likely If this succeeds, FALSE is returned. If this fails (most
because {lnum} is invalid) TRUE is returned. likely because {lnum} is invalid) TRUE is returned.
In |Vim9| script an error is given if {lnum} is invalid. In |Vim9| script an error is given if {lnum} is invalid.
Example: > Example: >
@ -10103,10 +10115,10 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
argument is ignored. See below for the supported items in argument is ignored. See below for the supported items in
{what}. {what}.
*setqflist-what* *setqflist-what*
When {what} is not present, the items in {list} are used. Each When {what} is not present, the items in {list} are used.
item must be a dictionary. Non-dictionary items in {list} are Each item must be a dictionary. Non-dictionary items in
ignored. Each dictionary item can contain the following {list} are ignored. Each dictionary item can contain the
entries: following entries:
bufnr buffer number; must be the number of a valid bufnr buffer number; must be the number of a valid
buffer buffer
@ -10172,9 +10184,9 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
See |quickfix-parse| See |quickfix-parse|
id quickfix list identifier |quickfix-ID| id quickfix list identifier |quickfix-ID|
idx index of the current entry in the quickfix idx index of the current entry in the quickfix
list specified by 'id' or 'nr'. If set to '$', list specified by 'id' or 'nr'. If set to
then the last entry in the list is set as the '$', then the last entry in the list is set as
current entry. See |quickfix-index| the current entry. See |quickfix-index|
items list of quickfix entries. Same as the {list} items list of quickfix entries. Same as the {list}
argument. argument.
lines use 'errorformat' to parse a list of lines and lines use 'errorformat' to parse a list of lines and
@ -10192,9 +10204,9 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
of how to write the function and an example. of how to write the function and an example.
title quickfix list title text. See |quickfix-title| title quickfix list title text. See |quickfix-title|
Unsupported keys in {what} are ignored. Unsupported keys in {what} are ignored.
If the "nr" item is not present, then the current quickfix list If the "nr" item is not present, then the current quickfix
is modified. When creating a new quickfix list, "nr" can be list is modified. When creating a new quickfix list, "nr" can
set to a value one greater than the quickfix stack size. be set to a value one greater than the quickfix stack size.
When modifying a quickfix list, to guarantee that the correct When modifying a quickfix list, to guarantee that the correct
list is modified, "id" should be used instead of "nr" to list is modified, "id" should be used instead of "nr" to
specify the list. specify the list.
@ -10245,8 +10257,8 @@ setreg({regname}, {value} [, {options}]) *setreg()*
*E883* *E883*
Note: you may not use |List| containing more than one item to Note: you may not use |List| containing more than one item to
set search and expression registers. Lists containing no set search and expression registers. Lists containing
items act like empty strings. no items act like empty strings.
Examples: > Examples: >
:call setreg(v:register, @*) :call setreg(v:register, @*)
@ -10416,8 +10428,8 @@ shellescape({string} [, {special}]) *shellescape()*
escaped a second time. escaped a second time.
The "\" character will be escaped when 'shell' contains "fish" The "\" character will be escaped when 'shell' contains "fish"
in the tail. That is because for fish "\" is used as an escape in the tail. That is because for fish "\" is used as an
character inside single quotes. escape character inside single quotes.
Example of use with a |:!| command: > Example of use with a |:!| command: >
:exe '!dir ' .. shellescape(expand('<cfile>'), 1) :exe '!dir ' .. shellescape(expand('<cfile>'), 1)
@ -10440,9 +10452,10 @@ shiftwidth([{col}]) *shiftwidth()*
did not allow for the optional {col} argument until 8.1.542). did not allow for the optional {col} argument until 8.1.542).
When there is one argument {col} this is used as column number When there is one argument {col} this is used as column number
for which to return the 'shiftwidth' value. This matters for the for which to return the 'shiftwidth' value. This matters for
'vartabstop' feature. If the 'vartabstop' setting is enabled and the 'vartabstop' feature. If the 'vartabstop' setting is
no {col} argument is given, column 1 will be assumed. enabled and no {col} argument is given, column 1 will be
assumed.
Can also be used as a |method|: > Can also be used as a |method|: >
GetColumn()->shiftwidth() GetColumn()->shiftwidth()
@ -10540,11 +10553,11 @@ sort({list} [, {how} [, {dict}]]) *sort()* *E702*
can be used to ignore case. Zero means to not ignore case. can be used to ignore case. Zero means to not ignore case.
When {how} is given and it is 'l' then the current collation When {how} is given and it is 'l' then the current collation
locale is used for ordering. Implementation details: strcoll() locale is used for ordering. Implementation details:
is used to compare strings. See |:language| check or set the strcoll() is used to compare strings. See |:language| check
collation locale. |v:collate| can also be used to check the or set the collation locale. |v:collate| can also be used to
current locale. Sorting using the locale typically ignores check the current locale. Sorting using the locale typically
case. Example: > ignores case. Example: >
" ö is sorted similarly to o with English locale. " ö is sorted similarly to o with English locale.
:language collate en_US.UTF8 :language collate en_US.UTF8
:echo sort(['n', 'o', 'O', 'ö', 'p', 'z'], 'l') :echo sort(['n', 'o', 'O', 'ö', 'p', 'z'], 'l')
@ -10929,7 +10942,8 @@ str2list({string} [, {utf8}]) *str2list()*
str2list("ABC") returns [65, 66, 67] str2list("ABC") returns [65, 66, 67]
< |list2str()| does the opposite. < |list2str()| does the opposite.
When {utf8} is omitted or zero, the current 'encoding' is used. When {utf8} is omitted or zero, the current 'encoding' is
used.
When {utf8} is TRUE, always treat the String as UTF-8 When {utf8} is TRUE, always treat the String as UTF-8
characters. With UTF-8 composing characters are handled characters. With UTF-8 composing characters are handled
properly: > properly: >
@ -11047,7 +11061,8 @@ strdisplaywidth({string} [, {col}]) *strdisplaywidth()*
matters for anything that's displayed differently, such as matters for anything that's displayed differently, such as
'tabstop' and 'display'. 'tabstop' and 'display'.
When {string} contains characters with East Asian Width Class When {string} contains characters with East Asian Width Class
Ambiguous, this function's return value depends on 'ambiwidth'. Ambiguous, this function's return value depends on
'ambiwidth'.
Returns zero on error. Returns zero on error.
Also see |strlen()|, |strwidth()| and |strchars()|. Also see |strlen()|, |strwidth()| and |strchars()|.
@ -11305,7 +11320,8 @@ strwidth({string}) *strwidth()*
String {string} occupies. A Tab character is counted as one String {string} occupies. A Tab character is counted as one
cell, alternatively use |strdisplaywidth()|. cell, alternatively use |strdisplaywidth()|.
When {string} contains characters with East Asian Width Class When {string} contains characters with East Asian Width Class
Ambiguous, this function's return value depends on 'ambiwidth'. Ambiguous, this function's return value depends on
'ambiwidth'.
Returns zero on error. Returns zero on error.
Also see |strlen()|, |strdisplaywidth()| and |strchars()|. Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
@ -11660,10 +11676,10 @@ system({expr} [, {input}]) *system()* *E677*
systemlist({expr} [, {input}]) *systemlist()* systemlist({expr} [, {input}]) *systemlist()*
Same as |system()|, but returns a |List| with lines (parts of Same as |system()|, but returns a |List| with lines (parts of
output separated by NL) with NULs transformed into NLs. Output output separated by NL) with NULs transformed into NLs.
is the same as |readfile()| will output with {binary} argument Output is the same as |readfile()| will output with {binary}
set to "b", except that there is no extra empty item when the argument set to "b", except that there is no extra empty item
result ends in a NL. when the result ends in a NL.
Note that on MS-Windows you may get trailing CR characters. Note that on MS-Windows you may get trailing CR characters.
To see the difference between "echo hello" and "echo -n hello" To see the difference between "echo hello" and "echo -n hello"
@ -12311,8 +12327,9 @@ utf16idx({string}, {idx} [, {countcc} [, {charidx}]])
downwards to the beginning of that sequence. downwards to the beginning of that sequence.
Returns -1 if the arguments are invalid or if there are less Returns -1 if the arguments are invalid or if there are less
than {idx} bytes in {string}. If there are exactly {idx} bytes than {idx} bytes in {string}. If there are exactly {idx}
the length of the string in UTF-16 code units is returned. bytes the length of the string in UTF-16 code units is
returned.
See |byteidx()| and |byteidxcomp()| for getting the byte index See |byteidx()| and |byteidxcomp()| for getting the byte index
from the UTF-16 index and |charidx()| for getting the from the UTF-16 index and |charidx()| for getting the
@ -12613,14 +12630,14 @@ win_move_separator({nr}, {offset}) *win_move_separator()*
win_move_statusline({nr}, {offset}) *win_move_statusline()* win_move_statusline({nr}, {offset}) *win_move_statusline()*
Move window {nr}'s status line (i.e., the bottom border) by Move window {nr}'s status line (i.e., the bottom border) by
{offset} rows, as if being dragged by the mouse. {nr} can be a {offset} rows, as if being dragged by the mouse. {nr} can be
window number or |window-ID|. A positive {offset} moves down a window number or |window-ID|. A positive {offset} moves
and a negative {offset} moves up. Moving a window's status down and a negative {offset} moves up. Moving a window's
line will change the height of the window and the height of status line will change the height of the window and the
other windows adjacent to the status line. The magnitude of height of other windows adjacent to the status line. The
movement may be smaller than specified (e.g., as a consequence magnitude of movement may be smaller than specified (e.g., as
of maintaining 'winminheight'). Returns TRUE if the window can a consequence of maintaining 'winminheight'). Returns TRUE if
be found and FALSE otherwise. the window can be found and FALSE otherwise.
Only works for the current tab page. Only works for the current tab page.
Can also be used as a |method|: > Can also be used as a |method|: >
@ -12825,7 +12842,8 @@ winrestview({dict}) *winrestview()*
This will only set the curswant value (the column the cursor This will only set the curswant value (the column the cursor
wants to move on vertical movements) of the cursor to column 5 wants to move on vertical movements) of the cursor to column 5
(yes, that is 5), while all other settings will remain the (yes, that is 5), while all other settings will remain the
same. This is useful, if you set the cursor position manually. same. This is useful, if you set the cursor position
manually.
If you have changed the values the result is unpredictable. If you have changed the values the result is unpredictable.
If the window size changed the result won't be the same. If the window size changed the result won't be the same.
@ -13233,7 +13251,8 @@ xpm Compiled with pixmap support.
xpm_w32 Compiled with pixmap support for Win32. (Only for xpm_w32 Compiled with pixmap support for Win32. (Only for
backward compatibility. Use "xpm" instead.) backward compatibility. Use "xpm" instead.)
xsmp Compiled with X session management support. xsmp Compiled with X session management support.
xsmp_interact Compiled with interactive X session management support. xsmp_interact Compiled with interactive X session management
support.
xterm_clipboard Compiled with support for xterm clipboard. xterm_clipboard Compiled with support for xterm clipboard.
xterm_save Compiled with support for saving and restoring the xterm_save Compiled with support for saving and restoring the
xterm screen. xterm screen.

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 9.1. Last change: 2025 Aug 06 *change.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1173,9 +1173,9 @@ inside of strings can change! Also see 'softtabstop' option. >
or 'a'. or 'a'.
["x]zp or *zp* *zP* ["x]zp or *zp* *zP*
["x]zP Like "p" and "P", except without adding trailing spaces ["x]zP Like "p" and "P", except without adding trailing
when pasting a block. Thus the inserted text will not spaces when pasting a block. Thus the inserted text
always be a rectangle. Especially useful in will not always be a rectangle. Especially useful in
combination with |v_zy|. combination with |v_zy|.
You can use these commands to copy text from one place to another. Do this You can use these commands to copy text from one place to another. Do this
@ -1291,8 +1291,8 @@ text is less than one line (the small delete register is used then). An
exception is made for the delete operator with these movement commands: |%|, exception is made for the delete operator with these movement commands: |%|,
|(|, |)|, |`|, |/|, |?|, |n|, |N|, |{| and |}|. |(|, |)|, |`|, |/|, |?|, |n|, |N|, |{| and |}|.
Register "1 is always used then (this is Vi compatible). The "- register is Register "1 is always used then (this is Vi compatible). The "- register is
used as well if the delete is within a line. Note that these characters may be used as well if the delete is within a line. Note that these characters may
mapped. E.g. |%| is mapped by the matchit plugin. be mapped. E.g. |%| is mapped by the matchit plugin.
With each successive deletion or change, Vim shifts the previous contents With each successive deletion or change, Vim shifts the previous contents
of register 1 into register 2, 2 into 3, and so forth, losing the previous of register 1 into register 2, 2 into 3, and so forth, losing the previous
contents of register 9. contents of register 9.
@ -1624,8 +1624,8 @@ type of comment string. A part consists of:
{digits} {digits}
When together with 's' or 'e': add {digit} amount of offset to an When together with 's' or 'e': add {digit} amount of offset to an
automatically inserted middle or end comment leader. The offset begins automatically inserted middle or end comment leader. The offset
from a left alignment. See below for more details. begins from a left alignment. See below for more details.
-{digits} -{digits}
Like {digits} but reduce the indent. This only works when there is Like {digits} but reduce the indent. This only works when there is
@ -1687,10 +1687,10 @@ will override the "r" and "l" flag.
Enabling 'cindent' will override the alignment flags in many cases. Enabling 'cindent' will override the alignment flags in many cases.
Reindenting using a different method like |gq| or |=| will not consult Reindenting using a different method like |gq| or |=| will not consult
alignment flags either. The same behaviour can be defined in those other alignment flags either. The same behaviour can be defined in those other
formatting options. One consideration is that 'cindent' has additional options formatting options. One consideration is that 'cindent' has additional
for context based indenting of comments but cannot replicate many three piece options for context based indenting of comments but cannot replicate many
indent alignments. However, 'indentexpr' has the ability to work better with three piece indent alignments. However, 'indentexpr' has the ability to work
three piece comments. better with three piece comments.
Other examples: > Other examples: >
"b:*" Includes lines starting with "*", but not if the "*" is "b:*" Includes lines starting with "*", but not if the "*" is
@ -1825,8 +1825,8 @@ is when the 'a' flag is present. |auto-format|
Note that when 'paste' is on, Vim does no formatting at all. Note that when 'paste' is on, Vim does no formatting at all.
Note that 'textwidth' can be non-zero even if Vim never performs auto-wrapping; Note that 'textwidth' can be non-zero even if Vim never performs
'textwidth' is still useful for formatting with "gq". auto-wrapping; 'textwidth' is still useful for formatting with "gq".
If the 'comments' option includes "/*", "*" and/or "*/", then Vim has some If the 'comments' option includes "/*", "*" and/or "*/", then Vim has some
built in stuff to treat these types of comments a bit more cleverly. built in stuff to treat these types of comments a bit more cleverly.

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 9.1. Last change: 2024 Jul 17 *channel.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -89,7 +89,8 @@ The number will increase every time you send a message.
The server can send a command to Vim. Type this on T1 (literally, including The server can send a command to Vim. Type this on T1 (literally, including
the quotes): the quotes):
["ex","echo 'hi there'"] ~ ["ex","echo 'hi there'"] ~
And you should see the message in Vim. You can move the cursor a word forward: And you should see the message in Vim. You can move the cursor a word
forward:
["normal","w"] ~ ["normal","w"] ~
To handle asynchronous communication a callback needs to be used: > To handle asynchronous communication a callback needs to be used: >
@ -571,7 +572,8 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
Return type: dict<any> or |String| Return type: dict<any> or |String|
ch_getbufnr({handle}, {what}) *ch_getbufnr()* ch_getbufnr({handle}, {what}) *ch_getbufnr()*
Get the buffer number that {handle} is using for String {what}. Get the buffer number that {handle} is using for String
{what}.
{handle} can be a Channel or a Job that has a Channel. {handle} can be a Channel or a Job that has a Channel.
{what} can be "err" for stderr, "out" for stdout or empty for {what} can be "err" for stderr, "out" for stdout or empty for
socket output. socket output.
@ -933,7 +935,8 @@ job_info([{job}]) *job_info()*
Returns a Dictionary with information about {job}: Returns a Dictionary with information about {job}:
"status" what |job_status()| returns "status" what |job_status()| returns
"channel" what |job_getchannel()| returns "channel" what |job_getchannel()| returns
"cmd" List of command arguments used to start the job "cmd" List of command arguments used to start the
job
"process" process ID "process" process ID
"tty_in" terminal input name, empty when none "tty_in" terminal input name, empty when none
"tty_out" terminal output name, empty when none "tty_out" terminal output name, empty when none
@ -985,9 +988,9 @@ job_start({command} [, {options}]) *job_start()*
passed to execvp(). Arguments in double quotes can contain passed to execvp(). Arguments in double quotes can contain
white space. white space.
{command} can be a List, where the first item is the executable {command} can be a List, where the first item is the
and further items are the arguments. All items are converted executable and further items are the arguments. All items are
to String. This works best on Unix. converted to String. This works best on Unix.
On MS-Windows, job_start() makes a GUI application hidden. If On MS-Windows, job_start() makes a GUI application hidden. If
you want to show it, use |:!start| instead. you want to show it, use |:!start| instead.
@ -1339,8 +1342,8 @@ buffer. When pressing Enter in the prompt line the callback set with
Another callback would receive the output from the job and display it in the Another callback would receive the output from the job and display it in the
buffer, below the prompt (and above the next prompt). buffer, below the prompt (and above the next prompt).
Only the text in the last line, after the prompt, is editable. The rest of the Only the text in the last line, after the prompt, is editable. The rest of
buffer is not modifiable with Normal mode commands. It can be modified by the buffer is not modifiable with Normal mode commands. It can be modified by
calling functions, such as |append()|. Using other commands may mess up the calling functions, such as |append()|. Using other commands may mess up the
buffer. buffer.
@ -1509,9 +1512,10 @@ time. If the request times out, then an empty |Dict| is returned. Example: >
... <handle failure> ... <handle failure>
endif endif
Note that in the request message the 'id' field should not be specified. If it Note that in the request message the 'id' field should not be specified. If
is specified, then Vim will overwrite the value with an internally generated it is specified, then Vim will overwrite the value with an internally
identifier. Vim currently supports only a number type for the 'id' field. generated identifier. Vim currently supports only a number type for the 'id'
field.
The callback function will be invoked for both a successful and a failed RPC The callback function will be invoked for both a successful and a failed RPC
request. request.

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 9.1. Last change: 2025 Sep 24 *cmdline.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -162,7 +162,8 @@ CTRL-R {register} *c_CTRL-R* *c_<C-R>*
the last delete or yank the last delete or yank
'%' the current file name '%' the current file name
'#' the alternate file name '#' the alternate file name
'*' the clipboard contents (X11: primary selection) '*' the clipboard contents (X11: primary
selection)
'+' the clipboard contents '+' the clipboard contents
'/' the last search pattern '/' the last search pattern
':' the last command-line ':' the last command-line
@ -440,7 +441,8 @@ CTRL-D List names that match the pattern in front of the cursor.
<S-Tab> does not work everywhere. <S-Tab> does not work everywhere.
*c_CTRL-N* *c_CTRL-N*
CTRL-N After using 'wildchar' which got multiple matches, go to next CTRL-N After using 'wildchar' which got multiple matches, go to next
match. Otherwise recall more recent command-line from history. match. Otherwise recall more recent command-line from
history.
*c_CTRL-P* *c_CTRL-P*
CTRL-P After using 'wildchar' which got multiple matches, go to CTRL-P After using 'wildchar' which got multiple matches, go to
previous match. Otherwise recall older command-line from previous match. Otherwise recall older command-line from
@ -728,9 +730,9 @@ See also |`=|.
*:_!* *:_!*
The '!' (bang) character after an Ex command makes the command behave in a The '!' (bang) character after an Ex command makes the command behave in a
different way. The '!' should be placed immediately after the command, without different way. The '!' should be placed immediately after the command,
any blanks in between. If you insert blanks the '!' will be seen as an without any blanks in between. If you insert blanks the '!' will be seen as
argument for the command, which has a different meaning. For example: an argument for the command, which has a different meaning. For example:
:w! name write the current buffer to file "name", overwriting :w! name write the current buffer to file "name", overwriting
any existing file any existing file
:w !name send the current buffer as standard input to command :w !name send the current buffer as standard input to command
@ -1105,8 +1107,9 @@ Note: these are typed literally, they are not special keys!
*filename-modifiers* *filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S* *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S* *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>", The file name modifiers can be used after "%", "#", "#n", "<cfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function. "<sfile>", "<afile>" or "<abuf>". They are also used with the |fnamemodify()|
function.
These modifiers can be given, in this order: These modifiers can be given, in this order:
:p Make file name a full path. Must be the first modifier. Also :p Make file name a full path. Must be the first modifier. Also
@ -1240,9 +1243,9 @@ Therefore "\file\foo" is a valid file name, you don't have to type the
backslash twice. backslash twice.
An exception is the '$' sign. It is a valid character in a file name. But An exception is the '$' sign. It is a valid character in a file name. But
to avoid a file name like "$home" to be interpreted as an environment variable, to avoid a file name like "$home" to be interpreted as an environment
it needs to be preceded by a backslash. Therefore you need to use "/\$home" variable, it needs to be preceded by a backslash. Therefore you need to use
for the file "$home" in the root directory. A few examples: "/\$home" for the file "$home" in the root directory. A few examples:
FILE NAME INTERPRETED AS ~ FILE NAME INTERPRETED AS ~
$home expanded to value of environment var $home $home expanded to value of environment var $home

View File

@ -1,4 +1,4 @@
*debug.txt* For Vim version 9.1. Last change: 2025 Aug 10 *debug.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -132,10 +132,10 @@ choose Attach to a Process. Select the Vim process and click OK.
At this point, choose Symbol File Path on the File menu, and add the folder At this point, choose Symbol File Path on the File menu, and add the folder
containing your Vim PDB to the sympath. If you have Vim source available, containing your Vim PDB to the sympath. If you have Vim source available,
use Source File Path on the File menu. You can now open source files in WinDbg use Source File Path on the File menu. You can now open source files in
and set breakpoints, if you like. Reproduce your crash. WinDbg should open the WinDbg and set breakpoints, if you like. Reproduce your crash. WinDbg should
source file at the point of the crash. Using the View menu, you can examine open the source file at the point of the crash. Using the View menu, you can
the call stack, local variables, watch windows, and so on. examine the call stack, local variables, watch windows, and so on.
If WinDbg is your postmortem debugger, you do not need to attach WinDbg to If WinDbg is your postmortem debugger, you do not need to attach WinDbg to
your Vim process. Simply reproduce the crash and WinDbg will launch your Vim process. Simply reproduce the crash and WinDbg will launch
@ -153,8 +153,8 @@ In Visual Studio 2005: on the File menu, choose Open, then Project/Solution.
Navigate to the .dmp file and open it. Now press F5 to invoke the debugger. Navigate to the .dmp file and open it. Now press F5 to invoke the debugger.
Follow the instructions in |debug-vs2005| to set the Symbol File Path. Follow the instructions in |debug-vs2005| to set the Symbol File Path.
In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions
|debug-windbg| to set the Symbol File Path. in |debug-windbg| to set the Symbol File Path.
*get-ms-debuggers* *get-ms-debuggers*
3.5 Obtaining Microsoft Debugging Tools ~ 3.5 Obtaining Microsoft Debugging Tools ~

View File

@ -1,4 +1,4 @@
*debugger.txt* For Vim version 9.1. Last change: 2019 Dec 21 *debugger.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Gordon Prieur VIM REFERENCE MANUAL by Gordon Prieur
@ -51,9 +51,9 @@ Many debuggers mark specific lines by placing a small sign or color highlight
on the line. The |:sign| command lets the debugger set this graphic mark. Some on the line. The |:sign| command lets the debugger set this graphic mark. Some
examples where this feature would be used would be a debugger showing an arrow examples where this feature would be used would be a debugger showing an arrow
representing the Program Counter (PC) of the program being debugged. Another representing the Program Counter (PC) of the program being debugged. Another
example would be a small stop sign for a line with a breakpoint. These visible example would be a small stop sign for a line with a breakpoint. These
highlights let the user keep track of certain parts of the state of the visible highlights let the user keep track of certain parts of the state of
debugger. the debugger.
This feature can be used with more than debuggers, too. An IPE can use a sign This feature can be used with more than debuggers, too. An IPE can use a sign
to highlight build errors, searched text, or other things. The sign feature to highlight build errors, searched text, or other things. The sign feature

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 9.1. Last change: 2025 Sep 15 *diff.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -74,7 +74,8 @@ See `:diffoff` for an easy way to revert the options.
The differences shown are actually the differences in the buffer. Thus if you The differences shown are actually the differences in the buffer. Thus if you
make changes after loading a file, these will be included in the displayed make changes after loading a file, these will be included in the displayed
diffs. You might have to do ":diffupdate" now and then, not all changes are diffs. You might have to do ":diffupdate" now and then, not all changes are
immediately taken into account, especially when using an external diff command. immediately taken into account, especially when using an external diff
command.
In your .vimrc file you could do something special when Vim was started in In your .vimrc file you could do something special when Vim was started in
diff mode. You could use a construct like this: > diff mode. You could use a construct like this: >

View File

@ -1,4 +1,4 @@
*digraph.txt* For Vim version 9.1. Last change: 2025 Aug 16 *digraph.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 9.1. Last change: 2025 Oct 11 *editing.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -134,11 +134,11 @@ set, Vim renames or copies the original file before it will be overwritten.
You can use this file if you discover that you need the original file. See You can use this file if you discover that you need the original file. See
also the 'patchmode' option. The name of the backup file is normally the same also the 'patchmode' option. The name of the backup file is normally the same
as the original file with 'backupext' appended. The default "~" is a bit as the original file with 'backupext' appended. The default "~" is a bit
strange to avoid accidentally overwriting existing files. If you prefer ".bak" strange to avoid accidentally overwriting existing files. If you prefer
change the 'backupext' option. Extra dots are replaced with '_' on MS-Windows ".bak" change the 'backupext' option. Extra dots are replaced with '_' on
machines, when Vim has detected that an MS-DOS-like filesystem is being used MS-Windows machines, when Vim has detected that an MS-DOS-like filesystem is
(e.g., messydos or crossdos) or when the 'shortname' option is on. The being used (e.g., messydos or crossdos) or when the 'shortname' option is on.
backup file can be placed in another directory by setting 'backupdir'. The backup file can be placed in another directory by setting 'backupdir'.
*auto-shortname* *auto-shortname*
Technical: On the Amiga you can use 30 characters for a file name. But on an Technical: On the Amiga you can use 30 characters for a file name. But on an
@ -1459,8 +1459,8 @@ When a |:tcd| command has been used for a tab page, the specified directory
becomes the current directory for the current tab page and the current window. becomes the current directory for the current tab page and the current window.
The current directory of other tab pages is not affected. When jumping to The current directory of other tab pages is not affected. When jumping to
another tab page, the current directory is changed to the last specified local another tab page, the current directory is changed to the last specified local
directory for that tab page. If the current tab has no local current directory directory for that tab page. If the current tab has no local current
the global current directory is used. directory the global current directory is used.
When a |:cd| command is used, the current window and tab page will lose the When a |:cd| command is used, the current window and tab page will lose the
local current directory and will use the global current directory from now on. local current directory and will use the global current directory from now on.
@ -1744,24 +1744,24 @@ ask if you really want to overwrite the file:
WARNING: The file has been changed since reading it!!! WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)? Do you really want to write to it (y/n)?
If you hit 'y' Vim will continue writing the file. If you hit 'n' the write is If you hit 'y' Vim will continue writing the file. If you hit 'n' the write
aborted. If you used ":wq" or "ZZ" Vim will not exit, you will get another is aborted. If you used ":wq" or "ZZ" Vim will not exit, you will get another
chance to write the file. chance to write the file.
The message would normally mean that somebody has written to the file after The message would normally mean that somebody has written to the file after
the edit session started. This could be another person, in which case you the edit session started. This could be another person, in which case you
probably want to check if your changes to the file and the changes from the probably want to check if your changes to the file and the changes from the
other person should be merged. Write the file under another name and check for other person should be merged. Write the file under another name and check
differences (the "diff" program can be used for this). for differences (the "diff" program can be used for this).
It is also possible that you modified the file yourself, from another edit It is also possible that you modified the file yourself, from another edit
session or with another command (e.g., a filter command). Then you will know session or with another command (e.g., a filter command). Then you will know
which version of the file you want to keep. which version of the file you want to keep.
The accuracy of the time check depends on the filesystem. On Unix it is The accuracy of the time check depends on the filesystem. On Unix it is
usually sub-second. With old file systems and on MS-Windows it is normally one usually sub-second. With old file systems and on MS-Windows it is normally
second. Use `has('nanotime')` to check if sub-second time stamp checks are one second. Use `has('nanotime')` to check if sub-second time stamp checks
available. are available.
There is one situation where you get the message while there is nothing wrong: There is one situation where you get the message while there is nothing wrong:
On a Win32 system on the day daylight saving time starts. There is something On a Win32 system on the day daylight saving time starts. There is something
@ -1791,8 +1791,8 @@ There are three different types of searching:
- It ONLY matches directories. - It ONLY matches directories.
- It matches up to 30 directories deep by default, so you can use it to - It matches up to 30 directories deep by default, so you can use it to
search an entire directory tree search an entire directory tree
- The maximum number of levels matched can be given by appending a number - The maximum number of levels matched can be given by appending a
to '**'. number to '**'.
Thus '/usr/**2' can match: > Thus '/usr/**2' can match: >
/usr /usr
/usr/include /usr/include

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.1. Last change: 2025 Sep 25 *eval.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1536,8 +1536,8 @@ byte under the cursor: >
In |Vim9| script: *E1147* *E1148* In |Vim9| script: *E1147* *E1148*
If expr10 is a String this results in a String that contains the expr1'th If expr10 is a String this results in a String that contains the expr1'th
single character (including any composing characters) from expr10. To use byte single character (including any composing characters) from expr10. To use
indexes use |strpart()|. byte indexes use |strpart()|.
Index zero gives the first byte or character. Careful: text column numbers Index zero gives the first byte or character. Careful: text column numbers
start with one! start with one!
@ -1786,8 +1786,8 @@ A string constant accepts these special characters:
Don't use <Char-xxxx> to get a UTF-8 character, use \uxxxx as Don't use <Char-xxxx> to get a UTF-8 character, use \uxxxx as
mentioned above. mentioned above.
\<*xxx> Like \<xxx> but prepends a modifier instead of including it in the \<*xxx> Like \<xxx> but prepends a modifier instead of including it in the
character. E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is four character. E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is
bytes: 3 for the CTRL modifier and then character "W". four bytes: 3 for the CTRL modifier and then character "W".
Note that "\xff" is stored as the byte 255, which may be invalid in some Note that "\xff" is stored as the byte 255, which may be invalid in some
encodings. Use "\u00ff" to store character 255 according to the current value encodings. Use "\u00ff" to store character 255 according to the current value
@ -2198,8 +2198,8 @@ v:beval_col The number of the column, over which the mouse pointer is.
Only valid while evaluating the 'balloonexpr' option. Only valid while evaluating the 'balloonexpr' option.
*v:beval_bufnr* *beval_bufnr-variable* *v:beval_bufnr* *beval_bufnr-variable*
v:beval_bufnr The number of the buffer, over which the mouse pointer is. Only v:beval_bufnr The number of the buffer, over which the mouse pointer is.
valid while evaluating the 'balloonexpr' option. Only valid while evaluating the 'balloonexpr' option.
*v:beval_lnum* *beval_lnum-variable* *v:beval_lnum* *beval_lnum-variable*
v:beval_lnum The number of the line, over which the mouse pointer is. Only v:beval_lnum The number of the line, over which the mouse pointer is. Only
@ -2215,9 +2215,9 @@ v:beval_text The text under or after the mouse pointer. Usually a word as
Only valid while evaluating the 'balloonexpr' option. Only valid while evaluating the 'balloonexpr' option.
*v:beval_winnr* *beval_winnr-variable* *v:beval_winnr* *beval_winnr-variable*
v:beval_winnr The number of the window, over which the mouse pointer is. Only v:beval_winnr The number of the window, over which the mouse pointer is.
valid while evaluating the 'balloonexpr' option. The first Only valid while evaluating the 'balloonexpr' option. The
window has number zero (unlike most other places where a first window has number zero (unlike most other places where a
window gets a number). window gets a number).
*v:beval_winid* *beval_winid-variable* *v:beval_winid* *beval_winid-variable*
@ -2280,8 +2280,8 @@ v:collate The current locale setting for collation order of the runtime
See |multi-lang|. See |multi-lang|.
*v:colornames* *v:colornames*
v:colornames A dictionary that maps color names to hex color strings. These v:colornames A dictionary that maps color names to hex color strings.
color names can be used with the |highlight-guifg|, These color names can be used with the |highlight-guifg|,
|highlight-guibg|, and |highlight-guisp| parameters. |highlight-guibg|, and |highlight-guisp| parameters.
The key values in the dictionary (the color names) should be The key values in the dictionary (the color names) should be
@ -2289,8 +2289,8 @@ v:colornames A dictionary that maps color names to hex color strings. These
name. name.
Updating an entry in v:colornames has no immediate effect on Updating an entry in v:colornames has no immediate effect on
the syntax highlighting. The highlight commands (probably in a the syntax highlighting. The highlight commands (probably in
colorscheme script) need to be re-evaluated in order to use a colorscheme script) need to be re-evaluated in order to use
the updated color values. For example: > the updated color values. For example: >
:let v:colornames['fuscia'] = '#cf3ab4' :let v:colornames['fuscia'] = '#cf3ab4'
@ -2322,8 +2322,8 @@ v:colornames A dictionary that maps color names to hex color strings. These
color scripts. color scripts.
You can make changes to that file, but make sure to add new You can make changes to that file, but make sure to add new
keys instead of updating existing ones, otherwise Vim will skip keys instead of updating existing ones, otherwise Vim will
loading the file (thinking it hasn't been changed). skip loading the file (thinking it hasn't been changed).
*v:completed_item* *completed_item-variable* *v:completed_item* *completed_item-variable*
v:completed_item v:completed_item
@ -2641,8 +2641,8 @@ v:option_new New value of the option. Valid while executing an |OptionSet|
autocommand. autocommand.
*v:option_old* *v:option_old*
v:option_old Old value of the option. Valid while executing an |OptionSet| v:option_old Old value of the option. Valid while executing an |OptionSet|
autocommand. Depending on the command used for setting and the autocommand. Depending on the command used for setting and
kind of option this is either the local old value or the the kind of option this is either the local old value or the
global old value. global old value.
*v:option_oldlocal* *v:option_oldlocal*
v:option_oldlocal v:option_oldlocal
@ -2871,9 +2871,9 @@ v:termresponse The escape sequence returned by the terminal for the |t_RV|
terminal. The TermResponseAll event is also fired, with terminal. The TermResponseAll event is also fired, with
<amatch> set to "version". You can use |terminalprops()| to <amatch> set to "version". You can use |terminalprops()| to
see what Vim figured out about the terminal. see what Vim figured out about the terminal.
The response from a new xterm is: "<Esc>[> Pp ; Pv ; Pc c". Pp The response from a new xterm is: "<Esc>[> Pp ; Pv ; Pc c".
is the terminal type: 0 for vt100 and 1 for vt220. Pv is the Pp is the terminal type: 0 for vt100 and 1 for vt220. Pv is
patch level (since this was introduced in patch 95, it's the patch level (since this was introduced in patch 95, it's
always 95 or higher). Pc is always zero. always 95 or higher). Pc is always zero.
If Pv is 141 or higher then Vim will try to request terminal If Pv is 141 or higher then Vim will try to request terminal
codes. This only works with xterm |xterm-codes|. codes. This only works with xterm |xterm-codes|.
@ -2991,7 +2991,8 @@ v:vim_did_enter Zero until most of startup is done. It is set to one just
before |VimEnter| autocommands are triggered. before |VimEnter| autocommands are triggered.
*v:warningmsg* *warningmsg-variable* *v:warningmsg* *warningmsg-variable*
v:warningmsg Last given warning message. It's allowed to set this variable. v:warningmsg Last given warning message. It's allowed to set this
variable.
*v:wayland_display* *wayland_display-variable* *v:wayland_display* *wayland_display-variable*
v:wayland_display v:wayland_display
@ -3289,7 +3290,8 @@ text...
END END
< There can be multiple Vim expressions in a single line < There can be multiple Vim expressions in a single line
but an expression cannot span multiple lines. If any but an expression cannot span multiple lines. If any
expression evaluation fails, then the assignment fails. expression evaluation fails, then the assignment
fails.
{endmarker} must not contain white space. {endmarker} must not contain white space.
{endmarker} cannot start with a lower case character. {endmarker} cannot start with a lower case character.

View File

@ -1,4 +1,4 @@
*filetype.txt* For Vim version 9.1. Last change: 2025 Sep 24 *filetype.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -530,12 +530,13 @@ g:changelog_new_date_format
%% insert a single '%' character %% insert a single '%' character
%d insert the date from above %d insert the date from above
%u insert the user from above %u insert the user from above
%p insert result of b:changelog_entry_prefix %p insert result of
b:changelog_entry_prefix
%c where to position cursor when done %c where to position cursor when done
The default is "%d %u\n\n\t* %p%c\n\n", which produces The default is "%d %u\n\n\t* %p%c\n\n", which
something like (| is where cursor will be, unless at produces something like (| is where cursor will be,
the start of the line where it denotes the beginning unless at the start of the line where it denotes the
of the line) > beginning of the line) >
|2003-01-14 Full Name <user@host> |2003-01-14 Full Name <user@host>
| |
| * prefix| | * prefix|
@ -544,7 +545,8 @@ g:changelog_new_entry_format
The format used when creating a new entry. The format used when creating a new entry.
The following table describes special tokens in the The following table describes special tokens in the
string: string:
%p insert result of b:changelog_entry_prefix %p insert result of
b:changelog_entry_prefix
%c where to position cursor when done %c where to position cursor when done
The default is "\t*%c", which produces something The default is "\t*%c", which produces something
similar to > similar to >
@ -604,8 +606,9 @@ Options:
'expandtab' is switched on to avoid tabs as required by the Fortran 'expandtab' is switched on to avoid tabs as required by the Fortran
standards unless the user has set fortran_have_tabs in .vimrc. standards unless the user has set fortran_have_tabs in .vimrc.
'textwidth' is set to 80 for fixed source format whereas it is set to 132 'textwidth' is set to 80 for fixed source format whereas it is set to 132
for free source format. Setting the fortran_extended_line_length for free source format. Setting the
variable increases the width to 132 for fixed source format. fortran_extended_line_length variable increases the width to
132 for fixed source format.
'formatoptions' is set to break code and comment lines and to preserve long 'formatoptions' is set to break code and comment lines and to preserve long
lines. You can format comments with |gq|. lines. You can format comments with |gq|.
For further discussion of fortran_have_tabs and the method used for the For further discussion of fortran_have_tabs and the method used for the
@ -981,8 +984,8 @@ your |vimrc|: >
let rmd_include_html = 1 let rmd_include_html = 1
The 'formatexpr' option is set dynamically with different values for R code The 'formatexpr' option is set dynamically with different values for R code
and for Markdown code. If you prefer that 'formatexpr' is not set, add to your and for Markdown code. If you prefer that 'formatexpr' is not set, add to
|vimrc|: > your |vimrc|: >
let rmd_dynamic_comments = 0 let rmd_dynamic_comments = 0

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 9.1. Last change: 2025 Aug 10 *gui.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1019,8 +1019,8 @@ The tip is defined like this: >
And delete it with: > And delete it with: >
:tunmenu MyMenu.Hello :tunmenu MyMenu.Hello
Tooltips are currently only supported for the X11 and Win32 GUI. However, they Tooltips are currently only supported for the X11 and Win32 GUI. However,
should appear for the other gui platforms in the not too distant future. they should appear for the other gui platforms in the not too distant future.
The ":tmenu" command works just like other menu commands, it uses the same The ":tmenu" command works just like other menu commands, it uses the same
arguments. ":tunmenu" deletes an existing menu tip, in the same way as the arguments. ":tunmenu" deletes an existing menu tip, in the same way as the

View File

@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 9.1. Last change: 2025 Sep 22 *gui_x11.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 9.1. Last change: 2025 Sep 29 *helphelp.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -297,9 +297,9 @@ the following pattern is used: >
^\w\+@\w\+:\f\+\$\s ^\w\+@\w\+:\f\+\$\s
This is meant to match a default bash prompt. If it doesn't match your prompt, This is meant to match a default bash prompt. If it doesn't match your
you can change the regex with the `shell_prompt` key from the `g:helptoc` prompt, you can change the regex with the `shell_prompt` key from the
dictionary variable: > `g:helptoc` dictionary variable: >
let g:helptoc = {'shell_prompt': 'regex matching your shell prompt'} let g:helptoc = {'shell_prompt': 'regex matching your shell prompt'}
@ -456,8 +456,8 @@ This will highlight the column heading in a different color. E.g.
Column heading~ Column heading~
To separate sections in a help file, place a series of '=' characters in a To separate sections in a help file, place a series of '=' characters in a
line starting from the first column. The section separator line is highlighted line starting from the first column. The section separator line is
differently. highlighted differently.
To quote a block of ex-commands verbatim, place a greater than (>) character To quote a block of ex-commands verbatim, place a greater than (>) character
at the end of the line before the block and a less than (<) character as the at the end of the line before the block and a less than (<) character as the

View File

@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 9.1. Last change: 2025 Aug 10 *if_cscop.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Andy Kahn VIM REFERENCE MANUAL by Andy Kahn

View File

@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 9.1. Last change: 2021 Aug 06 *if_lua.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Luis Carvalho VIM REFERENCE MANUAL by Luis Carvalho
@ -96,8 +96,8 @@ Examples:
< <
All these commands execute a Lua chunk from either the command line (:lua and All these commands execute a Lua chunk from either the command line (:lua and
:luado) or a file (:luafile) with the given line [range]. Similarly to the Lua :luado) or a file (:luafile) with the given line [range]. Similarly to the
interpreter, each chunk has its own scope and so only global variables are Lua interpreter, each chunk has its own scope and so only global variables are
shared between command calls. All Lua default libraries are available. In shared between command calls. All Lua default libraries are available. In
addition, Lua "print" function has its output redirected to the Vim message addition, Lua "print" function has its output redirected to the Vim message
area, with arguments separated by a white space instead of a tab. area, with arguments separated by a white space instead of a tab.
@ -112,9 +112,9 @@ position are restricted when the command is executed in the |sandbox|.
2. The vim module *lua-vim* 2. The vim module *lua-vim*
Lua interfaces Vim through the "vim" module. The first and last line of the Lua interfaces Vim through the "vim" module. The first and last line of the
input range are stored in "vim.firstline" and "vim.lastline" respectively. The input range are stored in "vim.firstline" and "vim.lastline" respectively.
module also includes routines for buffer, window, and current line queries, The module also includes routines for buffer, window, and current line
Vim evaluation and command execution, and others. queries, Vim evaluation and command execution, and others.
vim.list([arg]) Returns an empty list or, if "arg" is a Lua vim.list([arg]) Returns an empty list or, if "arg" is a Lua
table with numeric keys 1, ..., n (a table with numeric keys 1, ..., n (a
@ -153,10 +153,10 @@ Vim evaluation and command execution, and others.
vim.buffer([arg]) If "arg" is a number, returns buffer with vim.buffer([arg]) If "arg" is a number, returns buffer with
number "arg" in the buffer list or, if "arg" number "arg" in the buffer list or, if "arg"
is a string, returns buffer whose full or short is a string, returns buffer whose full or
name is "arg". In both cases, returns 'nil' short name is "arg". In both cases, returns
(nil value, not string) if the buffer is not 'nil' (nil value, not string) if the buffer is
found. Otherwise, if "toboolean(arg)" is not found. Otherwise, if "toboolean(arg)" is
'true' returns the first buffer in the buffer 'true' returns the first buffer in the buffer
list or else the current buffer. list or else the current buffer.
@ -166,8 +166,8 @@ Vim evaluation and command execution, and others.
is 'true' returns the first window or else the is 'true' returns the first window or else the
current window. current window.
vim.type({arg}) Returns the type of {arg}. It is equivalent to vim.type({arg}) Returns the type of {arg}. It is equivalent
Lua's "type" function, but returns "list", to Lua's "type" function, but returns "list",
"dict", "funcref", "buffer", or "window" if "dict", "funcref", "buffer", or "window" if
{arg} is a list, dictionary, funcref, buffer, {arg} is a list, dictionary, funcref, buffer,
or window, respectively. Examples: > or window, respectively. Examples: >
@ -203,16 +203,16 @@ Vim evaluation and command execution, and others.
vim.beep() Beeps. vim.beep() Beeps.
vim.open({fname}) Opens a new buffer for file {fname} and vim.open({fname}) Opens a new buffer for file {fname} and
returns it. Note that the buffer is not set as returns it. Note that the buffer is not set
current. as current.
vim.call({name} [, {args}]) vim.call({name} [, {args}])
Proxy to call Vim function named {name} with Proxy to call Vim function named {name} with
arguments {args}. Example: > arguments {args}. Example: >
:lua print(vim.call('has', 'timers')) :lua print(vim.call('has', 'timers'))
< <
vim.fn Proxy to call Vim functions. Proxy methods are vim.fn Proxy to call Vim functions. Proxy methods
created on demand. Example: > are created on demand. Example: >
:lua print(vim.fn.has('timers')) :lua print(vim.fn.has('timers'))
< <
vim.lua_version The Lua version Vim was compiled with, in the vim.lua_version The Lua version Vim was compiled with, in the
@ -260,8 +260,8 @@ vim.v *vim.v*
3. List userdata *lua-list* 3. List userdata *lua-list*
List userdata represent vim lists, and the interface tries to follow closely List userdata represent vim lists, and the interface tries to follow closely
Vim's syntax for lists. Since lists are objects, changes in list references in Vim's syntax for lists. Since lists are objects, changes in list references
Lua are reflected in Vim and vice-versa. A list "l" has the following in Lua are reflected in Vim and vice-versa. A list "l" has the following
properties and methods: properties and methods:
NOTE: In patch 8.2.1066 array indexes were changed from zero-based to NOTE: In patch 8.2.1066 array indexes were changed from zero-based to
@ -312,8 +312,8 @@ Examples:
4. Dict userdata *lua-dict* 4. Dict userdata *lua-dict*
Similarly to list userdata, dict userdata represent vim dictionaries; since Similarly to list userdata, dict userdata represent vim dictionaries; since
dictionaries are also objects, references are kept between Lua and Vim. A dict dictionaries are also objects, references are kept between Lua and Vim. A
"d" has the following properties: dict "d" has the following properties:
Properties Properties
---------- ----------
@ -408,8 +408,8 @@ can be accessed in Vim scripts. Example:
============================================================================== ==============================================================================
7. Buffer userdata *lua-buffer* 7. Buffer userdata *lua-buffer*
Buffer userdata represent vim buffers. A buffer userdata "b" has the following Buffer userdata represent vim buffers. A buffer userdata "b" has the
properties and methods: following properties and methods:
Properties Properties
---------- ----------
@ -494,7 +494,8 @@ Examples:
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
"luaeval". "luaeval" takes an expression string and an optional argument and "luaeval". "luaeval" takes an expression string and an optional argument and
returns the result of the expression. It is semantically equivalent in Lua to: returns the result of the expression. It is semantically equivalent in Lua
to:
> >
local chunkheader = "local _A = select(1, ...) return " local chunkheader = "local _A = select(1, ...) return "
function luaeval (expstr, arg) function luaeval (expstr, arg)

View File

@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 9.1. Last change: 2020 Oct 14 *if_mzsch.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Sergey Khorev VIM REFERENCE MANUAL by Sergey Khorev
@ -150,9 +150,9 @@ Auto-instantiation of vimext module (can be placed in your |vimrc|): >
============================================================================== ==============================================================================
3. Threads *mzscheme-threads* 3. Threads *mzscheme-threads*
The MzScheme interface supports threads. They are independent from OS threads, The MzScheme interface supports threads. They are independent from OS
thus scheduling is required. The option 'mzquantum' determines how often threads, thus scheduling is required. The option 'mzquantum' determines how
Vim should poll for available MzScheme threads. often Vim should poll for available MzScheme threads.
NOTE NOTE
Thread scheduling in the console version of Vim is less reliable than in the Thread scheduling in the console version of Vim is less reliable than in the
GUI version. GUI version.
@ -197,8 +197,8 @@ Buffers *mzscheme-buffer*
(get-buff-line {linenr} [buffer]) (get-buff-line {linenr} [buffer])
Get line from a buffer. Get line from a buffer.
(set-buff-line {linenr} {string} [buffer]) (set-buff-line {linenr} {string} [buffer])
Set a line in a buffer. If {string} is #f, Set a line in a buffer. If {string} is
the line gets deleted. The [buffer] #f, the line gets deleted. The [buffer]
argument is optional. If omitted, the argument is optional. If omitted, the
current buffer will be used. current buffer will be used.
(get-buff-line-list {start} {end} [buffer]) (get-buff-line-list {start} {end} [buffer])
@ -217,8 +217,9 @@ Buffers *mzscheme-buffer*
Insert a list of lines into a buffer after Insert a list of lines into a buffer after
{linenr}. If {linenr} is 0, lines will be {linenr}. If {linenr} is 0, lines will be
inserted at start. inserted at start.
(curr-buff) Get the current buffer. Use other MzScheme (curr-buff) Get the current buffer. Use other
interface procedures to change it. MzScheme interface procedures to change
it.
(buff-count) Get count of total buffers in the editor. (buff-count) Get count of total buffers in the editor.
(get-next-buff [buffer]) Get next buffer. (get-next-buff [buffer]) Get next buffer.
(get-prev-buff [buffer]) Get previous buffer. Return #f when there (get-prev-buff [buffer]) Get previous buffer. Return #f when there

View File

@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 9.1. Last change: 2025 Oct 04 *if_perl.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Sven Verdoolaege VIM REFERENCE MANUAL by Sven Verdoolaege
@ -17,9 +17,9 @@ Perl and Vim *perl* *Perl*
1. Editing Perl files *perl-editing* 1. Editing Perl files *perl-editing*
Vim syntax highlighting supports Perl and POD files. Vim assumes a file is Vim syntax highlighting supports Perl and POD files. Vim assumes a file is
Perl code if the filename has a .pl or .pm suffix. Vim also examines the first Perl code if the filename has a .pl or .pm suffix. Vim also examines the
line of a file, regardless of the filename suffix, to check if a file is a first line of a file, regardless of the filename suffix, to check if a file is
Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file a Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file
is POD text if the filename has a .POD suffix. is POD text if the filename has a .POD suffix.
To use tags with Perl, you need Universal/Exuberant Ctags. Look here: To use tags with Perl, you need Universal/Exuberant Ctags. Look here:
@ -90,9 +90,9 @@ To see what version of Perl you have: >
*:perldo* *:perld* *:perldo* *:perld*
:[range]perld[o] {cmd} Execute Perl command {cmd} for each line in the :[range]perld[o] {cmd} Execute Perl command {cmd} for each line in the
[range], with $_ being set to the text of each line in [range], with $_ being set to the text of each line in
turn, without a trailing <EOL>. Setting $_ will change turn, without a trailing <EOL>. Setting $_ will
the text, but note that it is not possible to add or change the text, but note that it is not possible to
delete lines using this command. add or delete lines using this command.
The default for [range] is the whole file: "1,$". The default for [range] is the whole file: "1,$".
Here are some things you can try: > Here are some things you can try: >
@ -296,8 +296,8 @@ version of the shared library must match the Perl version Vim was compiled
with. with.
Note: If you are building Perl locally, you have to use a version compiled Note: If you are building Perl locally, you have to use a version compiled
with threading support for it for Vim to successfully link against it. You can with threading support for it for Vim to successfully link against it. You
use the `-Dusethreads` flags when configuring Perl, and check that a Perl can use the `-Dusethreads` flags when configuring Perl, and check that a Perl
binary has it enabled by running `perl -V` and verify that `USE_ITHREADS` is binary has it enabled by running `perl -V` and verify that `USE_ITHREADS` is
under "Compile-time options". under "Compile-time options".

View File

@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 9.1. Last change: 2025 Mar 26 *if_pyth.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Paul Moore VIM REFERENCE MANUAL by Paul Moore
@ -318,8 +318,8 @@ vim.options *python-options*
getting items) providing a read-write access to global options. getting items) providing a read-write access to global options.
Note: unlike |:set| this provides access only to global options. You Note: unlike |:set| this provides access only to global options. You
cannot use this object to obtain or set local options' values or cannot use this object to obtain or set local options' values or
access local-only options in any fashion. Raises KeyError if no global access local-only options in any fashion. Raises KeyError if no
option with such name exists (i.e. does not raise KeyError for global option with such name exists (i.e. does not raise KeyError for
|global-local| options and global only options, but does for window- |global-local| options and global only options, but does for window-
and buffer-local ones). Use |python-buffer| objects to access to and buffer-local ones). Use |python-buffer| objects to access to
buffer-local options and |python-window| objects to access to buffer-local options and |python-window| objects to access to
@ -340,8 +340,8 @@ Output from Python *python-output*
*python-input* *python-input*
Input (via sys.stdin, including input() and raw_input()) is not Input (via sys.stdin, including input() and raw_input()) is not
supported, and may cause the program to crash. This should probably be supported, and may cause the program to crash. This should probably
fixed. be fixed.
*python2-directory* *python3-directory* *pythonx-directory* *python2-directory* *python3-directory* *pythonx-directory*
Python 'runtimepath' handling *python-special-path* Python 'runtimepath' handling *python-special-path*
@ -404,8 +404,8 @@ Implementation is similar to the following, but written in C: >
vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH* vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH*
String constant used in conjunction with vim path hook. If path hook String constant used in conjunction with vim path hook. If path hook
installed by vim is requested to handle anything but path equal to installed by vim is requested to handle anything but path equal to
vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only
case it uses special loader. other case it uses special loader.
Note: you must not use value of this constant directly, always use Note: you must not use value of this constant directly, always use
vim.VIM_SPECIAL_PATH object. vim.VIM_SPECIAL_PATH object.
@ -431,7 +431,8 @@ vim._get_paths *python-_get_paths*
============================================================================== ==============================================================================
3. Buffer objects *python-buffer* 3. Buffer objects *python-buffer*
Buffer objects represent vim buffers. You can obtain them in a number of ways: Buffer objects represent vim buffers. You can obtain them in a number of
ways:
- via vim.current.buffer (|python-current|) - via vim.current.buffer (|python-current|)
- from indexing vim.buffers (|python-buffers|) - from indexing vim.buffers (|python-buffers|)
- from the "buffer" attribute of a window (|python-window|) - from the "buffer" attribute of a window (|python-window|)
@ -445,9 +446,10 @@ act as if they were lists (yes, they are mutable) of strings, with each
element being a line of the buffer. All of the usual sequence operations, element being a line of the buffer. All of the usual sequence operations,
including indexing, index assignment, slicing and slice assignment, work as including indexing, index assignment, slicing and slice assignment, work as
you would expect. Note that the result of indexing (slicing) a buffer is a you would expect. Note that the result of indexing (slicing) a buffer is a
string (list of strings). This has one unusual consequence - b[:] is different string (list of strings). This has one unusual consequence - b[:] is
from b. In particular, "b[:] = None" deletes the whole of the buffer, whereas different from b. In particular, "b[:] = None" deletes the whole of the
"b = None" merely updates the variable b, with no effect on the buffer. buffer, whereas "b = None" merely updates the variable b, with no effect on
the buffer.
Buffer indexes start at zero, as is normal in Python. This differs from vim Buffer indexes start at zero, as is normal in Python. This differs from vim
line numbers, which start from 1. This is particularly relevant when dealing line numbers, which start from 1. This is particularly relevant when dealing
@ -541,7 +543,8 @@ Example (assume r is the current range): >
============================================================================== ==============================================================================
5. Window objects *python-window* 5. Window objects *python-window*
Window objects represent vim windows. You can obtain them in a number of ways: Window objects represent vim windows. You can obtain them in a number of
ways:
- via vim.current.window (|python-current|) - via vim.current.window (|python-current|)
- from indexing vim.windows (|python-windows|) - from indexing vim.windows (|python-windows|)
- from indexing "windows" attribute of a tab page (|python-tabpage|) - from indexing "windows" attribute of a tab page (|python-tabpage|)

View File

@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 9.1. Last change: 2019 Jul 21 *if_ruby.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Shugo Maeda VIM REFERENCE MANUAL by Shugo Maeda
@ -69,14 +69,14 @@ To see what version of Ruby you have: >
*:rubydo* *:rubyd* *E265* *:rubydo* *:rubyd* *E265*
:[range]rubyd[o] {cmd} Evaluate Ruby command {cmd} for each line in the :[range]rubyd[o] {cmd} Evaluate Ruby command {cmd} for each line in the
[range], with $_ being set to the text of each line in [range], with $_ being set to the text of each line in
turn, without a trailing <EOL>. Setting $_ will change turn, without a trailing <EOL>. Setting $_ will
the text, but note that it is not possible to add or change the text, but note that it is not possible to
delete lines using this command. add or delete lines using this command.
The default for [range] is the whole file: "1,$". The default for [range] is the whole file: "1,$".
*:rubyfile* *:rubyf* *:rubyfile* *:rubyf*
:rubyf[ile] {file} Execute the Ruby script in {file}. This is the same as :rubyf[ile] {file} Execute the Ruby script in {file}. This is the same
`:ruby load 'file'`, but allows file name completion. as `:ruby load 'file'`, but allows file name completion.
Executing Ruby commands is not possible in the |sandbox|. Executing Ruby commands is not possible in the |sandbox|.
@ -148,8 +148,8 @@ Class Methods:
current Returns the current buffer object. current Returns the current buffer object.
count Returns the number of buffers. count Returns the number of buffers.
self[{n}] Returns the buffer object for the number {n}. The first number self[{n}] Returns the buffer object for the number {n}. The first
is 0. number is 0.
Methods: Methods:
@ -178,8 +178,8 @@ Class Methods:
current Returns the current window object. current Returns the current window object.
count Returns the number of windows. count Returns the number of windows.
self[{n}] Returns the window object for the number {n}. The first number self[{n}] Returns the window object for the number {n}. The first
is 0. number is 0.
Methods: Methods:

View File

@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 9.1. Last change: 2025 Aug 29 *if_tcl.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Ingo Wilken VIM REFERENCE MANUAL by Ingo Wilken
@ -234,8 +234,8 @@ The ::vim::current(window) variable contains the name of the window command
for the current window. A window command is automatically deleted when the for the current window. A window command is automatically deleted when the
corresponding vim window is closed. corresponding vim window is closed.
Let's assume the name of the window command is stored in the Tcl variable "win", Let's assume the name of the window command is stored in the Tcl variable
i.e. "$win" calls the command. The following options are available: > "win", i.e. "$win" calls the command. The following options are available: >
$win buffer # Create Tcl command for window's buffer. $win buffer # Create Tcl command for window's buffer.
$win command {cmd} # Execute Ex command in windows context. $win command {cmd} # Execute Ex command in windows context.
@ -264,7 +264,8 @@ Options:
array set here [$win cursor] array set here [$win cursor]
< "here(row)" and "here(column)" now contain the cursor position. < "here(row)" and "here(column)" now contain the cursor position.
With a single argument, the argument is interpreted as the name of a With a single argument, the argument is interpreted as the name of a
Tcl array variable, which must contain two elements "row" and "column". Tcl array variable, which must contain two elements "row" and
"column".
These are used to set the cursor to the new position: > These are used to set the cursor to the new position: >
$win cursor here ;# not $here ! $win cursor here ;# not $here !
< With two arguments, sets the cursor to the specified row and column: > < With two arguments, sets the cursor to the specified row and column: >
@ -313,8 +314,8 @@ changed, all marks in the buffer are automatically adjusted. Any changes to
the buffer's contents made by Tcl commands can be undone with the "undo" vim the buffer's contents made by Tcl commands can be undone with the "undo" vim
command (see |undo|). command (see |undo|).
Let's assume the name of the buffer command is stored in the Tcl variable "buf", Let's assume the name of the buffer command is stored in the Tcl variable
i.e. "$buf" calls the command. The following options are available: > "buf", i.e. "$buf" calls the command. The following options are available: >
$buf append {n} {str} # Append a line to buffer, after line {n}. $buf append {n} {str} # Append a line to buffer, after line {n}.
$buf command {cmd} # Execute Ex command in buffers context. $buf command {cmd} # Execute Ex command in buffers context.
@ -404,8 +405,8 @@ Options:
deleted from the buffer. deleted from the buffer.
$buf windows *tcl-buffer-windows* $buf windows *tcl-buffer-windows*
Creates a window command for each window that displays this buffer, and Creates a window command for each window that displays this buffer,
returns a list of the command names as the result. and returns a list of the command names as the result.
Example: > Example: >
set winlist [$buf windows] set winlist [$buf windows]
foreach win $winlist { $win height 4 } foreach win $winlist { $win height 4 }

View File

@ -1,4 +1,4 @@
*indent.txt* For Vim version 9.1. Last change: 2024 Dec 16 *indent.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -44,7 +44,8 @@ These five options control C program indenting:
'cinkeys' Specifies which keys trigger reindenting in insert mode. 'cinkeys' Specifies which keys trigger reindenting in insert mode.
'cinoptions' Sets your preferred indent style. 'cinoptions' Sets your preferred indent style.
'cinwords' Defines keywords that start an extra indent in the next line. 'cinwords' Defines keywords that start an extra indent in the next line.
'cinscopedecls' Defines strings that are recognized as a C++ scope declaration. 'cinscopedecls' Defines strings that are recognized as a C++ scope
declaration.
If 'lisp' is not on and 'equalprg' is empty, the "=" operator indents using If 'lisp' is not on and 'equalprg' is empty, the "=" operator indents using
Vim's built-in algorithm rather than calling an external program. Vim's built-in algorithm rather than calling an external program.
@ -714,13 +715,13 @@ FORTRAN *ft-fortran-indent*
Block if, select case, select type, select rank, where, forall, type, Block if, select case, select type, select rank, where, forall, type,
interface, associate, block, enum, critical, and change team constructs are interface, associate, block, enum, critical, and change team constructs are
indented. The indenting of subroutines, functions, modules, and program blocks indented. The indenting of subroutines, functions, modules, and program
is optional. Comments, labeled statements, and continuation lines are indented blocks is optional. Comments, labeled statements, and continuation lines are
if the Fortran is in free source form, whereas they are not indented if the indented if the Fortran is in free source form, whereas they are not indented
Fortran is in fixed source form because of the left margin requirements. Hence if the Fortran is in fixed source form because of the left margin
manual indent corrections will be necessary for labeled statements and requirements. Hence manual indent corrections will be necessary for labeled
continuation lines when fixed source form is being used. For further statements and continuation lines when fixed source form is being used. For
discussion of the method used for the detection of source format see further discussion of the method used for the detection of source format see
|ft-fortran-syntax|. |ft-fortran-syntax|.
Do loops ~ Do loops ~
@ -1027,8 +1028,8 @@ Indent after a nested paren: >
Indent for a continuation line: > Indent for a continuation line: >
let g:python_indent.continue = 'shiftwidth() * 2' let g:python_indent.continue = 'shiftwidth() * 2'
By default, the closing paren on a multiline construct lines up under the first By default, the closing paren on a multiline construct lines up under the
non-whitespace character of the previous line. first non-whitespace character of the previous line.
If you prefer that it's lined up under the first character of the line that If you prefer that it's lined up under the first character of the line that
starts the multiline construct, reset this key: > starts the multiline construct, reset this key: >
let g:python_indent.closed_paren_align_last_line = v:false let g:python_indent.closed_paren_align_last_line = v:false
@ -1201,9 +1202,9 @@ to the .vimrc file, which causes the previous alignment example to change: >
---------------------------------------- ----------------------------------------
Full-line comments (lines that begin with "--") are indented to be aligned with Full-line comments (lines that begin with "--") are indented to be aligned
the very previous line's comment, PROVIDED that a whitespace follows after with the very previous line's comment, PROVIDED that a whitespace follows
"--". after "--".
For example: > For example: >
@ -1255,9 +1256,9 @@ results in: >
Notice that "--debug_code:" does not align with "-- comment 2" Notice that "--debug_code:" does not align with "-- comment 2"
because there is no whitespace that follows after "--" in "--debug_code:". because there is no whitespace that follows after "--" in "--debug_code:".
Given the dynamic nature of indenting comments, indenting should be done TWICE. Given the dynamic nature of indenting comments, indenting should be done
On the first pass, code will be indented. On the second pass, full-line TWICE. On the first pass, code will be indented. On the second pass,
comments will be indented according to the correctly indented code. full-line comments will be indented according to the correctly indented code.
VIM *ft-vim-indent* VIM *ft-vim-indent*

View File

@ -560,9 +560,9 @@ extra spaces to get where you want to be.
*ins-smarttab* *ins-smarttab*
When the 'smarttab' option is on, the <Tab> key indents by 'shiftwidth' if the When the 'smarttab' option is on, the <Tab> key indents by 'shiftwidth' if the
cursor is in leading whitespace. The <BS> key has the opposite effect. This cursor is in leading whitespace. The <BS> key has the opposite effect. This
behaves as if 'softtabstop' were set to the value of 'shiftwidth'. This option behaves as if 'softtabstop' were set to the value of 'shiftwidth'. This
allows the user to set 'softtabstop' to a value other than 'shiftwidth' and option allows the user to set 'softtabstop' to a value other than 'shiftwidth'
still use the <Tab> key for indentation. and still use the <Tab> key for indentation.
============================================================================== ==============================================================================
5. Replace mode *Replace* *Replace-mode* *mode-replace* 5. Replace mode *Replace* *Replace-mode* *mode-replace*
@ -663,7 +663,8 @@ not a valid CTRL-X mode command. Valid keys are the CTRL-X command itself,
CTRL-N (next), and CTRL-P (previous). CTRL-N (next), and CTRL-P (previous).
By default, the possible completions are showed in a menu and the first By default, the possible completions are showed in a menu and the first
completion is inserted into the text. This can be adjusted with 'completeopt'. completion is inserted into the text. This can be adjusted with
'completeopt'.
To get the current completion information, |complete_info()| can be used. To get the current completion information, |complete_info()| can be used.
Also see the 'infercase' option if you want to adjust the case of the match. Also see the 'infercase' option if you want to adjust the case of the match.
@ -1139,8 +1140,8 @@ CTRL-X CTRL-Z Stop completion without changing the text.
AUTOCOMPLETION *ins-autocompletion* AUTOCOMPLETION *ins-autocompletion*
Vim can display a completion menu as you type, similar to using |i_CTRL-N|, Vim can display a completion menu as you type, similar to using |i_CTRL-N|,
but triggered automatically. See 'autocomplete'. The menu items are collected but triggered automatically. See 'autocomplete'. The menu items are
from the sources listed in the 'complete' option, in order. collected from the sources listed in the 'complete' option, in order.
A decaying timeout keeps Vim responsive. Sources earlier in the 'complete' A decaying timeout keeps Vim responsive. Sources earlier in the 'complete'
list get more time (higher priority), but all sources receive at least a small list get more time (higher priority), but all sources receive at least a small
@ -1455,7 +1456,8 @@ any printable, non-white character:
Add this character and reduce the number of matches. Add this character and reduce the number of matches.
In all three states these can be used: In all three states these can be used:
CTRL-Y Yes: Accept the currently selected match and stop completion. CTRL-Y Yes: Accept the currently selected match and stop
completion.
CTRL-E End completion, go back to what was there before selecting a CTRL-E End completion, go back to what was there before selecting a
match (what was typed or longest common string). match (what was typed or longest common string).
<PageUp> Select a match several entries back, but don't insert it. <PageUp> Select a match several entries back, but don't insert it.
@ -1648,11 +1650,12 @@ Exuberant ctags version 5.5.4 or newer. You can find it here:
Script completes: Script completes:
- after $ variables name - after $ variables name
- if variable was declared as object add "->", if tags file is available show - if variable was declared as object add "->", if tags file is available
name of class show name of class
- after "->" complete only function and variable names specific for given - after "->" complete only function and variable names specific for given
class. To find class location and contents tags file is required. Because class. To find class location and contents tags file is required.
PHP isn't strongly typed language user can use @var tag to declare class: > Because PHP isn't strongly typed language user can use @var tag to declare
class: >
/* @var $myVar myClass */ /* @var $myVar myClass */
$myVar-> $myVar->
@ -1750,11 +1753,11 @@ a look at the PHP filetype to see how this works.
If you edit a file called, index.php, run the following command: > If you edit a file called, index.php, run the following command: >
syntax list syntax list
The first thing you will notice is that there are many different syntax groups. The first thing you will notice is that there are many different syntax
The PHP language can include elements from different languages like HTML, groups. The PHP language can include elements from different languages like
JavaScript and many more. The syntax plugin will only include syntax groups HTML, JavaScript and many more. The syntax plugin will only include syntax
that begin with the filetype, "php", in this case. For example these syntax groups that begin with the filetype, "php", in this case. For example these
groups are included by default with the PHP: phpEnvVar, phpIntVar, syntax groups are included by default with the PHP: phpEnvVar, phpIntVar,
phpFunctions. phpFunctions.
If you wish non-filetype syntax items to also be included, you can use a If you wish non-filetype syntax items to also be included, you can use a

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 9.1. Last change: 2025 Oct 11 *intro.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -99,7 +99,8 @@ There are several mailing lists for Vim:
For discussions about using and improving the Macintosh version of For discussions about using and improving the Macintosh version of
Vim. Vim.
<vim-security@googlegroups.com> *vim-security* <vim-security@googlegroups.com> *vim-security*
This list is for (privately) discussing security relevant issues of Vim. This list is for (privately) discussing security relevant issues of
Vim.
See http://www.vim.org/maillist.php for the latest information. See http://www.vim.org/maillist.php for the latest information.
@ -236,7 +237,8 @@ Vim would never have become what it is now, without the help of these people!
Felix von Leitner Previous maintainer of Vim Mailing Lists Felix von Leitner Previous maintainer of Vim Mailing Lists
David Leonard Port of Python extensions to Unix David Leonard Port of Python extensions to Unix
Avner Lottem Edit in right-to-left windows Avner Lottem Edit in right-to-left windows
Flemming Madsen X11 client-server, various features and patches Flemming Madsen X11 client-server, various features and
patches
Tony Mechelynck answers many user questions Tony Mechelynck answers many user questions
Paul Moore Python interface extensions, many patches Paul Moore Python interface extensions, many patches
Katsuhito Nagano Work on multibyte versions Katsuhito Nagano Work on multibyte versions
@ -606,8 +608,8 @@ Operator-pending mode This is like Normal mode, but after an operator
Replace mode Replace mode is a special case of Insert mode. You Replace mode Replace mode is a special case of Insert mode. You
can do the same things as in Insert mode, but for can do the same things as in Insert mode, but for
each character you enter, one character of the existing each character you enter, one character of the
text is deleted. See |Replace-mode|. existing text is deleted. See |Replace-mode|.
If the 'showmode' option is on "-- REPLACE --" is If the 'showmode' option is on "-- REPLACE --" is
shown at the bottom of the window. shown at the bottom of the window.

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 9.1. Last change: 2025 Aug 06 *map.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -991,8 +991,8 @@ in Insert mode: >
1.12 MAPPING SUPER-KEYS or COMMAND-KEYS *:map-super-keys* *:map-cmd-key* 1.12 MAPPING SUPER-KEYS or COMMAND-KEYS *:map-super-keys* *:map-cmd-key*
The Super modifier is available in GUI mode (when |gui_running| is 1) for gVim The Super modifier is available in GUI mode (when |gui_running| is 1) for gVim
on Linux and MacVim on Mac OS. If you're on a Mac, this represents the Command on Linux and MacVim on Mac OS. If you're on a Mac, this represents the
key, on Linux with the GTK GUI it represents the Super key. Command key, on Linux with the GTK GUI it represents the Super key.
The character "D" is used for the Super / Command modifier. The character "D" is used for the Super / Command modifier.
For example, to map Command-b in Insert mode: > For example, to map Command-b in Insert mode: >
@ -1502,8 +1502,8 @@ be the user command ":Cc2" without an argument, or the command ":Cc" with
argument "2". It is advised to put a space between the command name and the argument "2". It is advised to put a space between the command name and the
argument to avoid these problems. argument to avoid these problems.
When using a user-defined command, the command can be abbreviated. However, if When using a user-defined command, the command can be abbreviated. However,
an abbreviation is not unique, an error will be issued. Furthermore, a if an abbreviation is not unique, an error will be issued. Furthermore, a
built-in command will always take precedence. built-in command will always take precedence.
Example: > Example: >
@ -1519,8 +1519,8 @@ It is recommended that full names for user-defined commands are used in
scripts. scripts.
:com[mand] *:com* *:command* :com[mand] *:com* *:command*
List all user-defined commands. When listing commands, List all user-defined commands. When listing
the characters in the first columns are: commands, the characters in the first columns are:
! Command has the -bang attribute ! Command has the -bang attribute
" Command has the -register attribute " Command has the -register attribute
| Command has the -bar attribute | Command has the -bar attribute
@ -1571,10 +1571,10 @@ See |:verbose-cmd| for more information.
Command attributes ~ Command attributes ~
*command-attributes* *command-attributes*
User-defined commands are treated by Vim just like any other Ex commands. They User-defined commands are treated by Vim just like any other Ex commands.
can have arguments, or have a range specified. Arguments are subject to They can have arguments, or have a range specified. Arguments are subject to
completion as filenames, buffers, etc. Exactly how this works depends upon the completion as filenames, buffers, etc. Exactly how this works depends upon
command's attributes, which are specified when the command is defined. the command's attributes, which are specified when the command is defined.
When defining a user command in a script, it will be able to call functions When defining a user command in a script, it will be able to call functions
local to the script and use mappings local to the script. When the user local to the script and use mappings local to the script. When the user
@ -1684,8 +1684,8 @@ function with the following signature: >
:function {func}(ArgLead, CmdLine, CursorPos) :function {func}(ArgLead, CmdLine, CursorPos)
The function need not use all these arguments. The function should provide the The function need not use all these arguments. The function should provide
completion candidates as the return value. the completion candidates as the return value.
For the "custom" argument, the function should return the completion For the "custom" argument, the function should return the completion
candidates one per line in a newline separated string. candidates one per line in a newline separated string.
@ -1943,9 +1943,9 @@ A more substantial example: >
:endfunction :endfunction
:command -nargs=+ -complete=command Allargs call Allargs(<q-args>) :command -nargs=+ -complete=command Allargs call Allargs(<q-args>)
The command Allargs takes any Vim command(s) as argument and executes it on all The command Allargs takes any Vim command(s) as argument and executes it on
files in the argument list. Usage example (note use of the "e" flag to ignore all files in the argument list. Usage example (note use of the "e" flag to
errors and the "update" command to write modified buffers): > ignore errors and the "update" command to write modified buffers): >
:Allargs %s/foo/bar/ge|update :Allargs %s/foo/bar/ge|update
This will invoke: > This will invoke: >
:call Allargs("%s/foo/bar/ge|update") :call Allargs("%s/foo/bar/ge|update")

View File

@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 9.1. Last change: 2025 Oct 04 *mbyte.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar et al. VIM REFERENCE MANUAL by Bram Moolenaar et al.
@ -1138,8 +1138,8 @@ it to the Vim maintainer for inclusion in the distribution:
HEBREW KEYMAP *keymap-hebrew* HEBREW KEYMAP *keymap-hebrew*
This file explains what characters are available in UTF-8 and CP1255 encodings, This file explains what characters are available in UTF-8 and CP1255
and what the keymaps are to get those characters: encodings, and what the keymaps are to get those characters:
glyph encoding keymap ~ glyph encoding keymap ~
Char UTF-8 cp1255 hebrew hebrewp name ~ Char UTF-8 cp1255 hebrew hebrewp name ~
@ -1271,8 +1271,8 @@ Combining forms:
10. Input with imactivatefunc() *mbyte-func* 10. Input with imactivatefunc() *mbyte-func*
Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
activate/deactivate the input method from Vim in any way, also with an external activate/deactivate the input method from Vim in any way, also with an
command. For example, fcitx provide fcitx-remote command: > external command. For example, fcitx provide fcitx-remote command: >
set iminsert=2 set iminsert=2
set imsearch=2 set imsearch=2

View File

@ -1,4 +1,4 @@
*mlang.txt* For Vim version 9.1. Last change: 2024 Jul 11 *mlang.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*motion.txt* For Vim version 9.1. Last change: 2025 Aug 06 *motion.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -625,11 +625,11 @@ ab "a block", select [count] blocks, from "[count] [(" to
i) *v_i)* *i)* *i(* i) *v_i)* *i)* *i(*
i( *vib* *v_ib* *v_i(* *ib* i( *vib* *v_ib* *v_i(* *ib*
ib "inner block", select [count] blocks, from "[count] [(" ib "inner block", select [count] blocks, from "[count]
to the matching ')', excluding the '(' and ')' (see [(" to the matching ')', excluding the '(' and ')'
|[(|). If the cursor is not inside a () block, then (see |[(|). If the cursor is not inside a () block,
find the next "(". It's an error to select an empty then find the next "(". It's an error to select an
inner block like "()". The |cpo-M| option flag empty inner block like "()". The |cpo-M| option flag
is used to handle escaped parenthesis. is used to handle escaped parenthesis.
When used in Visual mode it is made characterwise. When used in Visual mode it is made characterwise.
@ -673,11 +673,11 @@ aB "a Block", select [count] Blocks, from "[count] [{" to
i} *v_i}* *i}* *i{* i} *v_i}* *i}* *i{*
i{ *v_iB* *v_i{* *iB* i{ *v_iB* *v_i{* *iB*
iB "inner Block", select [count] Blocks, from "[count] [{" iB "inner Block", select [count] Blocks, from "[count]
to the matching '}', excluding the '{' and '}' (see [{" to the matching '}', excluding the '{' and '}'
|[{|). It's an error to select an empty inner block (see |[{|). It's an error to select an empty inner
like "{}". The |cpo-M| option flag is used to handle block like "{}". The |cpo-M| option flag is used to
escaped braces. handle escaped braces.
When used in Visual mode it is made characterwise. When used in Visual mode it is made characterwise.
a" *v_aquote* *aquote* a" *v_aquote* *aquote*
@ -876,9 +876,9 @@ buffer list. If you remove the file from the buffer list, all its marks are
lost. If you delete a line that contains a mark, that mark is erased. lost. If you delete a line that contains a mark, that mark is erased.
Lowercase marks can be used in combination with operators. For example: "d't" Lowercase marks can be used in combination with operators. For example: "d't"
deletes the lines from the cursor position to mark 't'. Hint: Use mark 't' for deletes the lines from the cursor position to mark 't'. Hint: Use mark 't'
Top, 'b' for Bottom, etc.. Lowercase marks are restored when using undo and for Top, 'b' for Bottom, etc.. Lowercase marks are restored when using undo
redo. and redo.
Uppercase marks 'A to 'Z include the file name. You can use them to jump from Uppercase marks 'A to 'Z include the file name. You can use them to jump from
file to file. You can only use an uppercase mark with an operator if the mark file to file. You can only use an uppercase mark with an operator if the mark
@ -1160,8 +1160,8 @@ stored in the viminfo file and restored when starting Vim.
When 'jumpoptions' option includes "stack", the jumplist behaves like the tag When 'jumpoptions' option includes "stack", the jumplist behaves like the tag
stack. When jumping to a new location from the middle of the jumplist, the stack. When jumping to a new location from the middle of the jumplist, the
locations after the current position will be discarded. With this option set locations after the current position will be discarded. With this option set
you can move through a tree of jump locations. When going back up a branch and you can move through a tree of jump locations. When going back up a branch
then down another branch, CTRL-O still takes you further up the tree. and then down another branch, CTRL-O still takes you further up the tree.
Given a jumplist like the following in which CTRL-O has been used to move back Given a jumplist like the following in which CTRL-O has been used to move back
three times to location X: > three times to location X: >
@ -1375,7 +1375,8 @@ Using "3[m" will jump to the start of the class.
These two commands work in C programs that contain #if/#else/#endif These two commands work in C programs that contain #if/#else/#endif
constructs. It brings you to the start or end of the #if/#else/#endif where constructs. It brings you to the start or end of the #if/#else/#endif where
the current line is included. You can then use "%" to go to the matching line. the current line is included. You can then use "%" to go to the matching
line.
*[star* *[/* *[star* *[/*
[* or [/ Go to [count] previous start of a C comment "/*". [* or [/ Go to [count] previous start of a C comment "/*".

View File

@ -35,10 +35,10 @@ longer exists for recent versions of NetBeans but the protocol was developed
in such a way that any IDE can use it to integrate Vim. in such a way that any IDE can use it to integrate Vim.
The NetBeans protocol of Vim is a text based communication protocol, over a The NetBeans protocol of Vim is a text based communication protocol, over a
classical TCP socket. There is no dependency on Java or NetBeans. Any language classical TCP socket. There is no dependency on Java or NetBeans. Any
or environment providing a socket interface can control Vim using this language or environment providing a socket interface can control Vim using
protocol. There are existing implementations in C, C++, Python and Java. The this protocol. There are existing implementations in C, C++, Python and Java.
name NetBeans is kept today for historical reasons. The name NetBeans is kept today for historical reasons.
Active project using the NetBeans protocol of Vim: Active project using the NetBeans protocol of Vim:
- Eclim, (dead link) eclim.org/ - Eclim, (dead link) eclim.org/
@ -935,14 +935,14 @@ version of NetBeans.
10.1. Downloading NetBeans *netbeans-download* 10.1. Downloading NetBeans *netbeans-download*
The NetBeans IDE is available for download from netbeans.org. You can download The NetBeans IDE is available for download from netbeans.org. You can
a released version, download sources, or use CVS to download the current download a released version, download sources, or use CVS to download the
source tree. If you choose to download sources, follow directions from current source tree. If you choose to download sources, follow directions
netbeans.org on building NetBeans. from netbeans.org on building NetBeans.
Depending on the version of NetBeans you download, you may need to do further Depending on the version of NetBeans you download, you may need to do further
work to get the required External Editor module. This is the module which lets work to get the required External Editor module. This is the module which
NetBeans work with gvim (or xemacs :-). See (dead link) lets NetBeans work with gvim (or xemacs :-). See (dead link)
externaleditor.netbeans.org externaleditor.netbeans.org
for details on downloading this module if your NetBeans release does not have for details on downloading this module if your NetBeans release does not have
it. it.

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 9.1. Last change: 2025 Oct 07 *options.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -32,8 +32,8 @@ achieve special effects. These options come in three forms:
:se[t] termcap Show all terminal options. Note that in the GUI the :se[t] termcap Show all terminal options. Note that in the GUI the
key codes are not shown, because they are generated key codes are not shown, because they are generated
internally and can't be changed. Changing the terminal internally and can't be changed. Changing the
codes in the GUI is not useful either... terminal codes in the GUI is not useful either...
The options have the form t_AB, see The options have the form t_AB, see
|terminal-options|. |terminal-options|.
@ -1493,8 +1493,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+linebreak| {not available when compiled without the |+linebreak|
feature} feature}
Every wrapped line will continue visually indented (same amount of Every wrapped line will continue visually indented (same amount of
space as the beginning of that line), thus preserving horizontal blocks space as the beginning of that line), thus preserving horizontal
of text. blocks of text.
NOTE: This option is reset when 'compatible' is set. NOTE: This option is reset when 'compatible' is set.
*'breakindentopt'* *'briopt'* *'breakindentopt'* *'briopt'*
@ -1839,13 +1839,14 @@ A jump table for the options with a short description can be found at |Q_op|.
register '*' for all yank, delete, change and put register '*' for all yank, delete, change and put
operations which would normally go to the unnamed operations which would normally go to the unnamed
register. When "unnamed" is also included to the register. When "unnamed" is also included to the
option, yank operations (but not delete, change or put) option, yank operations (but not delete, change or
will additionally copy the text into register '*'. If put) will additionally copy the text into register
Wayland is being used and the compositor does not '*'. If Wayland is being used and the compositor does
support the primary-selection-unstable-v1 protocol, not support the primary-selection-unstable-v1
then the regular selection is used in its place. Only protocol, then the regular selection is used in its
available with the |+X11| or |+wayland_clipboard| place. Only available with the |+X11| or
feature. Availability can be checked with: > |+wayland_clipboard| feature. Availability can be
checked with: >
if has('unnamedplus') if has('unnamedplus')
< <
*clipboard-autoselect* *clipboard-autoselect*
@ -2147,12 +2148,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|i_CTRL-X_CTRL-D| |i_CTRL-X_CTRL-D|
] tag completion ] tag completion
t same as "]" t same as "]"
F{func} call the function {func}. Multiple "F" flags may be specified. F{func} call the function {func}. Multiple "F" flags may be
Refer to |complete-functions| for details on how the function specified. Refer to |complete-functions| for details on how
is invoked and what it should return. The value can be the the function is invoked and what it should return. The value
name of a function or a |Funcref|. For |Funcref| values, can be the name of a function or a |Funcref|. For |Funcref|
spaces must be escaped with a backslash ('\'), and commas with values, spaces must be escaped with a backslash ('\'), and
double backslashes ('\\') (see |option-backslash|). commas with double backslashes ('\\') (see |option-backslash|).
Unlike other sources, functions can provide completions Unlike other sources, functions can provide completions
starting from a non-keyword character before the cursor, and starting from a non-keyword character before the cursor, and
their start position for replacing text may differ from other their start position for replacing text may differ from other
@ -2354,7 +2355,8 @@ A jump table for the options with a short description can be found at |Q_op|.
completion in insert mode. This is useful when editing HTML tag, or completion in insert mode. This is useful when editing HTML tag, or
Makefile with 'noshellslash' on MS-Windows. Makefile with 'noshellslash' on MS-Windows.
- When this option is set to "backslash", backslash is used. This is - When this option is set to "backslash", backslash is used. This is
useful when editing a batch file with 'shellslash' set on MS-Windows. useful when editing a batch file with 'shellslash' set on
MS-Windows.
- When this option is empty, same character is used as for - When this option is empty, same character is used as for
'shellslash'. 'shellslash'.
For Insert mode completion the buffer-local value is used. For For Insert mode completion the buffer-local value is used. For
@ -5575,8 +5577,8 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+langmap| {only available when compiled with the |+langmap|
feature} feature}
When off, setting 'langmap' does not apply to characters resulting from When off, setting 'langmap' does not apply to characters resulting
a mapping. This basically means, if you noticed that setting from a mapping. This basically means, if you noticed that setting
'langmap' disables some of your mappings, try resetting this option. 'langmap' disables some of your mappings, try resetting this option.
This option defaults to on for backwards compatibility. Set it off if This option defaults to on for backwards compatibility. Set it off if
that works for you to avoid mappings to break. that works for you to avoid mappings to break.
@ -5599,8 +5601,8 @@ A jump table for the options with a short description can be found at |Q_op|.
executing macros, registers and other commands that have not been executing macros, registers and other commands that have not been
typed. Also, updating the window title is postponed. To force an typed. Also, updating the window title is postponed. To force an
update use |:redraw|. update use |:redraw|.
This may occasionally cause display errors. It is only meant to be set This may occasionally cause display errors. It is only meant to be
temporarily when performing an operation where redrawing may cause set temporarily when performing an operation where redrawing may cause
flickering or cause a slowdown. flickering or cause a slowdown.
*'lhistory'* *'lhi'* *'lhistory'* *'lhi'*
@ -6517,10 +6519,10 @@ A jump table for the options with a short description can be found at |Q_op|.
some text from one window and paste it in Vim. This will avoid some text from one window and paste it in Vim. This will avoid
unexpected effects. unexpected effects.
Setting this option is useful when using Vim in a terminal, where Vim Setting this option is useful when using Vim in a terminal, where Vim
cannot distinguish between typed text and pasted text. In the GUI, Vim cannot distinguish between typed text and pasted text. In the GUI,
knows about pasting and will mostly do the right thing without 'paste' Vim knows about pasting and will mostly do the right thing without
being set. The same is true for a terminal where Vim handles the 'paste' being set. The same is true for a terminal where Vim handles
mouse clicks itself. the mouse clicks itself.
This option is reset when starting the GUI. Thus if you set it in This option is reset when starting the GUI. Thus if you set it in
your .vimrc it will work in a terminal, but not in the GUI. Setting your .vimrc it will work in a terminal, but not in the GUI. Setting
'paste' in the GUI has side effects: e.g., the Paste toolbar button 'paste' in the GUI has side effects: e.g., the Paste toolbar button
@ -6566,8 +6568,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'pastetoggle' works in Insert mode and Normal mode, but not in 'pastetoggle' works in Insert mode and Normal mode, but not in
Command-line mode. Command-line mode.
Mappings are checked first, thus overrule 'pastetoggle'. However, Mappings are checked first, thus overrule 'pastetoggle'. However,
when 'paste' is on mappings are ignored in Insert mode, thus you can do when 'paste' is on mappings are ignored in Insert mode, thus you can
this: > do this: >
:map <F10> :set paste<CR> :map <F10> :set paste<CR>
:map <F11> :set nopaste<CR> :map <F11> :set nopaste<CR>
:imap <F10> <C-O>:set paste<CR> :imap <F10> <C-O>:set paste<CR>

View File

@ -1,4 +1,4 @@
*os_amiga.txt* For Vim version 9.1. Last change: 2025 Aug 10 *os_amiga.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -74,8 +74,8 @@ example to get white text on a blue background: >
When using multiple commands with a filter command, e.g. > When using multiple commands with a filter command, e.g. >
:r! echo this; echo that :r! echo this; echo that
Only the output of the last command is used. To fix this you have to group the Only the output of the last command is used. To fix this you have to group
commands. This depends on the shell you use (that is why it is not done the commands. This depends on the shell you use (that is why it is not done
automatically in Vim). Examples: > automatically in Vim). Examples: >
:r! (echo this; echo that) :r! (echo this; echo that)
:r! {echo this; echo that} :r! {echo this; echo that}

View File

@ -1,4 +1,4 @@
*os_haiku.txt* For Vim version 9.1. Last change: 2025 Sep 08 *os_haiku.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -73,8 +73,8 @@ additionally installed over the GUI version. Typical build commands are:
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
version with GUI tries to determine if it was started from the Tracker instead version with GUI tries to determine if it was started from the Tracker instead
of the Terminal, and if so, uses the GUI anyway. However, the current detection of the Terminal, and if so, uses the GUI anyway. However, the current
scheme is fooled if you use the command "vim - </dev/null". detection scheme is fooled if you use the command "vim - </dev/null".
Toggling between normal managed window and fullscreen mode can be done by Toggling between normal managed window and fullscreen mode can be done by
pressing <Alt-Enter>. pressing <Alt-Enter>.
@ -229,8 +229,8 @@ Thank you, all!
14. Bugs & to-do *haiku-bugs* 14. Bugs & to-do *haiku-bugs*
The port is under development now and far away from the perfect state. For bug The port is under development now and far away from the perfect state. For
reports, patches and wishes, please use the Vim mailing list or Vim Github bug reports, patches and wishes, please use the Vim mailing list or Vim Github
repository. repository.
Mailing list: https://www.vim.org/maillist.php Mailing list: https://www.vim.org/maillist.php

View File

@ -1,4 +1,4 @@
*os_mac.txt* For Vim version 9.1. Last change: 2025 Aug 10 *os_mac.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar et al. VIM REFERENCE MANUAL by Bram Moolenaar et al.

View File

@ -1,4 +1,4 @@
*os_mint.txt* For Vim version 9.1. Last change: 2020 Jul 14 *os_mint.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Jens M. Felderhoff VIM REFERENCE MANUAL by Jens M. Felderhoff

View File

@ -1,4 +1,4 @@
*os_qnx.txt* For Vim version 9.1. Last change: 2025 Aug 06 *os_qnx.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Julian Kinraid VIM REFERENCE MANUAL by Julian Kinraid
@ -22,8 +22,8 @@ Vim on QNX behaves much like other unix versions. |os_unix.txt|
2. Compiling Vim *qnx-compiling* 2. Compiling Vim *qnx-compiling*
Vim can be compiled using the standard configure/make approach. If you want to Vim can be compiled using the standard configure/make approach. If you want
compile for X11, pass the --with-x option to configure. Otherwise, running to compile for X11, pass the --with-x option to configure. Otherwise, running
./configure without any arguments or passing --enable-gui=photon, will compile ./configure without any arguments or passing --enable-gui=photon, will compile
vim with the Photon gui support. Run ./configure --help , to find out other vim with the Photon gui support. Run ./configure --help , to find out other
features you can enable/disable. features you can enable/disable.

View File

@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 9.1. Last change: 2025 Aug 06 *os_vms.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL VIM REFERENCE MANUAL
@ -80,9 +80,9 @@ See the file [.SRC]INSTALLVMS.TXT.
4. Problems *vms-problems* 4. Problems *vms-problems*
The code has been tested under Open VMS 6.2 - 9.2 on Alpha, VAX, IA64 and The code has been tested under Open VMS 6.2 - 9.2 on Alpha, VAX, IA64 and
X86_64 platforms with the DEC C compiler. It should work without major problems. X86_64 platforms with the DEC C compiler. It should work without major
If your system does not have some include libraries you can tune in the problems. If your system does not have some include libraries you can tune in
OS_VMS_CONF.H file. the OS_VMS_CONF.H file.
If you decided to build Vim with +perl, +python, etc. options, first you need If you decided to build Vim with +perl, +python, etc. options, first you need
to download OpenVMS distributions of Perl and Python. Build and deploy the to download OpenVMS distributions of Perl and Python. Build and deploy the
@ -96,7 +96,8 @@ VAX C compiler is not fully ANSI C compatible in pre-processor directives
semantics, therefore you have to use a converter program that will do the lion semantics, therefore you have to use a converter program that will do the lion
part of the job. For detailed instructions read file INSTALLvms.txt part of the job. For detailed instructions read file INSTALLvms.txt
To build XXD.EXE, you should change to the subdirectory and build it separately. To build XXD.EXE, you should change to the subdirectory and build it
separately.
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
specific source might contain CTAGS source files as described above. specific source might contain CTAGS source files as described above.
@ -216,8 +217,8 @@ Example LOGIN.COM: >
$ set term/inq/ins ! inquire the terminal capabilities $ set term/inq/ins ! inquire the terminal capabilities
$ set disp/create/node=192.168.10.202/trans=tcpip $ set disp/create/node=192.168.10.202/trans=tcpip
Note: This set-up should be enough, if you are working on a standalone server or Note: This set-up should be enough, if you are working on a standalone server
clustered environment, but if you want to use Vim as an internode editor in or clustered environment, but if you want to use Vim as an internode editor in
DECNET environment, it will satisfy as well. DECNET environment, it will satisfy as well.
You just have to define the "whole" path: > You just have to define the "whole" path: >
@ -291,8 +292,8 @@ can be downloaded from http://www.polarhome.com/vim/).
$ set disp/create/node=<your IP address>/trans=<transport-name> $ set disp/create/node=<your IP address>/trans=<transport-name>
< <
and start Vim as in point 1. You can find more help in VMS documentation or and start Vim as in point 1. You can find more help in VMS documentation
type: help set disp in VMS prompt. or type: help set disp in VMS prompt.
Examples: > Examples: >
$ set disp/create/node=192.168.5.159 ! default trans is DECnet $ set disp/create/node=192.168.5.159 ! default trans is DECnet
@ -456,7 +457,8 @@ Try to force to inquire the terminal capabilities with: >
$ set term/inquire $ set term/inquire
If the inquire did not help, the solutions is to define the default terminal name: > If the inquire did not help, the solutions is to define the default terminal
name: >
$ ! unknown terminal name. Let us use vt320 or ansi instead. $ ! unknown terminal name. Let us use vt320 or ansi instead.
$ ! Note: it's case sensitive $ ! Note: it's case sensitive
@ -487,9 +489,9 @@ special commands to execute executables: >
OpenVMS users always have to be aware that the Vim command :! "just" drop them OpenVMS users always have to be aware that the Vim command :! "just" drop them
to DCL prompt. This feature is possible to use without any problem with all to DCL prompt. This feature is possible to use without any problem with all
DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS, DCL commands, but if we want to execute some programs such as XXD, CTAGS,
etc. we're running into trouble if we follow the Vim documentation (see: help JTAGS, etc. we're running into trouble if we follow the Vim documentation
xxd). (see: help xxd).
Solution: Execute with the MC command and add the full path to the executable. Solution: Execute with the MC command and add the full path to the executable.
Example: Instead of :%!xxd command use: > Example: Instead of :%!xxd command use: >
@ -773,17 +775,20 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
Version 9.0 (2023 Nov 27) Version 9.0 (2023 Nov 27)
- Vim is ported to the X86_64 architecture - Vim is ported to the X86_64 architecture
- IMPORTANT: because of the getline function name used in structs like in ex_cmds.h - IMPORTANT: because of the getline function name used in structs like
on X86_64 the CRTL_VER is kept under 80500000 level. The proper solution would be in ex_cmds.h on X86_64 the CRTL_VER is kept under 80500000 level. The
to rename the getline function to something else in the struct (and in all places proper solution would be to rename the getline function to something
it is used) - and avoiding to use POSIX functions in structs, but this change would else in the struct (and in all places it is used) - and avoiding to
impact on all other operating systems. (added to the VMS TODO list) use POSIX functions in structs, but this change would impact on all
Read more about at https://forum.vmssoftware.com/viewtopic.php?f=38&t=8914&p=20049 other operating systems. (added to the VMS TODO list)
Read more about at:
https://forum.vmssoftware.com/viewtopic.php?f=38&t=8914&p=20049
- os_vms_conf.h includes have been reviewed for all architectures - os_vms_conf.h includes have been reviewed for all architectures
- added support for the MODIFIED_BY define - added support for the MODIFIED_BY define
Version 8.2 (2020 Feb 6) Version 8.2 (2020 Feb 6)
- make all changes needed for clean compile build of v8.2 on VMS on all platforms - make all changes needed for clean compile build of v8.2 on VMS on all
platforms
- fix the call mkdir bug (vicente_polo@yahoo.es) - fix the call mkdir bug (vicente_polo@yahoo.es)
- test on VSI OpenVMS Alpha and Itanium platforms - test on VSI OpenVMS Alpha and Itanium platforms
- added LUA support - added LUA support
@ -797,21 +802,23 @@ Version 8.1 (2019 Jan 9)
Version 8.0 (2016 Nov 21) Version 8.0 (2016 Nov 21)
- solve the 100% cpu usage issue while waiting for a keystroke - solve the 100% cpu usage issue while waiting for a keystroke
- correct the VMS warnings and errors around handling the INFINITY (used in json.c) - correct the VMS warnings and errors around handling the INFINITY (used in
json.c)
- minor VMS port related changes - minor VMS port related changes
- correct the make_vms.mms file for 8.0 - correct the make_vms.mms file for 8.0
- fix [.TESTDIR]make_vms.mms for 8.0 - fix [.TESTDIR]make_vms.mms for 8.0
Version 7.4 (2013 Aug 10) Version 7.4 (2013 Aug 10)
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name" - Undo: VMS can not handle more than one dot in the filenames use
"dir/name" -> "dir/_un_name"
add _un_ at the beginning to keep the extension add _un_ at the beginning to keep the extension
- correct swap file name wildcard handling - correct swap file name wildcard handling
- handle iconv usage correctly - handle iconv usage correctly
- do not optimize on vax - otherwise it hangs compiling crypto files - do not optimize on vax - otherwise it hangs compiling crypto files
- fileio.c fix the comment - fileio.c fix the comment
- correct RealWaitForChar - correct RealWaitForChar
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have - after 7.4-119 use different functions lib$cvtf_to_internal_time because
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes Alpha and VAX have G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
- guard against crashes that are caused by mixed filenames - guard against crashes that are caused by mixed filenames
- [TESTDIR]make_vms.mms changed to see the output files - [TESTDIR]make_vms.mms changed to see the output files
- Improve tests, update known issues - Improve tests, update known issues
@ -820,7 +827,8 @@ Version 7.4 (2013 Aug 10)
Version 7.3 (2010 Aug 15) Version 7.3 (2010 Aug 15)
- CTAGS 5.8 included - CTAGS 5.8 included
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX - VMS compile warnings fixed - floating-point overflow warning corrected on
VAX
- filepath completion corrected - too many chars were escaped in filename - filepath completion corrected - too many chars were escaped in filename
and shell commands and shell commands
- the following plugins are included into VMS runtime: - the following plugins are included into VMS runtime:

View File

@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 9.1. Last change: 2025 Oct 01 *os_win32.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by George Reilly VIM REFERENCE MANUAL by George Reilly

View File

@ -1,4 +1,4 @@
*pattern.txt* For Vim version 9.1. Last change: 2025 Oct 09 *pattern.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -288,9 +288,9 @@ When searching backwards, searching starts at the start of the line, using the
cursor position is used. cursor position is used.
In Vi the ":tag" command sets the last search pattern when the tag is searched In Vi the ":tag" command sets the last search pattern when the tag is searched
for. In Vim this is not done, the previous search pattern is still remembered, for. In Vim this is not done, the previous search pattern is still
unless the 't' flag is present in 'cpoptions'. The search pattern is always remembered, unless the 't' flag is present in 'cpoptions'. The search pattern
put in the search history. is always put in the search history.
If the 'wrapscan' option is on (which is the default), searches wrap around If the 'wrapscan' option is on (which is the default), searches wrap around
the end of the buffer. If 'wrapscan' is not set, the backward search stops the end of the buffer. If 'wrapscan' is not set, the backward search stops
@ -1151,11 +1151,12 @@ x A single character, with no special meaning, matches itself
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'. in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
- If two characters in the sequence are separated by '-', this is - If two characters in the sequence are separated by '-', this is
shorthand for the full list of ASCII characters between them. E.g., shorthand for the full list of ASCII characters between them. E.g.,
"[0-9]" matches any decimal digit. If the starting character exceeds "[0-9]" matches any decimal digit. If the starting character
the ending character, e.g. [c-a], E944 occurs. Non-ASCII characters exceeds the ending character, e.g. [c-a], E944 occurs. Non-ASCII
can be used, but the character values must not be more than 256 apart characters can be used, but the character values must not be more
in the old regexp engine. For example, searching by [\u3000-\u4000] than 256 apart in the old regexp engine. For example, searching by
after setting re=1 emits a E945 error. Prepending \%#=2 will fix it. [\u3000-\u4000] after setting re=1 emits a E945 error. Prepending
\%#=2 will fix it.
- A character class expression is evaluated to the set of characters - A character class expression is evaluated to the set of characters
belonging to that character class. The following character classes belonging to that character class. The following character classes
are supported: are supported:

View File

@ -1,4 +1,4 @@
*popup.txt* For Vim version 9.1. Last change: 2025 Sep 26 *popup.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -491,8 +491,8 @@ popup_locate({row}, {col}) *popup_locate()*
popup_menu({what}, {options}) *popup_menu()* popup_menu({what}, {options}) *popup_menu()*
Show the {what} near the cursor, handle selecting one of the Show the {what} near the cursor, handle selecting one of the
items with cursorkeys, and close it an item is selected with items with cursorkeys, and close it an item is selected with
Space or Enter. {what} should have multiple lines to make this Space or Enter. {what} should have multiple lines to make
useful. This works like: > this useful. This works like: >
call popup_create({what}, #{ call popup_create({what}, #{
\ pos: 'center', \ pos: 'center',
\ zindex: 200, \ zindex: 200,

View File

@ -1,4 +1,4 @@
*print.txt* For Vim version 9.1. Last change: 2025 Aug 10 *print.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -545,8 +545,9 @@ There are a number of possible causes as to why the printing may have failed:
not support the requested paper size. By default Vim uses A4 paper. Find not support the requested paper size. By default Vim uses A4 paper. Find
out what size paper your printer normally uses and set the appropriate paper out what size paper your printer normally uses and set the appropriate paper
size with 'printoptions'. If you cannot find the name of the paper used, size with 'printoptions'. If you cannot find the name of the paper used,
measure a sheet and compare it with the table of supported paper sizes listed measure a sheet and compare it with the table of supported paper sizes
for 'printoptions', using the paper that is closest in both width AND height. listed for 'printoptions', using the paper that is closest in both width AND
height.
Note: The dimensions of actual paper may vary slightly from the ones listed. Note: The dimensions of actual paper may vary slightly from the ones listed.
If there is no paper listed close enough, then you may want to try psresize If there is no paper listed close enough, then you may want to try psresize
from PSUtils, discussed below. from PSUtils, discussed below.

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 9.1. Last change: 2025 Oct 11 *quickfix.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -87,9 +87,9 @@ processing a quickfix or location list command, it will be aborted.
*:cc* *:cc*
:cc[!] [nr] Display error [nr]. If [nr] is omitted, the same :cc[!] [nr] Display error [nr]. If [nr] is omitted, the same
:[nr]cc[!] error is displayed again. Without [!] this doesn't :[nr]cc[!] error is displayed again. Without [!] this doesn't
work when jumping to another buffer, the current buffer work when jumping to another buffer, the current
has been changed, there is the only window for the buffer has been changed, there is the only window for
buffer and both 'hidden' and 'autowrite' are off. the buffer and both 'hidden' and 'autowrite' are off.
When jumping to another buffer with [!] any changes to When jumping to another buffer with [!] any changes to
the current buffer are lost, unless 'hidden' is set or the current buffer are lost, unless 'hidden' is set or
there is another window for this buffer. there is another window for this buffer.
@ -131,10 +131,10 @@ processing a quickfix or location list command, it will be aborted.
used. If there are no errors, then an error message used. If there are no errors, then an error message
is displayed. Assumes that the entries in a quickfix is displayed. Assumes that the entries in a quickfix
list are sorted by their buffer number and line list are sorted by their buffer number and line
number. If there are multiple errors on the same line, number. If there are multiple errors on the same
then only the first entry is used. If [count] exceeds line, then only the first entry is used. If [count]
the number of entries above the current line, then the exceeds the number of entries above the current line,
first error in the file is selected. then the first error in the file is selected.
*:lab* *:labove* *:lab* *:labove*
:[count]lab[ove] Same as ":cabove", except the location list for the :[count]lab[ove] Same as ":cabove", except the location list for the
@ -368,9 +368,10 @@ processing a quickfix or location list command, it will be aborted.
*:cl* *:clist* *:cl* *:clist*
:cl[ist] [from] [, [to]] :cl[ist] [from] [, [to]]
List all errors that are valid |quickfix-valid|. List all errors that are valid |quickfix-valid|.
If numbers [from] and/or [to] are given, the respective If numbers [from] and/or [to] are given, the
range of errors is listed. A negative number counts respective range of errors is listed. A negative
from the last error backwards, -1 being the last error. number counts from the last error backwards, -1 being
the last error.
The |:filter| command can be used to display only the The |:filter| command can be used to display only the
quickfix entries matching a supplied pattern. The quickfix entries matching a supplied pattern. The
pattern is matched against the filename, module name, pattern is matched against the filename, module name,
@ -1181,8 +1182,8 @@ arguments to :grep are passed straight to the "grep" program, so you can use
whatever options your "grep" supports. whatever options your "grep" supports.
By default, :grep invokes grep with the -n option (show file and line By default, :grep invokes grep with the -n option (show file and line
numbers). You can change this with the 'grepprg' option. You will need to set numbers). You can change this with the 'grepprg' option. You will need to
'grepprg' if: set 'grepprg' if:
a) You are using a program that isn't called "grep" a) You are using a program that isn't called "grep"
b) You have to call grep with a full path b) You have to call grep with a full path
@ -1312,8 +1313,9 @@ The .NET CLI compiler outputs both errors and warnings by default. The output
may be limited to include only errors, by setting the g:dotnet_errors_only may be limited to include only errors, by setting the g:dotnet_errors_only
variable to |v:true|. variable to |v:true|.
The associated project name is included in each error and warning. To suppress The associated project name is included in each error and warning. To
the project name, set the g:dotnet_show_project_file variable to |v:false|. suppress the project name, set the g:dotnet_show_project_file variable to
|v:false|.
Example: limit output to only display errors, and suppress the project name: > Example: limit output to only display errors, and suppress the project name: >
let dotnet_errors_only = v:true let dotnet_errors_only = v:true
@ -1690,8 +1692,8 @@ Included in the distribution compiler for TeX ($VIMRUNTIME/compiler/tex.vim)
uses make command if possible. If the compiler finds a file named "Makefile" uses make command if possible. If the compiler finds a file named "Makefile"
or "makefile" in the current directory, it supposes that you want to process or "makefile" in the current directory, it supposes that you want to process
your *TeX files with make, and the makefile does the right work. In this case your *TeX files with make, and the makefile does the right work. In this case
compiler sets 'errorformat' for *TeX output and leaves 'makeprg' untouched. If compiler sets 'errorformat' for *TeX output and leaves 'makeprg' untouched.
neither "Makefile" nor "makefile" is found, the compiler will not use make. If neither "Makefile" nor "makefile" is found, the compiler will not use make.
You can force the compiler to ignore makefiles by defining You can force the compiler to ignore makefiles by defining
b:tex_ignore_makefile or g:tex_ignore_makefile variable (they are checked for b:tex_ignore_makefile or g:tex_ignore_makefile variable (they are checked for
existence only). existence only).
@ -1736,8 +1738,8 @@ automatically in Typst buffers by the Typst filetype plugin |ft-typst-plugin|.
Run |:make| to compile the current Typst file. Run |:make| to compile the current Typst file.
*g:typst_cmd* *g:typst_cmd*
By default Vim will use "typst" as the command to run the Typst compiler. This By default Vim will use "typst" as the command to run the Typst compiler.
can be changed by setting the |g:typst_cmd| variable: > This can be changed by setting the |g:typst_cmd| variable: >
let g:typst_cmd = "/path/to/other/command" let g:typst_cmd = "/path/to/other/command"
============================================================================= =============================================================================
@ -1824,11 +1826,11 @@ or >
to indicate the column of the error. This is to be used in a multi-line error to indicate the column of the error. This is to be used in a multi-line error
message. See |errorformat-javac| for a useful example. message. See |errorformat-javac| for a useful example.
The "%s" conversion specifies the text to search for, to locate the error line. The "%s" conversion specifies the text to search for, to locate the error
The text is used as a literal string. The anchors "^" and "$" are added to line. The text is used as a literal string. The anchors "^" and "$" are
the text to locate the error line exactly matching the search text and the added to the text to locate the error line exactly matching the search text
text is prefixed with the "\V" atom to make it "very nomagic". The "%s" and the text is prefixed with the "\V" atom to make it "very nomagic". The
conversion can be used to locate lines without a line number in the error "%s" conversion can be used to locate lines without a line number in the error
output. Like the output of the "grep" shell command. output. Like the output of the "grep" shell command.
When the pattern is present the line number will not be used. When the pattern is present the line number will not be used.
@ -2019,7 +2021,8 @@ be escaped), meta symbols have to be written with leading '%':
%~ The single '~' character. %~ The single '~' character.
When using character classes in expressions (see |/\i| for an overview), When using character classes in expressions (see |/\i| for an overview),
terms containing the "\+" quantifier can be written in the scanf() "%*" terms containing the "\+" quantifier can be written in the scanf() "%*"
notation. Example: "%\\d%\\+" ("\d\+", "any number") is equivalent to "%*\\d". notation. Example: "%\\d%\\+" ("\d\+", "any number") is equivalent to
"%*\\d".
Important note: The \(...\) grouping of sub-matches can not be used in format Important note: The \(...\) grouping of sub-matches can not be used in format
specifications because it is reserved for internal conversions. specifications because it is reserved for internal conversions.
@ -2358,8 +2361,8 @@ For example, if only the filename is present for a quickfix entry, then the
two "|" field separator characters after the filename are not needed. Another two "|" field separator characters after the filename are not needed. Another
use case is to customize the path displayed for a filename. By default, the use case is to customize the path displayed for a filename. By default, the
complete path (which may be too long) is displayed for files which are not complete path (which may be too long) is displayed for files which are not
under the current directory tree. The file path may need to be simplified to a under the current directory tree. The file path may need to be simplified to
common parent directory. a common parent directory.
The displayed text can be customized by setting the 'quickfixtextfunc' option The displayed text can be customized by setting the 'quickfixtextfunc' option
to a Vim function. This function will be called with a dict argument and to a Vim function. This function will be called with a dict argument and

View File

@ -1,4 +1,4 @@
*recover.txt* For Vim version 9.1. Last change: 2023 Apr 22 *recover.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*repeat.txt* For Vim version 9.1. Last change: 2025 Jul 15 *repeat.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -157,11 +157,11 @@ q Stops recording. (Implementation note: The 'q' that
@@ Repeat the previous @{0-9a-z":*} [count] times. @@ Repeat the previous @{0-9a-z":*} [count] times.
*:@* *:@*
:[addr]@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} as an Ex :[addr]@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} as an
command. First set cursor at line [addr] (default is Ex command. First set cursor at line [addr] (default
current line). When the last line in the register does is current line). When the last line in the register
not have a <CR> it will be added automatically when does not have a <CR> it will be added automatically
the 'e' flag is present in 'cpoptions'. when the 'e' flag is present in 'cpoptions'.
For ":@=" the last used expression is used. The For ":@=" the last used expression is used. The
result of evaluating the expression is executed as an result of evaluating the expression is executed as an
Ex command. Ex command.
@ -615,8 +615,8 @@ advantages over normal plugins:
Using a package and loading automatically ~ Using a package and loading automatically ~
Let's assume your Vim files are in the "~/.vim" directory and you want to add a Let's assume your Vim files are in the "~/.vim" directory and you want to add
package from a zip archive "/tmp/foopack.zip": > a package from a zip archive "/tmp/foopack.zip": >
% mkdir -p ~/.vim/pack/foo % mkdir -p ~/.vim/pack/foo
% cd ~/.vim/pack/foo % cd ~/.vim/pack/foo
% unzip /tmp/foopack.zip % unzip /tmp/foopack.zip
@ -647,9 +647,9 @@ find the syntax/some.vim file, because its directory is in 'runtimepath'.
Vim will also load ftdetect files, if there are any. Vim will also load ftdetect files, if there are any.
Note that the files under "pack/foo/opt" are not loaded automatically, only the Note that the files under "pack/foo/opt" are not loaded automatically, only
ones under "pack/foo/start". See |pack-add| below for how the "opt" directory the ones under "pack/foo/start". See |pack-add| below for how the "opt"
is used. directory is used.
Loading packages automatically will not happen if loading plugins is disabled, Loading packages automatically will not happen if loading plugins is disabled,
see |load-plugins|. see |load-plugins|.
@ -725,8 +725,8 @@ This assumes you write one or more plugins that you distribute as a package.
If you have two unrelated plugins you would use two packages, so that Vim If you have two unrelated plugins you would use two packages, so that Vim
users can choose what they include or not. Or you can decide to use one users can choose what they include or not. Or you can decide to use one
package with optional plugins, and tell the user to add the preferred ones with package with optional plugins, and tell the user to add the preferred ones
`:packadd`. with `:packadd`.
Decide how you want to distribute the package. You can create an archive or Decide how you want to distribute the package. You can create an archive or
you could use a repository. An archive can be used by more users, but is a you could use a repository. An archive can be used by more users, but is a
@ -819,12 +819,13 @@ PLUGPACKAGE A variable containing the name of the package that we
PO_PLUG_INPUTLIST A variable containing scripts that have strings PO_PLUG_INPUTLIST A variable containing scripts that have strings
to translate, i.e. where we specified the |gettext()| to translate, i.e. where we specified the |gettext()|
function. Scripts are specified with an absolute function. Scripts are specified with an absolute
or relative path. Example: start/foobar/plugin/bar.vim or relative path. Example:
start/foobar/plugin/bar.vim
use blanks to separate scripts. use blanks to separate scripts.
POT_PLUGPACKAGE_PATH A variable containing the directory where the prepared POT_PLUGPACKAGE_PATH A variable containing the directory where the prepared
POT file will be saved. This is not a required variable, POT file will be saved. This is not a required
if no directory is specified, then the POT file will variable, if no directory is specified, then the POT
be placed in the "src/po" directory. file will be placed in the "src/po" directory.
VIMPROG A variable containing a directory with a working Vim. VIMPROG A variable containing a directory with a working Vim.
If the Vim editor is already built and installed, and If the Vim editor is already built and installed, and
is contained in the $PATH environment variable, is contained in the $PATH environment variable,
@ -837,8 +838,8 @@ Once a POT file is created, its contents are copied into separate PO files for
each language for which the translation will be prepared. each language for which the translation will be prepared.
When the translation is finished, it is necessary to convert the PO files into When the translation is finished, it is necessary to convert the PO files into
binary MO-files format and place these MO-files into the "lang/" directory, the binary MO-files format and place these MO-files into the "lang/" directory,
structure of which we created earlier. the structure of which we created earlier.
To do this, run the following commands: To do this, run the following commands:
> >
cd ~/forkvim/src/po cd ~/forkvim/src/po
@ -851,14 +852,15 @@ Where:
PLUGPACKAGE A variable containing the name of the package that we PLUGPACKAGE A variable containing the name of the package that we
specified in the |bindtextdomain()| and |gettext()| specified in the |bindtextdomain()| and |gettext()|
functions, for example, "foobar". functions, for example, "foobar".
PO_PLUGPACKAGE A variable containing a PO file. The file is specified PO_PLUGPACKAGE A variable containing a PO file. The file is
with an absolute or relative path. For example, specified with an absolute or relative path. For
"~/myproject/translate/en.po" example, "~/myproject/translate/en.po"
MO_PLUGPACKAGE_PATH A variable containing the structure of the "lang/" MO_PLUGPACKAGE_PATH A variable containing the structure of the "lang/"
directory, where the file with translations will be directory, where the file with translations will be
placed, for example, "foobar.mo". This is not placed, for example, "foobar.mo". This is not
a required variable, if the directory is not specified, a required variable, if the directory is not
the MO file will be saved in the "src/po" directory. specified, the MO file will be saved in the "src/po"
directory.
{package}.mo This is the Target. It is specified as the name of {package}.mo This is the Target. It is specified as the name of
the package, for example, "foobar" with the addition the package, for example, "foobar" with the addition
of the .mo extension. of the .mo extension.
@ -1481,8 +1483,8 @@ mind there are various things that may clobber the results:
- The accuracy of the time measured depends on the gettimeofday(), or - The accuracy of the time measured depends on the gettimeofday(), or
clock_gettime() if available, system function. The accuracy ranges from clock_gettime() if available, system function. The accuracy ranges from
1/100 second to nanoseconds. With clock_gettime() the times are displayed in 1/100 second to nanoseconds. With clock_gettime() the times are displayed
nanoseconds, otherwise microseconds. You can use `has("prof_nsec")`. in nanoseconds, otherwise microseconds. You can use `has("prof_nsec")`.
- Real elapsed time is measured, if other processes are busy they may cause - Real elapsed time is measured, if other processes are busy they may cause
delays at unpredictable moments. You may want to run the profiling several delays at unpredictable moments. You may want to run the profiling several

View File

@ -1,4 +1,4 @@
*sign.txt* For Vim version 9.1. Last change: 2025 Oct 05 *sign.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Gordon Prieur VIM REFERENCE MANUAL by Gordon Prieur
@ -213,8 +213,8 @@ See |sign_place()| for the equivalent Vim script function.
By default, the sign is placed in the global sign group. By default, the sign is placed in the global sign group.
By default, the sign is assigned a default priority of 10, By default, the sign is assigned a default priority of 10,
unless specified otherwise by the sign definition. To assign a unless specified otherwise by the sign definition. To assign
different priority value, use "priority={prio}" to specify a a different priority value, use "priority={prio}" to specify a
value. The priority is used to determine the sign that is value. The priority is used to determine the sign that is
displayed when multiple signs are placed on the same line. displayed when multiple signs are placed on the same line.
@ -312,7 +312,8 @@ See |sign_unplace()| for the equivalent Vim script function.
all the files it appears in. all the files it appears in.
:sig[n] unplace * :sig[n] unplace *
Remove all placed signs in the global group from all the files. Remove all placed signs in the global group from all the
files.
:sig[n] unplace * group={group} :sig[n] unplace * group={group}
Remove all placed signs in group {group} from all the files. Remove all placed signs in group {group} from all the files.
@ -321,8 +322,8 @@ See |sign_unplace()| for the equivalent Vim script function.
Remove all placed signs in all the groups from all the files. Remove all placed signs in all the groups from all the files.
:sig[n] unplace :sig[n] unplace
Remove a placed sign at the cursor position. If multiple signs Remove a placed sign at the cursor position. If multiple
are placed in the line, then only one is removed. signs are placed in the line, then only one is removed.
:sig[n] unplace group={group} :sig[n] unplace group={group}
Remove a placed sign in group {group} at the cursor Remove a placed sign in group {group} at the cursor
@ -498,8 +499,8 @@ sign_getplaced([{buf} [, {dict}]]) *sign_getplaced()*
lnum select signs placed in this line. For the use lnum select signs placed in this line. For the use
of {lnum}, see |line()|. of {lnum}, see |line()|.
If {group} is '*', then signs in all the groups including the If {group} is '*', then signs in all the groups including the
global group are returned. If {group} is not supplied or is an global group are returned. If {group} is not supplied or is
empty string, then only signs in the global group are an empty string, then only signs in the global group are
returned. If no arguments are supplied, then signs in the returned. If no arguments are supplied, then signs in the
global group placed in all the buffers are returned. global group placed in all the buffers are returned.
See |sign-group|. See |sign-group|.
@ -579,8 +580,8 @@ sign_place({id}, {group}, {name}, {buf} [, {dict}])
similar to the |:sign-place| command. similar to the |:sign-place| command.
If the sign identifier {id} is zero, then a new identifier is If the sign identifier {id} is zero, then a new identifier is
allocated. Otherwise the specified number is used. {group} is allocated. Otherwise the specified number is used. {group}
the sign group name. To use the global sign group, use an is the sign group name. To use the global sign group, use an
empty string. {group} functions as a namespace for {id}, thus empty string. {group} functions as a namespace for {id}, thus
two groups can use the same IDs. Refer to |sign-identifier| two groups can use the same IDs. Refer to |sign-identifier|
and |sign-group| for more information. and |sign-group| for more information.
@ -779,8 +780,8 @@ sign_unplacelist({list}) *sign_unplacelist()*
values, see |bufname()|. If not specified, values, see |bufname()|. If not specified,
then the specified sign is removed from all then the specified sign is removed from all
the buffers. the buffers.
group sign group name. If not specified or set to an group sign group name. If not specified or set to
empty string, then the global sign group is an empty string, then the global sign group is
used. If set to '*', then all the groups used. If set to '*', then all the groups
including the global group are used. including the global group are used.
id sign identifier. If not specified, then all id sign identifier. If not specified, then all

View File

@ -842,8 +842,8 @@ starting with an upper-case letter.
When the word includes an upper-case letter, this means the upper-case letter When the word includes an upper-case letter, this means the upper-case letter
is required at this position. The same word with a lower-case letter at this is required at this position. The same word with a lower-case letter at this
position will not match. When some of the other letters are upper-case it will position will not match. When some of the other letters are upper-case it
not match either. will not match either.
The word with all upper-case characters will always be OK, The word with all upper-case characters will always be OK,
@ -1182,9 +1182,10 @@ WORDS WITH A SLASH *spell-SLASH*
The slash is used in the .dic file to separate the basic word from the affix The slash is used in the .dic file to separate the basic word from the affix
letters and other flags. Unfortunately, this means you cannot use a slash in letters and other flags. Unfortunately, this means you cannot use a slash in
a word. Thus "TCP/IP" is not a word but "TCP" with the flags "IP". To include a word. Thus "TCP/IP" is not a word but "TCP" with the flags "IP". To
a slash in the word put a backslash before it: "TCP\/IP". In the rare case include a slash in the word put a backslash before it: "TCP\/IP". In the rare
you want to use a backslash inside a word you need to use two backslashes. case you want to use a backslash inside a word you need to use two
backslashes.
Any other use of the backslash is reserved for future expansion. Any other use of the backslash is reserved for future expansion.

View File

@ -1,4 +1,4 @@
*sponsor.txt* For Vim version 9.1. Last change: 2025 Aug 10 *sponsor.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 9.1. Last change: 2025 Aug 06 *starting.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -43,8 +43,8 @@ filename One or more file names. The first one will be the current
To avoid a file name starting with a '-' being interpreted as To avoid a file name starting with a '-' being interpreted as
an option, precede the arglist with "--", e.g.: > an option, precede the arglist with "--", e.g.: >
vim -- -filename vim -- -filename
< All arguments after the "--" will be interpreted as file names, < All arguments after the "--" will be interpreted as file
no other options or "+command" argument can follow. names, no other options or "+command" argument can follow.
For behavior of quotes on MS-Windows, see |win32-quotes|. For behavior of quotes on MS-Windows, see |win32-quotes|.
*--* *--*
@ -1112,8 +1112,8 @@ The specification can be found online at
https://specifications.freedesktop.org/basedir-spec/latest/ https://specifications.freedesktop.org/basedir-spec/latest/
The location of this standard configuration directory is configurable by the The location of this standard configuration directory is configurable by the
user, using an environment variable but should also give fallback in case those user, using an environment variable but should also give fallback in case
variables weren't set. those variables weren't set.
This is not an exhaustive list of those directories: This is not an exhaustive list of those directories:
Environment var Default location Description ~ Environment var Default location Description ~
@ -1637,8 +1637,8 @@ has marks for.
*viminfo-file-marks* *viminfo-file-marks*
Uppercase marks ('A to 'Z) are stored when writing the viminfo file. The Uppercase marks ('A to 'Z) are stored when writing the viminfo file. The
numbered marks ('0 to '9) are a bit special. When the viminfo file is written numbered marks ('0 to '9) are a bit special. When the viminfo file is written
(when exiting or with the ":wviminfo" command), '0 is set to the current cursor (when exiting or with the ":wviminfo" command), '0 is set to the current
position and file. The old '0 is moved to '1, '1 to '2, etc. This cursor position and file. The old '0 is moved to '1, '1 to '2, etc. This
resembles what happens with the "1 to "9 delete registers. If the current resembles what happens with the "1 to "9 delete registers. If the current
cursor position is already present in '0 to '9, it is moved to '0, to avoid cursor position is already present in '0 to '9, it is moved to '0, to avoid
having the same position twice. The result is that with "'0", you can jump having the same position twice. The result is that with "'0", you can jump
@ -1738,8 +1738,8 @@ most of the information will be restored).
The information in the file is first read in to make The information in the file is first read in to make
a merge between old and new info. When [!] is used, a merge between old and new info. When [!] is used,
the old information is not read first, only the the old information is not read first, only the
internal info is written. If 'viminfo' is empty, marks internal info is written. If 'viminfo' is empty,
for up to 100 files will be written. marks for up to 100 files will be written.
When you get error "E929: Too many viminfo temp When you get error "E929: Too many viminfo temp
files", check that no old temp files were left behind files", check that no old temp files were left behind
(e.g. ~/.viminf*) and that you can write in the (e.g. ~/.viminf*) and that you can write in the

View File

@ -465,9 +465,9 @@ not set.
Default: 0. Default: 0.
When 0, display a progress bar in the statusline for each major step in the When 0, display a progress bar in the statusline for each major step in the
2html.vim conversion process. 2html.vim conversion process.
When 1, do not display the progress bar. This offers a minor speed improvement When 1, do not display the progress bar. This offers a minor speed
but you won't have any idea how much longer the conversion might take; for big improvement but you won't have any idea how much longer the conversion might
files it can take a long time! take; for big files it can take a long time!
Example: > Example: >
let g:html_no_progress = 1 let g:html_no_progress = 1
@ -586,10 +586,10 @@ folded text will open the fold as if |g:html_hover_unfold| were set.
*TOhtml-uncopyable-text* *g:html_prevent_copy* *TOhtml-uncopyable-text* *g:html_prevent_copy*
Default: Empty string. Default: Empty string.
This option prevents certain regions of the generated HTML from being copied, This option prevents certain regions of the generated HTML from being copied,
when you select all text in document rendered in a browser and copy it. Useful when you select all text in document rendered in a browser and copy it.
for allowing users to copy-paste only the source text even if a fold column or Useful for allowing users to copy-paste only the source text even if a fold
line numbers are shown in the generated content. Specify regions to be column or line numbers are shown in the generated content. Specify regions to
affected in this way as follows: be affected in this way as follows:
f: fold column f: fold column
n: line numbers (also within fold text) n: line numbers (also within fold text)
t: fold text t: fold text
@ -738,14 +738,15 @@ It is highly recommended to set your desired encoding with
If you do not specify an encoding, |2html.vim| uses the preferred IANA name If you do not specify an encoding, |2html.vim| uses the preferred IANA name
for the current value of 'fileencoding' if set, or 'encoding' if not. for the current value of 'fileencoding' if set, or 'encoding' if not.
'encoding' is always used for certain 'buftype' values. 'fileencoding' will be 'encoding' is always used for certain 'buftype' values. 'fileencoding' will
set to match the chosen document encoding. be set to match the chosen document encoding.
Automatic detection works for the encodings mentioned specifically by name in Automatic detection works for the encodings mentioned specifically by name in
|encoding-names|, but TOhtml will only automatically use those encodings with |encoding-names|, but TOhtml will only automatically use those encodings with
wide browser support. However, you can override this to support specific wide browser support. However, you can override this to support specific
encodings that may not be automatically detected by default (see options encodings that may not be automatically detected by default (see options
below). See http://www.iana.org/assignments/character-sets for the IANA names. below). See http://www.iana.org/assignments/character-sets for the IANA
names.
Note: By default all Unicode encodings are converted to UTF-8 with no BOM in Note: By default all Unicode encodings are converted to UTF-8 with no BOM in
the generated HTML, as recommended by W3C: the generated HTML, as recommended by W3C:
@ -785,10 +786,10 @@ Default: none, autoload/tohtml.vim contains default conversions for encodings
mentioned by name at |encoding-names| and which have wide mentioned by name at |encoding-names| and which have wide
browser support. browser support.
This option allows |2html.vim| to detect the HTML charset for any This option allows |2html.vim| to detect the HTML charset for any
'fileencoding' or 'encoding' which is not detected automatically. You can also 'fileencoding' or 'encoding' which is not detected automatically. You can
use it to override specific existing encoding-charset pairs. For example, also use it to override specific existing encoding-charset pairs. For
TOhtml will by default use UTF-8 for all Unicode/UCS encodings. To use UTF-16 example, TOhtml will by default use UTF-8 for all Unicode/UCS encodings. To
and UTF-32 instead, use: > use UTF-16 and UTF-32 instead, use: >
:let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'} :let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'}
Note that documents encoded in either UTF-32 or UTF-16 have known Note that documents encoded in either UTF-32 or UTF-16 have known
@ -799,10 +800,10 @@ Default: "monospace"
You can specify the font or fonts used in the converted document using You can specify the font or fonts used in the converted document using
g:html_font. If this option is set to a string, then the value will be g:html_font. If this option is set to a string, then the value will be
surrounded with single quotes. If this option is set to a list then each list surrounded with single quotes. If this option is set to a list then each list
item is surrounded by single quotes and the list is joined with commas. Either item is surrounded by single quotes and the list is joined with commas.
way, "monospace" is added as the fallback generic family name and the entire Either way, "monospace" is added as the fallback generic family name and the
result used as the font family (using CSS) or font face (if not using CSS). entire result used as the font family (using CSS) or font face (if not using
Examples: > CSS). Examples: >
" font-family: 'Consolas', monospace; " font-family: 'Consolas', monospace;
:let g:html_font = "Consolas" :let g:html_font = "Consolas"
@ -876,9 +877,9 @@ version 2.2.3.
ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax* ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
*ft-masm-syntax* *ft-asm68k-syntax* *fasm.vim* *ft-masm-syntax* *ft-asm68k-syntax* *fasm.vim*
Files matching "*.i" could be Progress or Assembly. If the automatic detection Files matching "*.i" could be Progress or Assembly. If the automatic
doesn't work for you, or you don't edit Progress at all, use this in your detection doesn't work for you, or you don't edit Progress at all, use this in
startup vimrc: > your startup vimrc: >
:let filetype_i = "asm" :let filetype_i = "asm"
Replace "asm" with the type of assembly you use. Replace "asm" with the type of assembly you use.
@ -986,8 +987,8 @@ or for Xorg colors (e.g: AliceBlue): >
BAAN *baan.vim* *baan-syntax* BAAN *baan.vim* *baan-syntax*
The baan.vim gives syntax support for BaanC of release BaanIV up to SSA ERP LN The baan.vim gives syntax support for BaanC of release BaanIV up to SSA ERP LN
for both 3 GL and 4 GL programming. Large number of standard defines/constants for both 3 GL and 4 GL programming. Large number of standard
are supported. defines/constants are supported.
Some special violation of coding standards will be signalled when one specify Some special violation of coding standards will be signalled when one specify
in ones |.vimrc|: > in ones |.vimrc|: >
@ -1289,10 +1290,10 @@ Now the syntax engine should determine the newly changed CSV delimiter.
CYNLIB *cynlib.vim* *ft-cynlib-syntax* CYNLIB *cynlib.vim* *ft-cynlib-syntax*
Cynlib files are C++ files that use the Cynlib class library to enable Cynlib files are C++ files that use the Cynlib class library to enable
hardware modelling and simulation using C++. Typically Cynlib files have a .cc hardware modelling and simulation using C++. Typically Cynlib files have a
or a .cpp extension, which makes it very difficult to distinguish them from a .cc or a .cpp extension, which makes it very difficult to distinguish them
normal C++ file. Thus, to enable Cynlib highlighting for .cc files, add this from a normal C++ file. Thus, to enable Cynlib highlighting for .cc files,
line to your .vimrc file: > add this line to your .vimrc file: >
:let cynlib_cyntax_for_cc=1 :let cynlib_cyntax_for_cc=1
@ -1332,9 +1333,9 @@ following variables:
DART *dart.vim* *ft-dart-syntax* DART *dart.vim* *ft-dart-syntax*
Dart is an object-oriented, typed, class defined, garbage collected language Dart is an object-oriented, typed, class defined, garbage collected language
used for developing mobile, desktop, web, and back-end applications. Dart uses used for developing mobile, desktop, web, and back-end applications. Dart
a C-like syntax derived from C, Java, and JavaScript, with features adopted uses a C-like syntax derived from C, Java, and JavaScript, with features
from Smalltalk, Python, Ruby, and others. adopted from Smalltalk, Python, Ruby, and others.
More information about the language and its development environment at the More information about the language and its development environment at the
official Dart language website at https://dart.dev official Dart language website at https://dart.dev
@ -1809,8 +1810,8 @@ fortran_fold in your .vimrc with a command such as >
to instruct the syntax script to define fold regions for program units, that to instruct the syntax script to define fold regions for program units, that
is main programs starting with a program statement, subroutines, function is main programs starting with a program statement, subroutines, function
subprograms, modules, submodules, blocks of comment lines, and block data subprograms, modules, submodules, blocks of comment lines, and block data
units. Block, interface, associate, critical, type definition, and change team units. Block, interface, associate, critical, type definition, and change
constructs will also be folded. If you also set the variable team constructs will also be folded. If you also set the variable
fortran_fold_conditionals with a command such as > fortran_fold_conditionals with a command such as >
:let fortran_fold_conditionals=1 :let fortran_fold_conditionals=1
then fold regions will also be defined for do loops, if blocks, select case, then fold regions will also be defined for do loops, if blocks, select case,
@ -2455,9 +2456,9 @@ these versions using the global variables |g:lua_version| and
MAIL *mail.vim* *ft-mail.vim* MAIL *mail.vim* *ft-mail.vim*
Vim highlights all the standard elements of an email (headers, signatures, Vim highlights all the standard elements of an email (headers, signatures,
quoted text and URLs / email addresses). In keeping with standard conventions, quoted text and URLs / email addresses). In keeping with standard
signatures begin in a line containing only "--" followed optionally by conventions, signatures begin in a line containing only "--" followed
whitespaces and end with a newline. optionally by whitespaces and end with a newline.
Vim treats lines beginning with ']', '}', '|', '>' or a word followed by '>' Vim treats lines beginning with ']', '}', '|', '>' or a word followed by '>'
as quoted text. However Vim highlights headers and signatures in quoted text as quoted text. However Vim highlights headers and signatures in quoted text
@ -2498,8 +2499,9 @@ MAPLE *maple.vim* *ft-maple-syntax*
Maple V, by Waterloo Maple Inc, supports symbolic algebra. The language Maple V, by Waterloo Maple Inc, supports symbolic algebra. The language
supports many packages of functions which are selectively loaded by the user. supports many packages of functions which are selectively loaded by the user.
The standard set of packages' functions as supplied in Maple V release 4 may be The standard set of packages' functions as supplied in Maple V release 4 may
highlighted at the user's discretion. Users may place in their .vimrc file: > be highlighted at the user's discretion. Users may place in their .vimrc
file: >
:let mvpkg_all= 1 :let mvpkg_all= 1
@ -2821,8 +2823,8 @@ This is a list of the rules which can be used here:
- inlinecode - inlinecode
- inlinemath - inlinemath
You can customize the way concealing works. For example, if you prefer to mark You can customize the way concealing works. For example, if you prefer to
footnotes with the `*` symbol: > mark footnotes with the `*` symbol: >
:let g:pandoc#syntax#conceal#cchar_overrides = {"footnote" : "*"} :let g:pandoc#syntax#conceal#cchar_overrides = {"footnote" : "*"}
@ -2858,8 +2860,8 @@ To add underline subscript, superscript and strikeout text styles. Default = 1 >
:let g:pandoc#syntax#style#underline_special = 1 :let g:pandoc#syntax#style#underline_special = 1
Detect and highlight definition lists. Disabling this can improve performance. Detect and highlight definition lists. Disabling this can improve
Default = 1 (i.e., enabled by default) > performance. Default = 1 (i.e., enabled by default) >
:let g:pandoc#syntax#style#use_definition_lists = 1 :let g:pandoc#syntax#style#use_definition_lists = 1
@ -3333,8 +3335,8 @@ RASI *rasi.vim* *ft-rasi-syntax*
Rasi stands for Rofi Advanced Style Information. It is used by the program Rasi stands for Rofi Advanced Style Information. It is used by the program
rofi to style the rendering of the search window. The language is heavily rofi to style the rendering of the search window. The language is heavily
inspired by CSS stylesheet. Files with the following extensions are recognized inspired by CSS stylesheet. Files with the following extensions are
as rasi files: .rasi. recognized as rasi files: .rasi.
READLINE *readline.vim* *ft-readline-syntax* READLINE *readline.vim* *ft-readline-syntax*
@ -4045,7 +4047,8 @@ syntax highlighting script handles this with the following logic:
< If you don't want matching to occur inside bold and italicized < If you don't want matching to occur inside bold and italicized
regions, > regions, >
let g:tex_excludematcher= 1 let g:tex_excludematcher= 1
< will prevent the texMatcher group from being included in those regions. < will prevent the texMatcher group from being included in those
regions.
TF *tf.vim* *ft-tf-syntax* TF *tf.vim* *ft-tf-syntax*
@ -4167,8 +4170,8 @@ using Neovim), set >
WDL *wdl.vim* *wdl-syntax* WDL *wdl.vim* *wdl-syntax*
The Workflow Description Language is a way to specify data processing workflows The Workflow Description Language is a way to specify data processing
with a human-readable and writeable syntax. This is used a lot in workflows with a human-readable and writeable syntax. This is used a lot in
bioinformatics. More info on the spec can be found here: bioinformatics. More info on the spec can be found here:
https://github.com/openwdl/wdl https://github.com/openwdl/wdl
@ -5476,8 +5479,9 @@ of colors by using the `:colorscheme` command, for example: >
< In case g:colors_name has not been defined :colo will < In case g:colors_name has not been defined :colo will
output "default". Its palette is defined in the file output "default". Its palette is defined in the file
"$VIMRUNTIME/syntax/syncolor.vim" and is based on "$VIMRUNTIME/syntax/syncolor.vim" and is based on
legacy versions of peachpuff and desert. When compiled legacy versions of peachpuff and desert. When
without the |+eval| feature it will output "unknown". compiled without the |+eval| feature it will output
"unknown".
:colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath' :colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath'
for the file "colors/{name}.vim". The first one that for the file "colors/{name}.vim". The first one that
@ -5907,10 +5911,10 @@ guisp={color-name} *highlight-guisp*
colorscheme alt colorscheme alt
< <
If you want to develop a color list that can be relied on by others, If you want to develop a color list that can be relied on by others,
it is best to prefix your color names. By convention these color lists it is best to prefix your color names. By convention these color
are placed in the colors/lists directory. You can see an example in lists are placed in the colors/lists directory. You can see an
'$VIMRUNTIME/colors/lists/csscolors.vim'. This list would be sourced example in '$VIMRUNTIME/colors/lists/csscolors.vim'. This list would
by a color scheme using: > be sourced by a color scheme using: >
:runtime colors/lists/csscolors.vim :runtime colors/lists/csscolors.vim
:highlight Comment guifg=css_turquoise :highlight Comment guifg=css_turquoise
@ -5936,7 +5940,8 @@ lCursor Character under the cursor when |language-mapping|
*hl-CursorIM* *hl-CursorIM*
CursorIM Like Cursor, but used when in IME mode. |CursorIM| CursorIM Like Cursor, but used when in IME mode. |CursorIM|
*hl-CursorColumn* *hl-CursorColumn*
CursorColumn Screen column that the cursor is in when 'cursorcolumn' is set. CursorColumn Screen column that the cursor is in when 'cursorcolumn' is
set.
*hl-CursorLine* *hl-CursorLine*
CursorLine Screen line that the cursor is in when 'cursorline' is set. CursorLine Screen line that the cursor is in when 'cursorline' is set.
*hl-Directory* *hl-Directory*

View File

@ -1,4 +1,4 @@
*tabpage.txt* For Vim version 9.1. Last change: 2025 Aug 06 *tabpage.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 9.1. Last change: 2025 May 01 *tagsrch.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -455,8 +455,8 @@ would otherwise go unnoticed. Example: >
:$d|/tag-function-name/ :$d|/tag-function-name/
In Vi the ":tag" command sets the last search pattern when the tag is searched In Vi the ":tag" command sets the last search pattern when the tag is searched
for. In Vim this is not done, the previous search pattern is still remembered, for. In Vim this is not done, the previous search pattern is still
unless the 't' flag is present in 'cpoptions'. remembered, unless the 't' flag is present in 'cpoptions'.
*emacs-tags* *emacs_tags* *E430* *emacs-tags* *emacs_tags* *E430*
Emacs style tag files are only supported if Vim was compiled with the Emacs style tag files are only supported if Vim was compiled with the
@ -928,7 +928,8 @@ The function should return a List of Dict entries. Each Dict must at least
include the following entries and each value must be a string: include the following entries and each value must be a string:
name Name of the tag. name Name of the tag.
filename Name of the file where the tag is defined. It is filename Name of the file where the tag is defined. It is
either relative to the current directory or a full path. either relative to the current directory or a full
path.
cmd Ex command used to locate the tag in the file. This cmd Ex command used to locate the tag in the file. This
can be either an Ex search pattern or a line number. can be either an Ex search pattern or a line number.
Note that the format is similar to that of |taglist()|, which makes it possible Note that the format is similar to that of |taglist()|, which makes it possible

View File

@ -1,4 +1,4 @@
*term.txt* For Vim version 9.1. Last change: 2025 Sep 02 *term.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -746,8 +746,8 @@ Note: When 't_EI' is not set then 't_SI' and 't_SR' will not be sent. And
when 't_SI' or 't_SR' is not set then 't_EI' is sent only once. when 't_SI' or 't_SR' is not set then 't_EI' is sent only once.
This can be used to change the shape or color of the cursor in Insert or This can be used to change the shape or color of the cursor in Insert or
Replace mode. These are not standard termcap/terminfo entries, you need to set Replace mode. These are not standard termcap/terminfo entries, you need to
them yourself. set them yourself.
Example for an xterm, this changes the color of the cursor: > Example for an xterm, this changes the color of the cursor: >
if &term =~ "xterm" if &term =~ "xterm"
let &t_SI = "\<Esc>]12;purple\x7" let &t_SI = "\<Esc>]12;purple\x7"
@ -1111,7 +1111,8 @@ which characters are included in a word. A double click on a character
that has a match selects until that match (like using "v%"). If the match is that has a match selects until that match (like using "v%"). If the match is
an #if/#else/#endif block, the selection becomes linewise. an #if/#else/#endif block, the selection becomes linewise.
For MS-Windows and xterm the time for double clicking can be set with the For MS-Windows and xterm the time for double clicking can be set with the
'mousetime' option. For the other systems this time is defined outside of Vim. 'mousetime' option. For the other systems this time is defined outside of
Vim.
An example, for using a double click to jump to the tag under the cursor: > An example, for using a double click to jump to the tag under the cursor: >
:map <2-LeftMouse> :exe "tag " .. expand("<cword>")<CR> :map <2-LeftMouse> :exe "tag " .. expand("<cword>")<CR>
@ -1140,10 +1141,10 @@ modifiers.
When working with several windows, the size of the windows can be changed by When working with several windows, the size of the windows can be changed by
dragging the status line with the mouse. Point the mouse at a status line, dragging the status line with the mouse. Point the mouse at a status line,
press the left button, move the mouse to the new position of the status line, press the left button, move the mouse to the new position of the status line,
release the button. Just clicking the mouse in a status line makes that window release the button. Just clicking the mouse in a status line makes that
the current window, without moving the cursor. If by selecting a window it window the current window, without moving the cursor. If by selecting a
will change position or size, the dragging of the status line will look window it will change position or size, the dragging of the status line will
confusing, but it will work (just try it). look confusing, but it will work (just try it).
*<MiddleRelease>* *<MiddleDrag>* *<MiddleRelease>* *<MiddleDrag>*
Mouse clicks can be mapped. The codes for mouse clicks are: Mouse clicks can be mapped. The codes for mouse clicks are:

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 9.1. Last change: 2025 Oct 08 *terminal.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -71,7 +71,8 @@ the job. This uses a pty when possible. You can click outside of the
terminal window to move keyboard focus elsewhere. terminal window to move keyboard focus elsewhere.
*t_CTRL-W_CTRL-W* *t_CTRL-W_:* *t_CTRL-W_CTRL-W* *t_CTRL-W_:*
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.: CTRL-W can be used to navigate between windows and other CTRL-W commands,
e.g.:
CTRL-W CTRL-W move focus to the next window CTRL-W CTRL-W move focus to the next window
CTRL-W : enter an Ex command CTRL-W : enter an Ex command
See |CTRL-W| for more commands. See |CTRL-W| for more commands.
@ -322,9 +323,9 @@ fails, use ! to force, as usual.
*terminal-close* *terminal-close*
When the terminal job finishes and no [command] was given (e.g. the 'shell' When the terminal job finishes and no [command] was given (e.g. the 'shell'
command was executed), the terminal window will be closed by default (unless command was executed), the terminal window will be closed by default (unless
the buffer in next window receiving the space has the 'nobuflisted' option set, the buffer in next window receiving the space has the 'nobuflisted' option
in which case the terminal window would not be closed automatically, but a new set, in which case the terminal window would not be closed automatically, but
empty buffer would be opened in that window). a new empty buffer would be opened in that window).
When the terminal window is closed, e.g. when the shell exits and "++close" When the terminal window is closed, e.g. when the shell exits and "++close"
argument was used, and this is the last normal Vim window, then Vim will exit. argument was used, and this is the last normal Vim window, then Vim will exit.
@ -641,8 +642,8 @@ term_getattr({attr}, {what}) *term_getattr()*
term_getcursor({buf}) *term_getcursor()* term_getcursor({buf}) *term_getcursor()*
Get the cursor position of terminal {buf}. Returns a list with Get the cursor position of terminal {buf}. Returns a list
two numbers and a dictionary: [row, col, dict]. with two numbers and a dictionary: [row, col, dict].
"row" and "col" are one based, the first screen cell is row "row" and "col" are one based, the first screen cell is row
1, column 1. This is the cursor position of the terminal 1, column 1. This is the cursor position of the terminal
@ -969,10 +970,10 @@ term_start({cmd} [, {options}]) *term_start()*
"open": open window if needed "open": open window if needed
Note that "open" can be interruptive. Note that "open" can be interruptive.
See |term++close| and |term++open|. See |term++close| and |term++open|.
"term_opencmd" command to use for opening the window when "term_opencmd" command to use for opening the window
"open" is used for "term_finish"; must when "open" is used for "term_finish";
have "%d" where the buffer number goes, must have "%d" where the buffer number
e.g. "10split|buffer %d"; when not goes, e.g. "10split|buffer %d"; when not
specified "botright sbuf %d" is used specified "botright sbuf %d" is used
"term_highlight" highlight group to use instead of "term_highlight" highlight group to use instead of
"Terminal" "Terminal"
@ -1809,8 +1810,8 @@ However, the latter form will be deprecated in future releases.
Change default signs ~ Change default signs ~
*termdebug_signs* *termdebug_signs*
Termdebug uses the hex number of the breakpoint ID in the signcolumn to Termdebug uses the hex number of the breakpoint ID in the signcolumn to
represent breakpoints. If it is greater than "0xFF", then it will be displayed represent breakpoints. If it is greater than "0xFF", then it will be
as "F+", due to we really only have two screen cells for the sign. displayed as "F+", due to we really only have two screen cells for the sign.
You may also use decimal breakpoint signs instead, in which case IDs greater You may also use decimal breakpoint signs instead, in which case IDs greater
than 99 will be displayed as "9+". than 99 will be displayed as "9+".

View File

@ -1,4 +1,4 @@
*testing.txt* For Vim version 9.1. Last change: 2025 Mar 25 *testing.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -307,8 +307,8 @@ test_mswin_event({event}, {args}) *test_mswin_event()*
"set_keycode_trans_strategy": "set_keycode_trans_strategy":
|w32-experimental-keycode-trans-strategy| |w32-experimental-keycode-trans-strategy|
Switch the keycode translation method. The supported methods Switch the keycode translation method. The supported
are: methods are:
experimental: The method used after Patch v8.2.4807 experimental: The method used after Patch v8.2.4807
using ToUnicode() Win API call. using ToUnicode() Win API call.
classic: The method used pre Patch v8.2.4807 classic: The method used pre Patch v8.2.4807
@ -384,8 +384,8 @@ test_option_not_set({name}) *test_option_not_set()*
Return type: |Number| Return type: |Number|
test_override({name}, {val}) *test_override()* test_override({name}, {val}) *test_override()*
Overrides certain parts of Vim's internal processing to be able Overrides certain parts of Vim's internal processing to be
to run tests. Only to be used for testing Vim! able to run tests. Only to be used for testing Vim!
The override is enabled when {val} is non-zero and removed The override is enabled when {val} is non-zero and removed
when {val} is zero. when {val} is zero.
Current supported values for {name} are: Current supported values for {name} are:
@ -575,8 +575,8 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
call assert_fails('cmd', ['E987:.*expected bool']) call assert_fails('cmd', ['E987:.*expected bool'])
< The second pattern, if present, is matched against the last < The second pattern, if present, is matched against the last
reported error. reported error.
If there is only one error then both patterns must match. This If there is only one error then both patterns must match.
can be used to check that there is only one error. This can be used to check that there is only one error.
To only match the last error use an empty string for the first To only match the last error use an empty string for the first
error: > error: >
call assert_fails('cmd', ['', 'E987:']) call assert_fails('cmd', ['', 'E987:'])

View File

@ -1,4 +1,4 @@
*textprop.txt* For Vim version 9.1. Last change: 2024 Sep 08 *textprop.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -331,8 +331,8 @@ prop_list({lnum} [, {props}]) *prop_list()*
line. line.
types List of property type names. Return only text types List of property type names. Return only text
properties that match one of the type names. properties that match one of the type names.
ids List of property identifiers. Return only text ids List of property identifiers. Return only
properties with one of these identifiers. text properties with one of these identifiers.
The properties are ordered by starting column and priority. The properties are ordered by starting column and priority.
Each property is a Dict with these entries: Each property is a Dict with these entries:

View File

@ -1,4 +1,4 @@
*tips.txt* For Vim version 9.1. Last change: 2023 Aug 10 *tips.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -183,10 +183,10 @@ To make this easier, you could use these mappings: >
You then lose the ability to copy text from the line above/below the cursor You then lose the ability to copy text from the line above/below the cursor
|i_CTRL-E|. |i_CTRL-E|.
Also consider setting 'scrolloff' to a larger value, so that you can always see Also consider setting 'scrolloff' to a larger value, so that you can always
some context around the cursor. If 'scrolloff' is bigger than half the window see some context around the cursor. If 'scrolloff' is bigger than half the
height, the cursor will always be in the middle and the text is scrolled when window height, the cursor will always be in the middle and the text is
the cursor is moved up/down. scrolled when the cursor is moved up/down.
============================================================================== ==============================================================================
Smooth scrolling *scroll-smooth* Smooth scrolling *scroll-smooth*

View File

@ -1,4 +1,4 @@
*undo.txt* For Vim version 9.1. Last change: 2025 Oct 11 *undo.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -385,11 +385,12 @@ information you can use these commands: >
Note use of `&l:undolevels` to explicitly read the local value of 'undolevels' Note use of `&l:undolevels` to explicitly read the local value of 'undolevels'
and the use of `:setlocal` to change only the local option (which takes and the use of `:setlocal` to change only the local option (which takes
precedence over the corresponding global option value). Saving the option value precedence over the corresponding global option value). Saving the option
via the use of `&undolevels` is unpredictable; it reads either the local value value via the use of `&undolevels` is unpredictable; it reads either the local
(if one has been set) or the global value (otherwise). Also, if a local value value (if one has been set) or the global value (otherwise). Also, if a local
has been set, changing the option via `:set undolevels` will change both the value has been set, changing the option via `:set undolevels` will change both
global and local values, requiring extra work to save and restore both values. the global and local values, requiring extra work to save and restore both
values.
Marks for the buffer ('a to 'z) are also saved and restored, together with the Marks for the buffer ('a to 'z) are also saved and restored, together with the
text. text.

View File

@ -1,4 +1,4 @@
*userfunc.txt* For Vim version 9.1. Last change: 2025 Sep 12 *userfunc.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 9.1. Last change: 2025 Sep 22 *various.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -628,9 +628,10 @@ N *+X11* Unix only: can restore window title |X11|
< If the [!] is given, restrict the output of {command} < If the [!] is given, restrict the output of {command}
to lines that do NOT match {pattern}. to lines that do NOT match {pattern}.
{pattern} is a Vim search pattern. Instead of enclosing {pattern} is a Vim search pattern. Instead of
it in / any non-ID character (see 'isident') can be enclosing it in / any non-ID character (see 'isident')
used, so long as it does not appear in {pattern}. can be used, so long as it does not appear in
{pattern}.
Without the enclosing character the pattern cannot Without the enclosing character the pattern cannot
include the bar character. 'ignorecase' is not used. include the bar character. 'ignorecase' is not used.
@ -787,10 +788,10 @@ K Run a program to lookup the keyword under the
:[N]sl[eep]! [N][m] Same as above, but hide the cursor. :[N]sl[eep]! [N][m] Same as above, but hide the cursor.
*:xrestore* *:xr* *:xrestore* *:xr*
:xr[estore] [display] Reinitializes the connection to the X11 server. Useful :xr[estore] [display] Reinitializes the connection to the X11 server.
after the X server restarts, e.g. when running Vim for Useful after the X server restarts, e.g. when running
long time inside screen/tmux and connecting from Vim for long time inside screen/tmux and connecting
different machines. from different machines.
[display] should be in the format of the $DISPLAY [display] should be in the format of the $DISPLAY
environment variable (e.g. "localhost:10.0") environment variable (e.g. "localhost:10.0")
If [display] is omitted, then it reinitializes the If [display] is omitted, then it reinitializes the

View File

@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 9.1. Last change: 2025 Sep 29 *vi_diff.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -174,7 +174,8 @@ Multiple windows and buffers. |windows.txt|
is called a hidden buffer. Many commands and options have been added is called a hidden buffer. Many commands and options have been added
for this facility. for this facility.
Vim can also use multiple tab pages, each with one or more windows. A Vim can also use multiple tab pages, each with one or more windows. A
line with tab labels can be used to quickly switch between these pages. line with tab labels can be used to quickly switch between these
pages.
|tab-page| |tab-page|
Terminal window. |:terminal| Terminal window. |:terminal|

View File

@ -1,4 +1,4 @@
*visual.txt* For Vim version 9.1. Last change: 2025 Jun 28 *visual.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -128,8 +128,8 @@ gN Like |gn| but searches backward, like with `N`.
active it is stopped. Only when 'mouse' option active it is stopped. Only when 'mouse' option
contains 'n' or 'a'. If the position is within 'so' contains 'n' or 'a'. If the position is within 'so'
lines from the last line on the screen the text is lines from the last line on the screen the text is
scrolled up. If the position is within 'so' lines from scrolled up. If the position is within 'so' lines
the first line on the screen the text is scrolled from the first line on the screen the text is scrolled
down. down.
*<RightMouse>* *<RightMouse>*
@ -352,10 +352,10 @@ all lines.
*v_b_<* *v_b_<*
Visual-block Shift *v_b_>* Visual-block Shift *v_b_>*
The block is shifted by 'shiftwidth'. The RHS of the block is irrelevant. The The block is shifted by 'shiftwidth'. The RHS of the block is irrelevant.
LHS of the block determines the point from which to apply a right shift, and The LHS of the block determines the point from which to apply a right shift,
padding includes TABs optimally according to 'ts' and 'et'. The LHS of the and padding includes TABs optimally according to 'ts' and 'et'. The LHS of
block determines the point up to which to shift left. the block determines the point up to which to shift left.
See |v_b_>_example|. See |v_b_>_example|.
See |v_b_<_example|. See |v_b_<_example|.

View File

@ -1,4 +1,4 @@
*wayland.txt* For Vim version 9.1. Last change: 2025 Sep 22 *wayland.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -26,7 +26,8 @@ should equal to "gui" when running the GUI.
Wayland commands: Wayland commands:
*:wlrestore* *:wl* *:wlrestore* *:wl*
:wl[restore] [display] Reinitializes the connection to the Wayland compositor. :wl[restore] [display] Reinitializes the connection to the Wayland
compositor.
Useful when running Vim in a screen/tmux session that Useful when running Vim in a screen/tmux session that
continues running after the Wayland compositor continues running after the Wayland compositor
restarts. restarts.

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 9.1. Last change: 2025 Oct 11 *windows.txt* For Vim version 9.1. Last change: 2025 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar