vim-patch:partial:c58f91c: runtime(doc): Whitespace updates (#36160)

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

closes: vim/vim#18453

c58f91c035

Fix incorrect docs in :h ModeChanged.
Cherry-pick :h bufnr() changes from patch 8.1.2080.

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
This commit is contained in:
zeertzjq
2025-10-13 16:53:21 +08:00
committed by GitHub
parent 7468db5187
commit a65202e6bd
51 changed files with 1541 additions and 1478 deletions

View File

@@ -179,7 +179,7 @@ or <buffer=N>. See |autocmd-buflocal|.
*:autocmd-verbose* *:autocmd-verbose*
When 'verbose' is non-zero, listing an autocommand will also display where it When 'verbose' is non-zero, listing an autocommand will also display where it
was last defined. Example: > was last defined. Example: >
:verbose autocmd BufEnter :verbose autocmd BufEnter
FileExplorer BufEnter FileExplorer BufEnter
@@ -439,7 +439,7 @@ ColorScheme After loading a color scheme. |:colorscheme|
Not triggered if the color scheme is not Not triggered if the color scheme is not
found. found.
The pattern is matched against the The pattern is matched against the
colorscheme name. <afile> can be used for the colorscheme name. <afile> can be used for the
name of the actual file where this option was name of the actual file where this option was
set, and <amatch> for the new colorscheme set, and <amatch> for the new colorscheme
name. name.
@@ -772,13 +772,13 @@ MenuPopup Just before showing the popup menu (under the
c Command line c Command line
tl Terminal tl Terminal
*ModeChanged* *ModeChanged*
ModeChanged After changing the mode. The pattern is ModeChanged After changing the mode. The pattern is
matched against `'old_mode:new_mode'`, for matched against `'old_mode:new_mode'`, for
example match against `*:c` to simulate example match against `*:c*` to simulate
|CmdlineEnter|. |CmdlineEnter|.
The following values of |v:event| are set: The following values of |v:event| are set:
old_mode The mode before it changed. old_mode The mode before it changed.
new_mode The new mode as also returned new_mode The new mode as also returned
by |mode()| called with a by |mode()| called with a
non-zero argument. non-zero argument.
When ModeChanged is triggered, old_mode will When ModeChanged is triggered, old_mode will
@@ -834,7 +834,7 @@ OptionSet After setting an option (except during
|v:option_oldlocal| is only set when |:set| |v:option_oldlocal| is only set when |:set|
or |:setlocal| or a |modeline| was used to set or |:setlocal| or a |modeline| was used to set
the option. Similarly |v:option_oldglobal| is the option. Similarly |v:option_oldglobal| is
only set when |:set| or |:setglobal| was used. only set when |:set| or |:setglobal| was used.
This does not set |<abuf>|, you could use This does not set |<abuf>|, you could use
@@ -842,7 +842,7 @@ OptionSet After setting an option (except during
Note that when setting a |global-local| option Note that when setting a |global-local| option
with |:set|, then |v:option_old| is the old with |:set|, then |v:option_old| is the old
global value. However, for all options that global value. However, for all options that
are not global-local it is the old local are not global-local it is the old local
value. value.
@@ -852,7 +852,7 @@ OptionSet After setting an option (except during
exist yet. exist yet.
Note: Do not reset the same option during this Note: Do not reset the same option during this
autocommand, that may break plugins. You can autocommand, that may break plugins. You can
always use |:noautocmd| to prevent triggering always use |:noautocmd| to prevent triggering
OptionSet. OptionSet.
@@ -885,7 +885,7 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
*QuickFixCmdPost* *QuickFixCmdPost*
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
command is run, before jumping to the first command is run, before jumping to the first
location. For |:cfile| and |:lfile| commands location. For |:cfile| and |:lfile| commands
it is run after the error file is read and it is run after the error file is read and
before moving to the first error. before moving to the first error.
See |QuickFixCmdPost-example|. See |QuickFixCmdPost-example|.
@@ -1507,8 +1507,8 @@ option will not cause any commands to be executed.
*<nomodeline>* *<nomodeline>*
After applying the autocommands the modelines are After applying the autocommands the modelines are
processed, so that their settings overrule the processed, so that their settings overrule the
settings from autocommands when editing a file. This settings from autocommands when editing a file. This
is skipped if <nomodeline> is specified. You probably is skipped if <nomodeline> is specified. You probably
want to use <nomodeline> for events not used when want to use <nomodeline> for events not used when
loading a buffer, such as |User|. loading a buffer, such as |User|.
Modelines are also skipped when no matching Modelines are also skipped when no matching
@@ -1520,7 +1520,7 @@ option will not cause any commands to be executed.
loaded buffer. The current buffer is done last. loaded buffer. The current buffer is done last.
Note that [fname] is used to select the autocommands, Note that [fname] is used to select the autocommands,
not the buffers to which they are applied. Example: > not the buffers to which they are applied. Example: >
augroup mine augroup mine
autocmd! autocmd!
autocmd FileType * echo expand('<amatch>') autocmd FileType * echo expand('<amatch>')

View File

@@ -82,12 +82,12 @@ For inserting text see |insert.txt|.
These commands delete text. You can repeat them with the `.` command These commands delete text. You can repeat them with the `.` command
(except `:d`) and undo them. Use Visual mode to delete blocks of text. See (except `:d`) and undo them. Use Visual mode to delete blocks of text. See
|registers| for an explanation of registers. |registers| for an explanation of registers.
*d-special*
An exception for the d{motion} command: If the motion is not linewise, the An exception for the d{motion} command: If the motion is not linewise, the
start and end of the motion are not in the same line, and there are only start and end of the motion are not in the same line, and there are only
blanks before the start and there are no non-blanks after the end of the blanks before the start and there are no non-blanks after the end of the
motion, the delete becomes linewise. This means that the delete also removes motion, the delete becomes linewise. This means that the delete also removes
the line of blanks that you might expect to remain. Use the |o_v| operator to the line of blanks that you might expect to remain. Use the |o_v| operator to
force the motion to be charwise. force the motion to be charwise.
Trying to delete an empty region of text (e.g., "d0" in the first column) Trying to delete an empty region of text (e.g., "d0" in the first column)
@@ -366,7 +366,7 @@ CTRL-A Add [count] to the number or alphabetic character at
*v_g_CTRL-A* *v_g_CTRL-A*
{Visual}g CTRL-A Add [count] to the number or alphabetic character in {Visual}g CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. If several lines are the highlighted text. If several lines are
highlighted, each one will be incremented by an highlighted, each one will be incremented by an
additional [count] (so effectively creating a additional [count] (so effectively creating a
[count] incrementing sequence). [count] incrementing sequence).
@@ -392,7 +392,7 @@ CTRL-X Subtract [count] from the number or alphabetic
*v_g_CTRL-X* *v_g_CTRL-X*
{Visual}g CTRL-X Subtract [count] from the number or alphabetic {Visual}g CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. If several lines character in the highlighted text. If several lines
are highlighted, each value will be decremented by an are highlighted, each value will be decremented by an
additional [count] (so effectively creating a [count] additional [count] (so effectively creating a [count]
decrementing sequence). decrementing sequence).
@@ -839,7 +839,7 @@ the |substitute()| function with the following exceptions:
- magic is always set without regard to 'magic'. - magic is always set without regard to 'magic'.
- A ~ inserts a tilde literally. - A ~ inserts a tilde literally.
- <CR> and \r inserts a carriage-return (CTRL-M). - <CR> and \r inserts a carriage-return (CTRL-M).
- \<CR> does not have a special meaning. It's just one of \x. - \<CR> does not have a special meaning. It's just one of \x.
Examples: > Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx" :s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
@@ -851,7 +851,7 @@ Examples: >
Note: "\L\u" can be used to capitalize the first letter of a word. This is Note: "\L\u" can be used to capitalize the first letter of a word. This is
not compatible with Vi and older versions of Vim, where the "\u" would cancel not compatible with Vi and older versions of Vim, where the "\u" would cancel
out the "\L". Same for "\U\l". out the "\L". Same for "\U\l".
Note: In previous versions CTRL-V was handled in a special way. Since this is Note: In previous versions CTRL-V was handled in a special way. Since this is
not Vi compatible, this was removed. Use a backslash instead. not Vi compatible, this was removed. Use a backslash instead.
@@ -923,7 +923,7 @@ real <NL> character (which will be a NUL in the file).
The "\=" notation can also be used inside the third argument {sub} of The "\=" notation can also be used inside the third argument {sub} of
|substitute()| function. In this case, the special meaning for characters as |substitute()| function. In this case, the special meaning for characters as
mentioned at |sub-replace-special| does not apply at all. Especially, <CR> and mentioned at |sub-replace-special| does not apply at all. Especially, <CR> and
<NL> are interpreted not as a line break but as a carriage-return and a <NL> are interpreted not as a line break but as a carriage-return and a
new-line respectively. new-line respectively.
@@ -1128,9 +1128,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
@@ -1165,7 +1165,7 @@ putting the register after the selection and then deleting the selection.)
selection, or clipboard) to the previously-selected text. Useful if you want selection, or clipboard) to the previously-selected text. Useful if you want
to put that text somewhere else. But you cannot repeat the same change. to put that text somewhere else. But you cannot repeat the same change.
*v_P* *v_P*
|P| in Visual mode puts text without setting the default register. You can |P| in Visual mode puts text without setting the default register. You can
repeat the change, but the deleted text cannot be used. If you do need it you repeat the change, but the deleted text cannot be used. If you do need it you
can use |p| with another register. E.g., yank the text to copy, Visually can use |p| with another register. E.g., yank the text to copy, Visually
select the text to replace and use "0p . You can repeat this as many times as select the text to replace and use "0p . You can repeat this as many times as
@@ -1244,8 +1244,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.
@@ -1550,11 +1550,11 @@ type of comment string. A part consists of:
e End of a three-piece comment e End of a three-piece comment
l Left align. Used together with 's' or 'e', the leftmost character of l Left align. Used together with 's' or 'e', the leftmost character of
start or end will line up with the leftmost character from the middle. start or end will line up with the leftmost character from the middle.
This is the default and can be omitted. See below for more details. This is the default and can be omitted. See below for more details.
r Right align. Same as above but rightmost instead of leftmost. See r Right align. Same as above but rightmost instead of leftmost. See
below for more details. below for more details.
O Don't consider this comment for the "O" command. O Don't consider this comment for the "O" command.
@@ -1566,8 +1566,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
@@ -1606,18 +1606,18 @@ part which is longer, the end part is used. This makes a C style comment work
without requiring the middle part to end with a space. without requiring the middle part to end with a space.
Here is an example of alignment flags at work to make a comment stand out Here is an example of alignment flags at work to make a comment stand out
(kind of looks like a 1 too). Consider comment string: >vim (kind of looks like a 1 too). Consider comment string: >vim
:set comments=sr:/***,m:**,ex-2:******/ :set comments=sr:/***,m:**,ex-2:******/
> >
/*** ~ /***
**<--right aligned from "r" flag ~ **<--right aligned from "r" flag
** ~ **
offset 2 spaces for the "-2" flag-->** ~ offset 2 spaces for the "-2" flag-->**
******/ ~ ******/
In this case, the first comment was typed, then return was pressed 4 times, In this case, the first comment was typed, then return was pressed 4 times,
then "/" was pressed to end the comment. then "/" was pressed to end the comment.
Here are some finer points of three part comments. There are three times when Here are some finer points of three part comments. There are three times when
alignment and offset flags are taken into consideration: opening a new line alignment and offset flags are taken into consideration: opening a new line
after a start-comment, opening a new line before an end-comment, and after a start-comment, opening a new line before an end-comment, and
automatically ending a three-piece comment. The end alignment flag has a automatically ending a three-piece comment. The end alignment flag has a
@@ -1628,11 +1628,11 @@ 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
@@ -1728,7 +1728,7 @@ B When joining lines, don't insert a space between two multibyte
1 Don't break a line after a one-letter word. It's broken before it 1 Don't break a line after a one-letter word. It's broken before it
instead (if possible). instead (if possible).
*fo-]* *fo-]*
] Respect 'textwidth' rigorously. With this flag set, no line can be ] Respect 'textwidth' rigorously. With this flag set, no line can be
longer than 'textwidth', unless line-break-prohibition rules make this longer than 'textwidth', unless line-break-prohibition rules make this
impossible. Mainly for CJK scripts and works only if 'encoding' is impossible. Mainly for CJK scripts and works only if 'encoding' is
"utf-8". "utf-8".
@@ -1764,8 +1764,8 @@ Note that when 'textwidth' is 0, Vim does no automatic formatting anyway (but
does insert comment leaders according to the 'comments' option). An exception does insert comment leaders according to the 'comments' option). An exception
is when the 'a' flag is present. |auto-format| is when the 'a' flag is present. |auto-format|
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.
@@ -1852,8 +1852,8 @@ Also see |:uniq|.
*:sort-l* *:sort-l*
With [l] sort uses the current collation locale. With [l] sort uses the current collation locale.
Implementation details: strcoll() is used to compare Implementation details: strcoll() is used to compare
strings. See |:language| to check or set the collation strings. See |:language| to check or set the collation
locale. Example: > locale. Example: >
:language collate en_US.UTF-8 :language collate en_US.UTF-8
:%sort l :%sort l
< |v:collate| can also used to check the current locale. < |v:collate| can also used to check the current locale.

View File

@@ -157,7 +157,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
@@ -416,7 +417,8 @@ CTRL-D List names that match the pattern in front of the cursor.
then go to the previous match. then go to the previous match.
*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
@@ -684,9 +686,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
@@ -1024,8 +1026,10 @@ 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>", "<script>", The file name modifiers can be used after "%", "#", "#n", "<cfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function. "<script>", "<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
changes "~/" (and "~user/" for Unix) to the path for the home changes "~/" (and "~user/" for Unix) to the path for the home
@@ -1076,7 +1080,7 @@ These modifiers can be given, in this order:
Substitute all occurrences of "pat" with "sub". Otherwise Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s". this works like ":s".
:S Escape special characters for use with a shell command (see :S Escape special characters for use with a shell command (see
|shellescape()|). Must be the last one. Examples: > |shellescape()|). Must be the last one. Examples: >
:!dir <cfile>:S :!dir <cfile>:S
:call system('chmod +w -- ' .. expand('%:S')) :call system('chmod +w -- ' .. expand('%:S'))
@@ -1157,9 +1161,9 @@ special meaning. Therefore "\file\foo" is a valid file name, you don't have
to type the backslash twice. to type the 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

@@ -55,7 +55,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

View File

@@ -69,8 +69,8 @@ some steps to provide a useful bug report.
3.1 GENERIC ~ 3.1 GENERIC ~
You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
same place that you obtained the executable. Be sure to use the PDB that same place that you obtained the executable. Be sure to use the PDB that
matches the EXE (same date). matches the EXE (same date).
If you built the executable yourself with the Microsoft Visual C++ compiler, If you built the executable yourself with the Microsoft Visual C++ compiler,
@@ -113,7 +113,7 @@ If you have a non-free version of Visual Studio, you can save a minidump via
the Debug menu and send it with the bug report. A minidump is a small file the Debug menu and send it with the bug report. A minidump is a small file
(<100KB), which contains information about the state of your process. (<100KB), which contains information about the state of your process.
Visual C++ 2005 Express Edition cannot save minidumps and it cannot be Visual C++ 2005 Express Edition cannot save minidumps and it cannot be
installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
need to save minidumps or you want a just-in-time (postmortem) debugger. need to save minidumps or you want a just-in-time (postmortem) debugger.
*debug-windbg* *debug-windbg*
@@ -123,21 +123,21 @@ See |get-ms-debuggers| to obtain a copy of WinDbg.
As with the Visual Studio IDE, you can attach WinDbg to a running Vim process. As with the Visual Studio IDE, you can attach WinDbg to a running Vim process.
You can also have your system automatically invoke WinDbg as a postmortem You can also have your system automatically invoke WinDbg as a postmortem
debugger. To set WinDbg as your postmortem debugger, run "windbg -I". debugger. To set WinDbg as your postmortem debugger, run "windbg -I".
To attach WinDbg to a running Vim process, launch WinDbg. On the File menu, To attach WinDbg to a running Vim process, launch WinDbg. On the File menu,
choose Attach to a Process. Select the Vim process and click OK. 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
automatically. As above, set the Symbol File Path and the Source File Path. automatically. As above, set the Symbol File Path and the Source File Path.
To save a minidump, type the following at the WinDbg command line: > To save a minidump, type the following at the WinDbg command line: >
.dump vim.dmp .dump vim.dmp
@@ -148,11 +148,11 @@ To save a minidump, type the following at the WinDbg command line: >
If you have a minidump file, you can open it in Visual Studio or in WinDbg. If you have a minidump file, you can open it in Visual Studio or in WinDbg.
In Visual Studio 2005: on the File menu, choose Open, then Project/Solution. 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

@@ -62,7 +62,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: >
@@ -279,7 +280,7 @@ that the buffers will be equal within the specified range.
*do* *do*
[count]do Same as ":diffget" without range. The "o" stands for "obtain" [count]do Same as ":diffget" without range. The "o" stands for "obtain"
("dg" can't be used, it could be the start of "dgg"!). Note: ("dg" can't be used, it could be the start of "dgg"!). Note:
this doesn't work in Visual mode. this doesn't work in Visual mode.
If you give a [count], it is used as the [bufspec] argument If you give a [count], it is used as the [bufspec] argument
for ":diffget". for ":diffget".
@@ -452,7 +453,7 @@ Also see 'diffopt' and the "diff" item of 'fillchars'.
*diff-slow* *diff_translations* *diff-slow* *diff_translations*
For very long lines, the diff syntax highlighting might be slow, especially For very long lines, the diff syntax highlighting might be slow, especially
since it tries to match all different kind of localisations. To disable since it tries to match all different kind of localisations. To disable
localisations and speed up the syntax highlighting, set the global variable localisations and speed up the syntax highlighting, set the global variable
g:diff_translations to zero: > g:diff_translations to zero: >
@@ -534,7 +535,7 @@ The `redraw!` command may not be needed, depending on whether executing a
shell command shows something on the display or not. shell command shows something on the display or not.
If the 'diffexpr' expression starts with s: or |<SID>|, then it is replaced If the 'diffexpr' expression starts with s: or |<SID>|, then it is replaced
with the script ID (|local-function|). Example: > with the script ID (|local-function|). Example: >
set diffexpr=s:MyDiffExpr() set diffexpr=s:MyDiffExpr()
set diffexpr=<SID>SomeDiffExpr() set diffexpr=<SID>SomeDiffExpr()
Otherwise, the expression is evaluated in the context of the script where the Otherwise, the expression is evaluated in the context of the script where the
@@ -595,7 +596,7 @@ directory are accidentally patched. Vim will also delete files starting with
v:fname_in and ending in ".rej" and ".orig". v:fname_in and ending in ".rej" and ".orig".
If the 'patchexpr' expression starts with s: or |<SID>|, then it is replaced If the 'patchexpr' expression starts with s: or |<SID>|, then it is replaced
with the script ID (|local-function|). Example: > with the script ID (|local-function|). Example: >
set patchexpr=s:MyPatchExpr() set patchexpr=s:MyPatchExpr()
set patchexpr=<SID>SomePatchExpr() set patchexpr=<SID>SomePatchExpr()
Otherwise, the expression is evaluated in the context of the script where the Otherwise, the expression is evaluated in the context of the script where the

View File

@@ -106,7 +106,7 @@ mode. After leaving the Insert mode everything is fine. On some Unix systems
this means you have to define the environment-variable LC_CTYPE. If you are this means you have to define the environment-variable LC_CTYPE. If you are
using csh, then put the following line in your .cshrc: > using csh, then put the following line in your .cshrc: >
setenv LC_CTYPE en_US.utf8 setenv LC_CTYPE en_US.utf8
(or similar for a different language or country). The value must be a valid (or similar for a different language or country). The value must be a valid
locale on your system, i.e. on Unix-like systems it must be present in the locale on your system, i.e. on Unix-like systems it must be present in the
output of > output of >
locale -a locale -a

View File

@@ -124,9 +124,9 @@ 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. The backup file can be placed in another ".bak" change the 'backupext' option. The backup file can be placed in
directory by setting 'backupdir'. another directory by setting 'backupdir'.
When you started editing without giving a file name, "No File" is displayed in When you started editing without giving a file name, "No File" is displayed in
messages. If the ":write" command is used with a file name argument, the file messages. If the ":write" command is used with a file name argument, the file
@@ -261,7 +261,7 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
Mnemonic: "goto file". Mnemonic: "goto file".
Uses the 'isfname' option to find out which characters Uses the 'isfname' option to find out which characters
are supposed to be in a file name. Trailing are supposed to be in a file name. Trailing
punctuation characters ".,:;!" are ignored. Escaped punctuation characters ".,:;!" are ignored. Escaped
spaces "\ " are reduced to a single space. spaces "\ " are reduced to a single space.
Uses the 'path' option as a list of directory names to Uses the 'path' option as a list of directory names to
look for the file. See the 'path' option for details look for the file. See the 'path' option for details
@@ -299,7 +299,7 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
the file. the file.
The file name and the number must be separated by a The file name and the number must be separated by a
non-filename (see 'isfname') and non-numeric non-filename (see 'isfname') and non-numeric
character. " line " is also recognized, like it is character. " line " is also recognized, like it is
used in the output of `:verbose command UserCmd` used in the output of `:verbose command UserCmd`
White space between the filename, the separator and White space between the filename, the separator and
the number are ignored. the number are ignored.
@@ -351,7 +351,7 @@ is to use "path\[[]abc]", this matches the file "path\[abc]".
*starstar-wildcard* *starstar-wildcard*
Expanding "**" is possible on Unix, Win32, macOS and a few other systems (but Expanding "**" is possible on Unix, Win32, macOS and a few other systems (but
it may depend on your 'shell' setting on Unix and macOS. It's known to work it may depend on your 'shell' setting on Unix and macOS. It's known to work
correctly for zsh; for bash this requires at least bash version >= 4.X). correctly for zsh; for bash this requires at least bash version >= 4.X).
This allows searching a directory tree. This goes up to 100 directories deep. This allows searching a directory tree. This goes up to 100 directories deep.
Note there are some commands where this works slightly differently, see Note there are some commands where this works slightly differently, see
@@ -364,7 +364,7 @@ Finds files:
a/b/c/d/ccc.txt ~ a/b/c/d/ccc.txt ~
When non-wildcard characters are used right before or after "**" these are When non-wildcard characters are used right before or after "**" these are
only matched in the top directory. They are not used for directories further only matched in the top directory. They are not used for directories further
down in the tree. For example: > down in the tree. For example: >
:n /usr/inc**/types.h :n /usr/inc**/types.h
Finds files: Finds files:
/usr/include/types.h ~ /usr/include/types.h ~
@@ -382,9 +382,9 @@ argument, for example: >
Vim will run the command in backticks using the 'shell' and use the standard Vim will run the command in backticks using the 'shell' and use the standard
output as argument for the given Vim command (error messages from the shell output as argument for the given Vim command (error messages from the shell
command will be discarded). command will be discarded).
To see what shell command Vim is running, set the 'verbose' option to 4. When To see what shell command Vim is running, set the 'verbose' option to 4. When
the shell command returns a non-zero exit code, an error message will be the shell command returns a non-zero exit code, an error message will be
displayed and the Vim command will be aborted. To avoid this make the shell displayed and the Vim command will be aborted. To avoid this make the shell
always return zero like so: > always return zero like so: >
:next `find . -name ver\\*.c -print \|\| true` :next `find . -name ver\\*.c -print \|\| true`
@@ -643,7 +643,7 @@ list of the current window.
[count] is used like with |:argadd|. [count] is used like with |:argadd|.
If the current file cannot be |abandon|ed {name}s will If the current file cannot be |abandon|ed {name}s will
still be added to the argument list, but won't be still be added to the argument list, but won't be
edited. No check for duplicates is done. edited. No check for duplicates is done.
Also see |++opt| and |+cmd|. Also see |++opt| and |+cmd|.
:[count]arga[dd] {name} ... *:arga* *:argadd* *E479* :[count]arga[dd] {name} ... *:arga* *:argadd* *E479*
@@ -1407,7 +1407,7 @@ exist, the next-higher scope in the hierarchy applies.
Also see |getcwd()|. Also see |getcwd()|.
*:pwd-verbose* *:pwd-verbose*
When 'verbose' is non-zero, |:pwd| will also display When 'verbose' is non-zero, |:pwd| will also display
what scope the current directory was set. Example: > what scope the current directory was set. Example: >
" Set by :cd " Set by :cd
:verbose pwd :verbose pwd
@@ -1577,24 +1577,24 @@ If it has changed, Vim will 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
@@ -1624,8 +1624,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

@@ -489,12 +489,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|
@@ -503,7 +504,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 >
@@ -563,8 +565,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
@@ -912,27 +915,27 @@ QF QUICKFIX *qf.vim* *ft-qf-plugin*
The "qf" filetype is used for the quickfix window, see |quickfix-window|. The "qf" filetype is used for the quickfix window, see |quickfix-window|.
The quickfix filetype plugin includes configuration for displaying the command The quickfix filetype plugin includes configuration for displaying the command
that produced the quickfix list in the |status-line|. To disable this setting, that produced the quickfix list in the |status-line|. To disable this setting,
configure as follows: > configure as follows: >
:let g:qf_disable_statusline = 1 :let g:qf_disable_statusline = 1
R MARKDOWN *ft-rmd-plugin* R MARKDOWN *ft-rmd-plugin*
By default ftplugin/html.vim is not sourced. If you want it sourced, add to By default ftplugin/html.vim is not sourced. If you want it sourced, add to
your |vimrc|: > 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
R RESTRUCTURED TEXT *ft-rrst-plugin* R RESTRUCTURED TEXT *ft-rrst-plugin*
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 ReStructured text. If you prefer that 'formatexpr' is not set, add to and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
your |vimrc|: > your |vimrc|: >
let rrst_dynamic_comments = 0 let rrst_dynamic_comments = 0
@@ -949,7 +952,7 @@ To enable this behavior, set the following variable in your vimrc: >
RNOWEB *ft-rnoweb-plugin* RNOWEB *ft-rnoweb-plugin*
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 LaTeX code. If you prefer that 'formatexpr' is not set, add to your and for LaTeX code. If you prefer that 'formatexpr' is not set, add to your
|vimrc|: > |vimrc|: >
let rnw_dynamic_comments = 0 let rnw_dynamic_comments = 0
@@ -1176,8 +1179,8 @@ To disable this behavior, set |g:zig_recommended_style| to 0: >
let g:zig_recommended_style = 0 let g:zig_recommended_style = 0
< <
*g:zig_std_dir* *g:zig_std_dir*
The path to the Zig standard library. The Zig |ftplugin| reads |g:zig_std_dir| The path to the Zig standard library. The Zig |ftplugin| reads |g:zig_std_dir|
and appends it to the 'path' for Zig files. Where the Zig standard library and appends it to the 'path' for Zig files. Where the Zig standard library
is located is system and installation method dependent. is located is system and installation method dependent.
One can automatically set |g:zig_std_dir| using `zig env`: > One can automatically set |g:zig_std_dir| using `zig env`: >

View File

@@ -478,8 +478,8 @@ the mouse button down on this will pop up a menu containing the item
which when selected, performs the operation. which when selected, performs the operation.
To create a menu for terminal mode, use |:tlmenu| instead of |:tmenu| unlike To create a menu for terminal mode, use |:tlmenu| instead of |:tmenu| unlike
key mapping (|:tmap|). This is because |:tmenu| is already used for defining key mapping (|:tmap|). This is because |:tmenu| is already used for defining
tooltips for menus. See |terminal-input|. tooltips for menus. See |terminal-input|.
Special characters in a menu name: Special characters in a menu name:
@@ -885,8 +885,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

@@ -365,8 +365,8 @@ 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.
*help-codeblock* *help-codeblock*
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

View File

@@ -49,11 +49,11 @@ To see what version of perl you have: >
*:perldo* *:perldo*
:[range]perldo {cmd} Execute perl command {cmd} for each line in the[range], :[range]perldo {cmd} Execute perl command {cmd} for each line in the[range],
with $_ being set to the test of each line in turn, with $_ being set to the test of each line in turn,
without a trailing <EOL>. In addition to $_, $line and without a trailing <EOL>. In addition to $_, $line
$linenr is also set to the line content and line number and $linenr is also set to the line content and line
respectively. Setting $_ will change the text, but note number respectively. Setting $_ will change the text,
that it is not possible to add or delete lines using but note that it is not possible to add or delete
this command. lines using this command.
The default for [range] is the whole file: "1,$". The default for [range] is the whole file: "1,$".
Examples: Examples:

View File

@@ -57,9 +57,9 @@ Note: Python is very sensitive to indenting. Make sure the "class" line and
{body}" for each line in the [range], with the {body}" for each line in the [range], with the
function arguments being set to the text of each line function arguments being set to the text of each line
in turn, without a trailing <EOL>, and the current in turn, without a trailing <EOL>, and the current
line number. The function should return a string or line number. The function should return a string or
None. If a string is returned, it becomes the text of None. If a string is returned, it becomes the text of
the line in the current turn. The default for [range] the line in the current turn. The default for [range]
is the whole file: "1,$". is the whole file: "1,$".
Examples: Examples:
@@ -68,7 +68,7 @@ Examples:
:pydo if line: return "%4d: %s" % (linenr, line) :pydo if line: return "%4d: %s" % (linenr, line)
< <
One can use `:pydo` in possible conjunction with `:py` to filter a range using One can use `:pydo` in possible conjunction with `:py` to filter a range using
python. For example: >vim python. For example: >vim
:py3 << EOF :py3 << EOF
needle = vim.eval('@a') needle = vim.eval('@a')
@@ -184,14 +184,14 @@ vim.strwidth(str) *python-strwidth*
vim.foreach_rtp(callable) *python-foreach_rtp* vim.foreach_rtp(callable) *python-foreach_rtp*
Call the given callable for each path in 'runtimepath' until either Call the given callable for each path in 'runtimepath' until either
callable returns something but None, the exception is raised or there callable returns something but None, the exception is raised or there
are no longer paths. If stopped in case callable returned non-None, are no longer paths. If stopped in case callable returned non-None,
vim.foreach_rtp function returns the value returned by callable. vim.foreach_rtp function returns the value returned by callable.
`vim.chdir(*args, **kwargs)` *python-chdir* `vim.chdir(*args, **kwargs)` *python-chdir*
`vim.fchdir(*args, **kwargs)` *python-fchdir* `vim.fchdir(*args, **kwargs)` *python-fchdir*
Run os.chdir or os.fchdir, then all appropriate vim stuff. Run os.chdir or os.fchdir, then all appropriate vim stuff.
Note: you should not use these functions directly, use os.chdir and Note: you should not use these functions directly, use os.chdir and
os.fchdir instead. Behavior of vim.fchdir is undefined in case os.fchdir instead. Behavior of vim.fchdir is undefined in case
os.fchdir does not exist. os.fchdir does not exist.
Error object of the "vim" module Error object of the "vim" module
@@ -229,12 +229,12 @@ vim.windows *python-windows*
< Note: vim.windows object always accesses current tab page. < Note: vim.windows object always accesses current tab page.
|python-tabpage|.windows objects are bound to parent |python-tabpage| |python-tabpage|.windows objects are bound to parent |python-tabpage|
object and always use windows from that tab page (or throw vim.error object and always use windows from that tab page (or throw vim.error
in case tab page was deleted). You can keep a reference to both in case tab page was deleted). You can keep a reference to both
without keeping a reference to vim module object or |python-tabpage|, without keeping a reference to vim module object or |python-tabpage|,
they will not lose their properties in this case. they will not lose their properties in this case.
vim.tabpages *python-tabpages* vim.tabpages *python-tabpages*
A sequence object providing access to the list of vim tab pages. The A sequence object providing access to the list of vim tab pages. The
object supports the following operations: >vim object supports the following operations: >vim
:py t = vim.tabpages[i] # Indexing (read-only) :py t = vim.tabpages[i] # Indexing (read-only)
:py t in vim.tabpages # Membership test :py t in vim.tabpages # Membership test
@@ -257,10 +257,10 @@ vim.current *python-current*
Note: When assigning to vim.current.{buffer,window,tabpage} it expects Note: When assigning to vim.current.{buffer,window,tabpage} it expects
valid |python-buffer|, |python-window| or |python-tabpage| objects valid |python-buffer|, |python-window| or |python-tabpage| objects
respectively. Assigning triggers normal (with |autocommand|s) respectively. Assigning triggers normal (with |autocommand|s)
switching to given buffer, window or tab page. It is the only way to switching to given buffer, window or tab page. It is the only way to
switch UI objects in python: you can't assign to switch UI objects in python: you can't assign to
|python-tabpage|.window attribute. To switch without triggering |python-tabpage|.window attribute. To switch without triggering
autocommands use >vim autocommands use >vim
py << EOF py << EOF
saved_eventignore = vim.options['eventignore'] saved_eventignore = vim.options['eventignore']
@@ -279,10 +279,10 @@ vim.vvars *python-vvars*
vim.options *python-options* vim.options *python-options*
Object partly supporting mapping protocol (supports setting and Object partly supporting mapping protocol (supports setting and
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
@@ -303,8 +303,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.
*python3-directory* *pythonx-directory* *python3-directory* *pythonx-directory*
Python 'runtimepath' handling *python-special-path* Python 'runtimepath' handling *python-special-path*
@@ -362,11 +362,11 @@ Implementation is similar to the following, but written in C: >python
sys.path_hooks.append(hook) sys.path_hooks.append(hook)
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.
@@ -381,7 +381,7 @@ vim.path_hook(path) *python-path_hook*
vim._get_paths *python-_get_paths* vim._get_paths *python-_get_paths*
Methods returning a list of paths which will be searched for by path Methods returning a list of paths which will be searched for by path
hook. You should not rely on this method being present in future hook. You should not rely on this method being present in future
versions, but can use it for debugging. versions, but can use it for debugging.
It returns a list of {rtp}/python3 and {rtp}/pythonx It returns a list of {rtp}/python3 and {rtp}/pythonx
@@ -390,7 +390,8 @@ vim._get_paths *python-_get_paths*
============================================================================== ==============================================================================
Buffer objects *python-buffer* 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|)
@@ -404,9 +405,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
@@ -417,17 +419,17 @@ The buffer object attributes are:
|buffer-variable|s. |buffer-variable|s.
b.options Mapping object (supports item getting, setting and b.options Mapping object (supports item getting, setting and
deleting) that provides access to buffer-local options deleting) that provides access to buffer-local options
and buffer-local values of |global-local| options. Use and buffer-local values of |global-local| options. Use
|python-window|.options if option is window-local, |python-window|.options if option is window-local,
this object will raise KeyError. If option is this object will raise KeyError. If option is
|global-local| and local value is missing getting it |global-local| and local value is missing getting it
will return None. will return None.
b.name String, RW. Contains buffer name (full path). b.name String, RW. Contains buffer name (full path).
Note: when assigning to b.name |BufFilePre| and Note: when assigning to b.name |BufFilePre| and
|BufFilePost| autocommands are launched. |BufFilePost| autocommands are launched.
b.number Buffer number. Can be used as |python-buffers| key. b.number Buffer number. Can be used as |python-buffers| key.
Read-only. Read-only.
b.valid True or False. Buffer object becomes invalid when b.valid True or False. Buffer object becomes invalid when
corresponding buffer is wiped out. corresponding buffer is wiped out.
The buffer object methods are: The buffer object methods are:
@@ -500,7 +502,8 @@ Example (assume r is the current range):
============================================================================== ==============================================================================
Window objects *python-window* 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

@@ -56,14 +56,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|.
@@ -127,8 +127,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:
@@ -136,10 +136,10 @@ name Returns the full name of the buffer.
number Returns the number of the buffer. number Returns the number of the buffer.
count Returns the number of lines. count Returns the number of lines.
length Returns the number of lines. length Returns the number of lines.
self[{n}] Returns a line from the buffer. {n} is the line number. self[{n}] Returns a line from the buffer. {n} is the line number.
self[{n}] = {str} self[{n}] = {str}
Sets a line in the buffer. {n} is the line number. Sets a line in the buffer. {n} is the line number.
delete({n}) Deletes a line from the buffer. {n} is the line number. delete({n}) Deletes a line from the buffer. {n} is the line number.
append({n}, {str}) append({n}, {str})
Appends a line after the line {n}. Appends a line after the line {n}.
line Returns the current line of the buffer if the buffer is line Returns the current line of the buffer if the buffer is
@@ -157,8 +157,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

@@ -43,7 +43,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.
@@ -228,8 +229,8 @@ The examples below assume a 'shiftwidth' of 4.
} } } } } }
< <
*cino-L* *cino-L*
LN Controls placement of jump labels. If N is negative, the label LN Controls placement of jump labels. If N is negative, the label
will be placed at column 1. If N is non-negative, the indent of will be placed at column 1. If N is non-negative, the indent of
the label will be the prevailing indent minus N. (default -1). the label will be the prevailing indent minus N. (default -1).
cino= cino=L2 cino=Ls > cino= cino=L2 cino=Ls >
@@ -290,8 +291,8 @@ The examples below assume a 'shiftwidth' of 4.
< <
*cino-g* *cino-g*
gN Place C++ scope declarations N characters from the indent of the gN Place C++ scope declarations N characters from the indent of the
block they are in. (default 'shiftwidth'). By default, a scope block they are in. (default 'shiftwidth'). By default, a scope
declaration is "public:", "protected:" or "private:". This can declaration is "public:", "protected:" or "private:". This can
be adjusted with the 'cinscopedecls' option. be adjusted with the 'cinscopedecls' option.
cino= cino=g0 > cino= cino=g0 >
@@ -710,13 +711,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 ~
@@ -815,19 +816,19 @@ Idris 2 indentation can be configured with several variables that control the
indentation level for different language constructs: indentation level for different language constructs:
The "g:idris2_indent_if" variable controls the indentation of `then` and `else` The "g:idris2_indent_if" variable controls the indentation of `then` and `else`
blocks after `if` statements. Defaults to 3. blocks after `if` statements. Defaults to 3.
The "g:idris2_indent_case" variable controls the indentation of patterns in The "g:idris2_indent_case" variable controls the indentation of patterns in
`case` expressions. Defaults to 5. `case` expressions. Defaults to 5.
The "g:idris2_indent_let" variable controls the indentation after `let` The "g:idris2_indent_let" variable controls the indentation after `let`
bindings. Defaults to 4. bindings. Defaults to 4.
The "g:idris2_indent_rewrite" variable controls the indentation after `rewrite` The "g:idris2_indent_rewrite" variable controls the indentation after `rewrite`
expressions. Defaults to 8. expressions. Defaults to 8.
The "g:idris2_indent_where" variable controls the indentation of `where` The "g:idris2_indent_where" variable controls the indentation of `where`
blocks. Defaults to 6. blocks. Defaults to 6.
The "g:idris2_indent_do" variable controls the indentation in `do` blocks. The "g:idris2_indent_do" variable controls the indentation in `do` blocks.
Defaults to 3. Defaults to 3.
@@ -945,7 +946,7 @@ To indent 'case:' and 'default:' statements in switch() blocks: >
In PHP braces are not required inside 'case/default' blocks therefore 'case:' In PHP braces are not required inside 'case/default' blocks therefore 'case:'
and 'default:' are indented at the same level than the 'switch()' to avoid and 'default:' are indented at the same level than the 'switch()' to avoid
meaningless indentation. You can use the above option to return to the meaningless indentation. You can use the above option to return to the
traditional way. traditional way.
*PHP_noArrowMatching* *PHP_noArrowMatching*
@@ -970,7 +971,7 @@ You will obtain the following result: >
Extra indentation levels to add to parameters in multi-line function calls. > Extra indentation levels to add to parameters in multi-line function calls. >
let g:PHP_IndentFunctionCallParameters = 1 let g:PHP_IndentFunctionCallParameters = 1
Function call arguments will indent 1 extra level. For two-space indentation: > Function call arguments will indent 1 extra level. For two-space indentation: >
function call_the_thing( function call_the_thing(
$with_this, $with_this,
@@ -988,7 +989,7 @@ Extra indentation levels to add to arguments in multi-line function
definitions. > definitions. >
let g:PHP_IndentFunctionDeclarationParameters = 1 let g:PHP_IndentFunctionDeclarationParameters = 1
< <
Function arguments in declarations will indent 1 extra level. For two-space Function arguments in declarations will indent 1 extra level. For two-space
indentation: > indentation: >
function call_the_thing( function call_the_thing(
@@ -1018,8 +1019,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
@@ -1044,15 +1045,15 @@ For backward compatibility, these variables are also supported: >
R *ft-r-indent* R *ft-r-indent*
Function arguments are aligned if they span for multiple lines. If you prefer Function arguments are aligned if they span for multiple lines. If you prefer
do not have the arguments of functions aligned, put in your |vimrc|: do not have the arguments of functions aligned, put in your |vimrc|:
> >
let r_indent_align_args = 0 let r_indent_align_args = 0
< <
All lines beginning with a comment character, #, get the same indentation All lines beginning with a comment character, #, get the same indentation
level of the normal R code. Users of Emacs/ESS may be used to have lines level of the normal R code. Users of Emacs/ESS may be used to have lines
beginning with a single # indented in the 40th column, ## indented as R code, beginning with a single # indented in the 40th column, ## indented as R code,
and ### not indented. If you prefer that lines beginning with comment and ### not indented. If you prefer that lines beginning with comment
characters are aligned as they are by Emacs/ESS, put in your |vimrc|: characters are aligned as they are by Emacs/ESS, put in your |vimrc|:
> >
let r_indent_ess_comments = 1 let r_indent_ess_comments = 1
@@ -1063,8 +1064,8 @@ r_indent_comment_column, as in the example below:
> >
let r_indent_comment_column = 30 let r_indent_comment_column = 30
< <
Any code after a line that ends with "<-" is indented. Emacs/ESS does not Any code after a line that ends with "<-" is indented. Emacs/ESS does not
indent the code if it is a top-level function. If you prefer a behavior like indent the code if it is a top-level function. If you prefer a behavior like
Emacs/ESS one in this regard, put in your |vimrc|: Emacs/ESS one in this regard, put in your |vimrc|:
> >
let r_indent_ess_compatible = 1 let r_indent_ess_compatible = 1
@@ -1079,7 +1080,7 @@ Below is an example of indentation with and without this option enabled:
} } } }
< <
The code will be indented after lines that match the pattern The code will be indented after lines that match the pattern
`'\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$'`. If you want indentation after `'\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$'`. If you want indentation after
lines that match a different pattern, you should set the appropriate value of lines that match a different pattern, you should set the appropriate value of
`r_indent_op_pattern` in your |vimrc|. `r_indent_op_pattern` in your |vimrc|.
@@ -1144,7 +1145,7 @@ Make sure to do ":set cmdheight=2" first to allow the display of the message.
VHDL *ft-vhdl-indent* VHDL *ft-vhdl-indent*
Alignment of generic/port mapping statements are performed by default. This Alignment of generic/port mapping statements are performed by default. This
causes the following alignment example: > causes the following alignment example: >
ENTITY sync IS ENTITY sync IS
@@ -1173,7 +1174,7 @@ to the vimrc file, which causes the previous alignment example to change: >
Alignment of right-hand side assignment "<=" statements are performed by Alignment of right-hand side assignment "<=" statements are performed by
default. This causes the following alignment example: > default. This causes the following alignment example: >
sig_out <= (bus_a(1) AND sig_out <= (bus_a(1) AND
(sig_b OR sig_c)) OR (sig_b OR sig_c)) OR
@@ -1190,9 +1191,9 @@ to the vimrc file, which causes the previous alignment example to change: >
(bus_a(0) AND sig_d); (bus_a(0) AND sig_d);
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: >
@@ -1244,9 +1245,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

@@ -124,7 +124,7 @@ CTRL-R {register} *i_CTRL-R*
'.' the last inserted text '.' the last inserted text
*i_CTRL-R_-* *i_CTRL-R_-*
'-' the last small (less than a line) delete '-' the last small (less than a line) delete
register. This is repeatable using |.| since register. This is repeatable using |.| since
it remembers the register to put instead of it remembers the register to put instead of
the literal text to insert. the literal text to insert.
*i_CTRL-R_=* *i_CTRL-R_=*
@@ -163,12 +163,12 @@ CTRL-R CTRL-R {register} *i_CTRL-R_CTRL-R*
CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O* CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
Insert the contents of a register literally and don't Insert the contents of a register literally and don't
auto-indent. Does the same as pasting with the mouse auto-indent. Does the same as pasting with the mouse
|<MiddleMouse>|. When the register is linewise this will |<MiddleMouse>|. When the register is linewise this will
insert the text above the current line, like with `P`. insert the text above the current line, like with `P`.
The '.' register (last inserted text) is still inserted as The '.' register (last inserted text) is still inserted as
typed. typed.
After this command, the '.' register contains the command After this command, the '.' register contains the command
typed and not the text. I.e., the literals "^R^O" and not the typed and not the text. I.e., the literals "^R^O" and not the
text from the register. text from the register.
Does not replace characters in |Replace-mode|! Does not replace characters in |Replace-mode|!
@@ -178,7 +178,7 @@ CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
The '.' register (last inserted text) is still inserted as The '.' register (last inserted text) is still inserted as
typed. typed.
After this command, the '.' register contains the command After this command, the '.' register contains the command
typed and not the text. I.e., the literals "^R^P" and not the typed and not the text. I.e., the literals "^R^P" and not the
text from the register. text from the register.
Does not replace characters in |Replace-mode|! Does not replace characters in |Replace-mode|!
@@ -541,10 +541,10 @@ 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*
@@ -644,7 +644,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.
@@ -870,7 +871,7 @@ Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
If the 'thesaurusfunc' option is set, then the user specified function is If the 'thesaurusfunc' option is set, then the user specified function is
invoked to get the list of completion matches and the 'thesaurus' option is invoked to get the list of completion matches and the 'thesaurus' option is
not used. See |complete-functions| for an explanation of how the function is not used. See |complete-functions| for an explanation of how the function is
invoked and what it should return. invoked and what it should return.
Here is an example that uses the "aiksaurus" command (provided by Magnus Here is an example that uses the "aiksaurus" command (provided by Magnus
@@ -1119,8 +1120,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
@@ -1225,7 +1226,7 @@ items:
items to be equal; when omitted zero is used, thus items to be equal; when omitted zero is used, thus
items that only differ in case are added items that only differ in case are added
equal when non-zero, always treat this item to be equal when equal when non-zero, always treat this item to be equal when
comparing. Which means, "equal=1" disables filtering comparing. Which means, "equal=1" disables filtering
of this item. of this item.
dup when non-zero this match will be added even when an dup when non-zero this match will be added even when an
item with the same word is already present. item with the same word is already present.
@@ -1241,7 +1242,7 @@ items:
properties (with higher priority) like strikethrough properties (with higher priority) like strikethrough
to the completion items abbreviation to the completion items abbreviation
kind_hlgroup an additional highlight group specifically for setting kind_hlgroup an additional highlight group specifically for setting
the highlight attributes of the completion kind. When the highlight attributes of the completion kind. When
this field is present, it will override the this field is present, it will override the
|hl-PmenuKind| highlight group, allowing for the |hl-PmenuKind| highlight group, allowing for the
customization of ctermfg and guifg properties for the customization of ctermfg and guifg properties for the
@@ -1386,7 +1387,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.
@@ -1482,7 +1484,7 @@ XHTML *ft-xhtml-omni*
CTRL-X CTRL-O provides completion of various elements of (X)HTML files. It is CTRL-X CTRL-O provides completion of various elements of (X)HTML files. It is
designed to support writing of XHTML 1.0 Strict files but will also work for designed to support writing of XHTML 1.0 Strict files but will also work for
other versions of HTML. Features: other versions of HTML. Features:
- after "<" complete tag name depending on context (no div suggestion inside - after "<" complete tag name depending on context (no div suggestion inside
of an a tag); '/>' indicates empty tags of an a tag); '/>' indicates empty tags
@@ -1500,7 +1502,7 @@ other versions of HTML. Features:
Note: When used first time completion menu will be shown with little delay Note: When used first time completion menu will be shown with little delay
- this is time needed for loading of data file. - this is time needed for loading of data file.
Note: Completion may fail in badly formatted documents. In such case try to Note: Completion may fail in badly formatted documents. In such case try to
run |:make| command to detect formatting problems. run |:make| command to detect formatting problems.
@@ -1514,7 +1516,7 @@ When doing completion outside of any other tag you will have possibility to
choose DOCTYPE and the appropriate data file will be loaded and used for all choose DOCTYPE and the appropriate data file will be loaded and used for all
next completions. next completions.
More about format of data file in |xml-omni-datafile|. Some of the data files More about format of data file in |xml-omni-datafile|. Some of the data files
may be found on the Vim website (|www|). may be found on the Vim website (|www|).
Note that b:html_omni_flavor may point to a file with any XML data. This Note that b:html_omni_flavor may point to a file with any XML data. This
@@ -1543,8 +1545,8 @@ of external files).
DOM compatibility DOM compatibility
At the moment (beginning of 2006) there are two main browsers - MS Internet At the moment (beginning of 2006) there are two main browsers - MS Internet
Explorer and Mozilla Firefox. These two applications are covering over 90% of Explorer and Mozilla Firefox. These two applications are covering over 90% of
market. Theoretically standards are created by W3C organisation market. Theoretically standards are created by W3C organisation
(https://www.w3.org/) but they are not always followed/implemented. (https://www.w3.org/) but they are not always followed/implemented.
> >
IE FF W3C Omni completion ~ IE FF W3C Omni completion ~
@@ -1554,9 +1556,9 @@ market. Theoretically standards are created by W3C organisation
- + - - ~ - + - - ~
< <
Regardless from state of implementation in browsers but if element is defined Regardless from state of implementation in browsers but if element is defined
in standards, completion plugin will place element in suggestion list. When in standards, completion plugin will place element in suggestion list. When
both major engines implemented element, even if this is not in standards it both major engines implemented element, even if this is not in standards it
will be suggested. All other elements are not placed in suggestion list. will be suggested. All other elements are not placed in suggestion list.
LUA *ft-lua-omni* LUA *ft-lua-omni*
@@ -1567,19 +1569,20 @@ Lua |ftplugin| sets 'omnifunc' to |vim.lua_omnifunc()|.
PHP *ft-php-omni* PHP *ft-php-omni*
Completion of PHP code requires a tags file for completion of data from Completion of PHP code requires a tags file for completion of data from
external files and for class aware completion. You should use Universal/ external files and for class aware completion. You should use Universal/
Exuberant ctags version 5.5.4 or newer. You can find it here: Exuberant ctags version 5.5.4 or newer. You can find it here:
Universal Ctags: https://ctags.io Universal Ctags: https://ctags.io
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->
@@ -1597,11 +1600,11 @@ Script completes:
Note: when doing completion first time Vim will load all necessary data into Note: when doing completion first time Vim will load all necessary data into
memory. It may take several seconds. After next use of completion delay memory. It may take several seconds. After next use of completion delay
should not be noticeable. should not be noticeable.
Script detects if cursor is inside <?php ?> tags. If it is outside it will Script detects if cursor is inside <?php ?> tags. If it is outside it will
automatically switch to HTML/CSS/JavaScript completion. Note: contrary to automatically switch to HTML/CSS/JavaScript completion. Note: contrary to
original HTML files completion of tags (and only tags) isn't context aware. original HTML files completion of tags (and only tags) isn't context aware.
@@ -1628,11 +1631,11 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
Notes: Notes:
- Vim will load/evaluate code in order to provide completions. This may - Vim will load/evaluate code in order to provide completions. This may
cause some code execution, which may be a concern. This is no longer cause some code execution, which may be a concern. This is no longer
enabled by default, to enable this feature add > enabled by default, to enable this feature add >
let g:rubycomplete_buffer_loading = 1 let g:rubycomplete_buffer_loading = 1
<- In context 1 above, Vim can parse the entire buffer to add a list of <- In context 1 above, Vim can parse the entire buffer to add a list of
classes to the completion results. This feature is turned off by default, classes to the completion results. This feature is turned off by default,
to enable it add > to enable it add >
let g:rubycomplete_classes_in_global = 1 let g:rubycomplete_classes_in_global = 1
< to your vimrc < to your vimrc
@@ -1640,7 +1643,7 @@ Notes:
- In context 3 above, Vim will attempt to determine the methods supported by - In context 3 above, Vim will attempt to determine the methods supported by
the object. the object.
- Vim can detect and load the Rails environment for files within a rails - Vim can detect and load the Rails environment for files within a rails
project. The feature is disabled by default, to enable it add > project. The feature is disabled by default, to enable it add >
let g:rubycomplete_rails = 1 let g:rubycomplete_rails = 1
< to your vimrc < to your vimrc
@@ -1677,11 +1680,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
@@ -1800,7 +1803,7 @@ be used in commands. It should be a unique name which will not create
conflicts. For example, the name xhtml10s.vim means it is the data file for conflicts. For example, the name xhtml10s.vim means it is the data file for
XHTML 1.0 Strict. XHTML 1.0 Strict.
Each file contains a variable with a name like g:xmldata_xhtml10s . It is Each file contains a variable with a name like g:xmldata_xhtml10s . It is
a compound from two parts: a compound from two parts:
1. "g:xmldata_" general prefix, constant for all data files 1. "g:xmldata_" general prefix, constant for all data files
@@ -2017,7 +2020,7 @@ These two commands will keep on asking for lines, until you type a line
containing only a ".". Watch out for lines starting with a backslash, see containing only a ".". Watch out for lines starting with a backslash, see
|line-continuation|. |line-continuation|.
Text typed after a "|" command separator is used first. So the following Text typed after a "|" command separator is used first. So the following
command in ex mode: > command in ex mode: >
:a|one :a|one
two two

View File

@@ -407,8 +407,8 @@ There are six ADDITIONAL modes. These are variants of the BASIC modes:
- 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

@@ -87,7 +87,7 @@ modes.
map command applies. The mapping may remain defined map command applies. The mapping may remain defined
for other modes where it applies. for other modes where it applies.
It also works when {lhs} matches the {rhs} of a It also works when {lhs} matches the {rhs} of a
mapping. This is for when an abbreviation applied. mapping. This is for when an abbreviation applied.
Note: Trailing spaces are included in the {lhs}. Note: Trailing spaces are included in the {lhs}.
See |map-trailing-white|. See |map-trailing-white|.
@@ -294,7 +294,7 @@ Therefore the following is blocked for <expr> mappings:
If you want the mapping to do any of these let the returned characters do If you want the mapping to do any of these let the returned characters do
that, or use a |<Cmd>| mapping instead. that, or use a |<Cmd>| mapping instead.
You can use getchar(), it consumes typeahead if there is any. E.g., if you You can use getchar(), it consumes typeahead if there is any. E.g., if you
have these mappings: > have these mappings: >
inoremap <expr> <C-L> nr2char(getchar()) inoremap <expr> <C-L> nr2char(getchar())
inoremap <expr> <C-L>x "foo" inoremap <expr> <C-L>x "foo"
@@ -486,7 +486,7 @@ it's just used here for this situation.
The simplest way to load a set of related language mappings is by using the The simplest way to load a set of related language mappings is by using the
'keymap' option. See |45.5|. 'keymap' option. See |45.5|.
In Insert mode and in Command-line mode the mappings can be disabled with In Insert mode and in Command-line mode the mappings can be disabled with
the CTRL-^ command |i_CTRL-^| |c_CTRL-^|. These commands change the value of the CTRL-^ command |i_CTRL-^| |c_CTRL-^|. These commands change the value of
the 'iminsert' option. When starting to enter a normal command line (not a the 'iminsert' option. When starting to enter a normal command line (not a
search pattern) the mappings are disabled until a CTRL-^ is typed. The state search pattern) the mappings are disabled until a CTRL-^ is typed. The state
last used is remembered for Insert mode and Search patterns separately. The last used is remembered for Insert mode and Search patterns separately. The
@@ -655,7 +655,7 @@ Upper and lowercase differences are ignored.
*map-comments* *map-comments*
It is not possible to put a comment after these commands, because the `"` It is not possible to put a comment after these commands, because the `"`
character is considered to be part of the {lhs} or {rhs}. However, one can character is considered to be part of the {lhs} or {rhs}. However, one can
use `|"`, since this starts a new, empty command with a comment. use `|"`, since this starts a new, empty command with a comment.
*map_bar* *map-bar* *map_bar* *map-bar*
@@ -732,7 +732,7 @@ Multiplying a count
When you type a count before triggering a mapping, it's like the count was When you type a count before triggering a mapping, it's like the count was
typed before the {lhs}. For example, with this mapping: > typed before the {lhs}. For example, with this mapping: >
:map <F4> 3w :map <F4> 3w
Typing 2<F4> will result in "23w". Thus not moving 2 * 3 words but 23 words. Typing 2<F4> will result in "23w". Thus not moving 2 * 3 words but 23 words.
If you want to multiply counts use the expression register: > If you want to multiply counts use the expression register: >
:map <F4> @='3w'<CR> :map <F4> @='3w'<CR>
The part between quotes is the expression being executed. |@=| The part between quotes is the expression being executed. |@=|
@@ -1014,7 +1014,7 @@ an additional rule:
full-id In front of the match is a non-keyword character, or this is where full-id In front of the match is a non-keyword character, or this is where
the line or insertion starts. Exception: When the abbreviation is the line or insertion starts. Exception: When the abbreviation is
only one character, it is not recognized if there is a non-keyword only one character, it is not recognized if there is a non-keyword
character in front of it, other than a space or a tab. However, for character in front of it, other than a space or a tab. However, for
the command line "'<,'>" (or any other marks) is ignored, as if the the command line "'<,'>" (or any other marks) is ignored, as if the
command line starts after it. command line starts after it.
@@ -1263,8 +1263,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: >
@@ -1279,8 +1279,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
@@ -1295,7 +1295,7 @@ scripts.
*:command-verbose* *:command-verbose*
When 'verbose' is non-zero, listing a command will also display where it was When 'verbose' is non-zero, listing a command will also display where it was
last defined and any completion argument. Example: > last defined and any completion argument. Example: >
:verbose command TOhtml :verbose command TOhtml
< Name Args Range Complete Definition ~ < Name Args Range Complete Definition ~
@@ -1329,10 +1329,10 @@ See |:verbose-cmd| for more information.
Command attributes ~ Command attributes ~
*command-attributes* *command-attributes*
User-defined commands are treated by Nvim just like any other Ex commands. They User-defined commands are treated by Nvim 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
@@ -1415,7 +1415,7 @@ completion can be enabled:
-complete=scriptnames sourced script names -complete=scriptnames sourced script names
-complete=shellcmd Shell command -complete=shellcmd Shell command
-complete=shellcmdline First is a shell command and subsequent ones -complete=shellcmdline First is a shell command and subsequent ones
are filenames. The same behavior as |:!cmd| are filenames. The same behavior as |:!cmd|
-complete=sign |:sign| suboptions -complete=sign |:sign| suboptions
-complete=syntax syntax file names 'syntax' -complete=syntax syntax file names 'syntax'
-complete=syntime |:syntime| suboptions -complete=syntime |:syntime| suboptions
@@ -1440,8 +1440,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.
@@ -1457,7 +1457,7 @@ The function arguments are:
The function may use these for determining context. For the "custom" The function may use these for determining context. For the "custom"
argument, it is not necessary to filter candidates against the (implicit argument, it is not necessary to filter candidates against the (implicit
pattern in) ArgLead. Vim will filter the candidates with its regexp engine pattern in) ArgLead. Vim will filter the candidates with its regexp engine
after function return, and this is probably more efficient in most cases. If after function return, and this is probably more efficient in most cases. If
'wildoptions' contains "fuzzy", then the candidates will be filtered using 'wildoptions' contains "fuzzy", then the candidates will be filtered using
|fuzzy-matching|. For the "customlist" argument, Vim will not |fuzzy-matching|. For the "customlist" argument, Vim will not
filter the returned completion candidates and the user supplied function filter the returned completion candidates and the user supplied function
@@ -1683,8 +1683,8 @@ The valid escape sequences are
command was executed with a ! modifier, otherwise command was executed with a ! modifier, otherwise
expands to nothing. expands to nothing.
*<mods>* *<q-mods>* *:command-modifiers* *<mods>* *<q-mods>* *:command-modifiers*
<mods> The command modifiers, if specified. Otherwise, expands to <mods> The command modifiers, if specified. Otherwise, expands to
nothing. Supported modifiers are |:aboveleft|, |:belowright|, nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|:botright|, |:browse|, |:confirm|, |:hide|, |:horizontal|, |:botright|, |:browse|, |:confirm|, |:hide|, |:horizontal|,
|:keepalt|, |:keepjumps|, |:keepmarks|, |:keeppatterns|, |:keepalt|, |:keepjumps|, |:keepmarks|, |:keeppatterns|,
|:leftabove|, |:lockmarks|, |:noautocmd|, |:noswapfile|, |:leftabove|, |:lockmarks|, |:noautocmd|, |:noswapfile|,
@@ -1791,9 +1791,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

@@ -471,8 +471,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 ~

View File

@@ -118,7 +118,7 @@ path leading to the file.
Cannot switch buffer. 'winfixbuf' is enabled Cannot switch buffer. 'winfixbuf' is enabled
If a window has 'winfixbuf' enabled, you cannot change that window's current If a window has 'winfixbuf' enabled, you cannot change that window's current
buffer. You need to set 'nowinfixbuf' before continuing. You may use [!] to buffer. You need to set 'nowinfixbuf' before continuing. You may use [!] to
force the window to switch buffers, if your command supports it. force the window to switch buffers, if your command supports it.
*E72* > *E72* >

View File

@@ -73,7 +73,7 @@ use of "-" and "_".
This sets $LC_TIME. This sets $LC_TIME.
With the "collate" argument the language used for the With the "collate" argument the language used for the
collation order is set. This affects sorting of collation order is set. This affects sorting of
characters. This sets $LC_COLLATE. characters. This sets $LC_COLLATE.
Without an argument all are set, and additionally Without an argument all are set, and additionally
$LANG is set. $LANG is set.
The LC_NUMERIC value will always be set to "C" so The LC_NUMERIC value will always be set to "C" so

View File

@@ -58,7 +58,7 @@ the two counts are multiplied. For example: "2d3w" deletes six words.
*operator-doubled* *operator-doubled*
When doubling the operator it operates on a line. When using a count, before When doubling the operator it operates on a line. When using a count, before
or after the first character, that many lines are operated upon. Thus `3dd` or after the first character, that many lines are operated upon. Thus `3dd`
deletes three lines. A count before and after the first character is deletes three lines. A count before and after the first character is
multiplied, thus `2y3y` yanks six lines. multiplied, thus `2y3y` yanks six lines.
*operator-resulting-pos* *operator-resulting-pos*
After applying the operator the cursor is mostly left at the start of the text After applying the operator the cursor is mostly left at the start of the text
@@ -291,11 +291,11 @@ T{char} Till after [count]'th occurrence of {char} to the
{char} can be entered like with the |f| command. {char} can be entered like with the |f| command.
*;* *;*
; Repeat latest f, t, F or T [count] times. See |cpo-;| ; Repeat latest f, t, F or T [count] times. See |cpo-;|
*,* *,*
, Repeat latest f, t, F or T in opposite direction , Repeat latest f, t, F or T in opposite direction
[count] times. See also |cpo-;| [count] times. See also |cpo-;|
============================================================================== ==============================================================================
3. Up-down motions *up-down-motions* 3. Up-down motions *up-down-motions*
@@ -859,9 +859,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
@@ -1148,9 +1148,9 @@ stored in the ShaDa file and restored when starting Vim.
*jumplist-stack* *jumplist-stack*
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: >
@@ -1252,7 +1252,7 @@ remembered.
*%* *%*
% Find the next item in this line after or under the % Find the next item in this line after or under the
cursor and jump to its match. |inclusive| motion. cursor and jump to its match. |inclusive| motion.
Items can be: Items can be:
([{}]) parenthesis or (curly/square) brackets ([{}]) parenthesis or (curly/square) brackets
(this can be changed with the (this can be changed with the
@@ -1326,15 +1326,15 @@ bring you back to the switch statement.
similar structured language). When not after the similar structured language). When not after the
start of a method, jump to the start or end of the start of a method, jump to the start or end of the
class. When no '{' is found before the cursor this is class. When no '{' is found before the cursor this is
an error. |exclusive| motion. an error. |exclusive| motion.
*[M* *[M*
[M Go to [count] previous end of a method (for Java or [M Go to [count] previous end of a method (for Java or
similar structured language). When not after the similar structured language). When not after the
end of a method, jump to the start or end of the end of a method, jump to the start or end of the
class. When no '}' is found before the cursor this is class. When no '}' is found before the cursor this is
an error. |exclusive| motion. an error. |exclusive| motion.
The above two commands assume that the file contains a class with methods. The above four commands assume that the file contains a class with methods.
The class definition is surrounded in '{' and '}'. Each method in the class The class definition is surrounded in '{' and '}'. Each method in the class
is also surrounded with '{' and '}'. This applies to the Java language. The is also surrounded with '{' and '}'. This applies to the Java language. The
file looks like this: > file looks like this: >
@@ -1367,7 +1367,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

@@ -1130,8 +1130,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'breakindent' 'bri' boolean (default off) 'breakindent' 'bri' boolean (default off)
local to window local to window
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.
*'breakindentopt'* *'briopt'* *'breakindentopt'* *'briopt'*
'breakindentopt' 'briopt' string (default "") 'breakindentopt' 'briopt' string (default "")
@@ -1540,12 +1540,12 @@ A jump table for the options with a short description can be found at |Q_op|.
] tag completion ] tag completion
t same as "]" t same as "]"
f scan the buffer names (as opposed to buffer contents) f scan the buffer names (as opposed to buffer contents)
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
@@ -1715,7 +1715,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
@@ -3178,7 +3179,6 @@ A jump table for the options with a short description can be found at |Q_op|.
modeline, see |sandbox-option|. That stops the option from working, modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed. since changing the buffer text is not allowed.
This option cannot be set in a modeline when 'modelineexpr' is off. This option cannot be set in a modeline when 'modelineexpr' is off.
NOTE: This option is set to "" when 'compatible' is set.
*'formatlistpat'* *'flp'* *'formatlistpat'* *'flp'*
'formatlistpat' 'flp' string (default "^\s*\d\+[\]:.)}\t ]\s*") 'formatlistpat' 'flp' string (default "^\s*\d\+[\]:.)}\t ]\s*")
@@ -4023,9 +4023,9 @@ A jump table for the options with a short description can be found at |Q_op|.
*'langremap'* *'lrm'* *'nolangremap'* *'nolrm'* *'langremap'* *'lrm'* *'nolangremap'* *'nolrm'*
'langremap' 'lrm' boolean (default off) 'langremap' 'lrm' boolean (default off)
global global
When off, setting 'langmap' does not apply to characters resulting from When off, setting 'langmap' does not apply to characters resulting
a mapping. If setting 'langmap' disables some of your mappings, make from a mapping. If setting 'langmap' disables some of your mappings,
sure this option is off. make sure this option is off.
*'laststatus'* *'ls'* *'laststatus'* *'ls'*
'laststatus' 'ls' number (default 2) 'laststatus' 'ls' number (default 2)
@@ -4046,8 +4046,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'*
@@ -6026,9 +6026,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'shiftwidth'. If you plan to use 'sts' and 'shiftwidth' with 'shiftwidth'. If you plan to use 'sts' and 'shiftwidth' with
different values, you might consider setting 'smarttab'. different values, you might consider setting 'smarttab'.
'softtabstop' is temporarily set to 0 when 'paste' is on and reset
when it is turned off. It is also reset when 'compatible' is set.
The 'L' flag in 'cpoptions' alters tab behavior when 'list' is The 'L' flag in 'cpoptions' alters tab behavior when 'list' is
enabled. See also |ins-expandtab| ans user manual section |30.5| for enabled. See also |ins-expandtab| ans user manual section |30.5| for
in-depth explanations. in-depth explanations.

View File

@@ -66,9 +66,9 @@ path.
Nvim will also load ftdetect files, if there are any. Nvim 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|.
@@ -145,8 +145,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
@@ -190,7 +190,7 @@ the command after changing the plugin help: >
Dependencies between plugins ~ Dependencies between plugins ~
*packload-two-steps* *packload-two-steps*
Suppose you have two plugins that depend on the same functionality. You can Suppose you have two plugins that depend on the same functionality. You can
put the common functionality in an autoload directory, so that it will be put the common functionality in an autoload directory, so that it will be
found automatically. Your package would have these files: found automatically. Your package would have these files:

View File

@@ -274,9 +274,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
@@ -1134,11 +1134,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

@@ -33,13 +33,13 @@ compiler (see |errorformat| below).
*quickfix-stack* *quickfix-ID* *quickfix-stack* *quickfix-ID*
Each quickfix list has a unique identifier called the quickfix ID and this Each quickfix list has a unique identifier called the quickfix ID and this
number will not change within a Vim session. The |getqflist()| function can be number will not change within a Vim session. The |getqflist()| function can be
used to get the identifier assigned to a list. There is also a quickfix list used to get the identifier assigned to a list. There is also a quickfix list
number which may change whenever more than 'chistory' lists are added to a number which may change whenever more than 'chistory' lists are added to a
quickfix stack. quickfix stack.
*location-list* *E776* *location-list* *E776*
A location list is a window-local quickfix list. You get one after commands A location list is a window-local quickfix list. You get one after commands
like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a
location list instead of a quickfix list as the corresponding `:vimgrep`, location list instead of a quickfix list as the corresponding `:vimgrep`,
`:grep`, `:helpgrep`, `:make` do. `:grep`, `:helpgrep`, `:make` do.
@@ -55,7 +55,7 @@ the location list is destroyed.
*quickfix-changedtick* *quickfix-changedtick*
Every quickfix and location list has a read-only changedtick variable that Every quickfix and location list has a read-only changedtick variable that
tracks the total number of changes made to the list. Every time the quickfix tracks the total number of changes made to the list. Every time the quickfix
list is modified, this count is incremented. This can be used to perform an list is modified, this count is incremented. This can be used to perform an
action only when the list has changed. The |getqflist()| and |getloclist()| action only when the list has changed. The |getqflist()| and |getloclist()|
functions can be used to query the current value of changedtick. You cannot functions can be used to query the current value of changedtick. You cannot
change the changedtick variable. change the changedtick variable.
@@ -75,9 +75,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
@@ -300,7 +300,7 @@ processing a quickfix or location list command, it will be aborted.
*:caddf* *:caddfile* *:caddf* *:caddfile*
:caddf[ile] [errorfile] Read the error file and add the errors from the :caddf[ile] [errorfile] Read the error file and add the errors from the
errorfile to the current quickfix list. If a quickfix errorfile to the current quickfix list. If a quickfix
list is not present, then a new list is created. list is not present, then a new list is created.
If the encoding of the error file differs from the If the encoding of the error file differs from the
'encoding' option, you can use the 'makeencoding' 'encoding' option, you can use the 'makeencoding'
@@ -341,7 +341,7 @@ processing a quickfix or location list command, it will be aborted.
Read the error list from the current buffer and add Read the error list from the current buffer and add
the errors to the current quickfix list. If a the errors to the current quickfix list. If a
quickfix list is not present, then a new list is quickfix list is not present, then a new list is
created. Otherwise, same as ":cbuffer". created. Otherwise, same as ":cbuffer".
*:laddb* *:laddbuffer* *:laddb* *:laddbuffer*
:[range]laddb[uffer] [bufnr] :[range]laddb[uffer] [bufnr]
@@ -378,9 +378,9 @@ processing a quickfix or location list command, it will be aborted.
*:cadde* *:caddexpr* *:cadde* *:caddexpr*
:cadde[xpr] {expr} Evaluate {expr} and add the resulting lines to the :cadde[xpr] {expr} Evaluate {expr} and add the resulting lines to the
current quickfix list. If a quickfix list is not current quickfix list. If a quickfix list is not
present, then a new list is created. The current present, then a new list is created. The current
cursor position will not be changed. See |:cexpr| for cursor position will not be changed. See |:cexpr| for
more information. more information.
Example: > Example: >
:g/mypattern/caddexpr expand("%") .. ":" .. line(".") .. ":" .. getline(".") :g/mypattern/caddexpr expand("%") .. ":" .. line(".") .. ":" .. getline(".")
@@ -392,11 +392,12 @@ 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,
pattern and text of the entry. pattern and text of the entry.
@@ -432,7 +433,7 @@ the error location may not be correct. If you quit Vim and start again the
marks are lost and the error locations may not be correct anymore. marks are lost and the error locations may not be correct anymore.
Two autocommands are available for running commands before and after a Two autocommands are available for running commands before and after a
quickfix command (':make', ':grep' and so on) is executed. See quickfix command (':make', ':grep' and so on) is executed. See
|QuickFixCmdPre| and |QuickFixCmdPost| for details. |QuickFixCmdPre| and |QuickFixCmdPost| for details.
*QuickFixCmdPost-example* *QuickFixCmdPost-example*
@@ -451,11 +452,11 @@ use this code: >
Another option is using 'makeencoding'. Another option is using 'makeencoding'.
*quickfix-title* *quickfix-title*
Every quickfix and location list has a title. By default the title is set to Every quickfix and location list has a title. By default the title is set to
the command that created the list. The |getqflist()| and |getloclist()| the command that created the list. The |getqflist()| and |getloclist()|
functions can be used to get the title of a quickfix and a location list functions can be used to get the title of a quickfix and a location list
respectively. The |setqflist()| and |setloclist()| functions can be used to respectively. The |setqflist()| and |setloclist()| functions can be used to
modify the title of a quickfix and location list respectively. Examples: > modify the title of a quickfix and location list respectively. Examples: >
call setqflist([], 'a', {'title' : 'Cmd output'}) call setqflist([], 'a', {'title' : 'Cmd output'})
echo getqflist({'title' : 1}) echo getqflist({'title' : 1})
call setloclist(3, [], 'a', {'title' : 'Cmd output'}) call setloclist(3, [], 'a', {'title' : 'Cmd output'})
@@ -464,32 +465,32 @@ modify the title of a quickfix and location list respectively. Examples: >
*quickfix-index* *quickfix-index*
When you jump to a quickfix/location list entry using any of the quickfix When you jump to a quickfix/location list entry using any of the quickfix
commands (e.g. |:cc|, |:cnext|, |:cprev|, etc.), that entry becomes the commands (e.g. |:cc|, |:cnext|, |:cprev|, etc.), that entry becomes the
currently selected entry. The index of the currently selected entry in a currently selected entry. The index of the currently selected entry in a
quickfix/location list can be obtained using the getqflist()/getloclist() quickfix/location list can be obtained using the getqflist()/getloclist()
functions. Examples: > functions. Examples: >
echo getqflist({'idx' : 0}).idx echo getqflist({'idx' : 0}).idx
echo getqflist({'id' : qfid, 'idx' : 0}).idx echo getqflist({'id' : qfid, 'idx' : 0}).idx
echo getloclist(2, {'idx' : 0}).idx echo getloclist(2, {'idx' : 0}).idx
< <
For a new quickfix list, the first entry is selected and the index is 1. Any For a new quickfix list, the first entry is selected and the index is 1. Any
entry in any quickfix/location list can be set as the currently selected entry entry in any quickfix/location list can be set as the currently selected entry
using the setqflist() function. Examples: > using the setqflist() function. Examples: >
call setqflist([], 'a', {'idx' : 12}) call setqflist([], 'a', {'idx' : 12})
call setqflist([], 'a', {'id' : qfid, 'idx' : 7}) call setqflist([], 'a', {'id' : qfid, 'idx' : 7})
call setloclist(1, [], 'a', {'idx' : 7}) call setloclist(1, [], 'a', {'idx' : 7})
< <
*quickfix-size* *quickfix-size*
You can get the number of entries (size) in a quickfix and a location list You can get the number of entries (size) in a quickfix and a location list
using the |getqflist()| and |getloclist()| functions respectively. Examples: > using the |getqflist()| and |getloclist()| functions respectively. Examples: >
echo getqflist({'size' : 1}) echo getqflist({'size' : 1})
echo getloclist(5, {'size' : 1}) echo getloclist(5, {'size' : 1})
< <
*quickfix-context* *quickfix-context*
Any Vim type can be associated as a context with a quickfix or location list. Any Vim type can be associated as a context with a quickfix or location list.
The |setqflist()| and the |setloclist()| functions can be used to associate a The |setqflist()| and the |setloclist()| functions can be used to associate a
context with a quickfix and a location list respectively. The |getqflist()| context with a quickfix and a location list respectively. The |getqflist()|
and the |getloclist()| functions can be used to retrieve the context of a and the |getloclist()| functions can be used to retrieve the context of a
quickfix and a location list respectively. This is useful for a Vim plugin quickfix and a location list respectively. This is useful for a Vim plugin
dealing with multiple quickfix/location lists. dealing with multiple quickfix/location lists.
Examples: > Examples: >
@@ -503,11 +504,11 @@ Examples: >
< <
*quickfix-parse* *quickfix-parse*
You can parse a list of lines using 'errorformat' without creating or You can parse a list of lines using 'errorformat' without creating or
modifying a quickfix list using the |getqflist()| function. Examples: > modifying a quickfix list using the |getqflist()| function. Examples: >
echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]}) echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]})
echo getqflist({'lines' : systemlist('grep -Hn quickfix *')}) echo getqflist({'lines' : systemlist('grep -Hn quickfix *')})
This returns a dictionary where the "items" key contains the list of quickfix This returns a dictionary where the "items" key contains the list of quickfix
entries parsed from lines. The following shows how to use a custom entries parsed from lines. The following shows how to use a custom
'errorformat' to parse the lines without modifying the 'errorformat' option: > 'errorformat' to parse the lines without modifying the 'errorformat' option: >
echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']}) echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']})
< <
@@ -586,11 +587,11 @@ Then you can use the following commands to filter a quickfix/location list: >
:Lfilter[!] /{pat}/ :Lfilter[!] /{pat}/
The |:Cfilter| command creates a new quickfix list from the entries matching The |:Cfilter| command creates a new quickfix list from the entries matching
{pat} in the current quickfix list. {pat} is a Vim |regular-expression| {pat} in the current quickfix list. {pat} is a Vim |regular-expression|
pattern. Both the file name and the text of the entries are matched against pattern. Both the file name and the text of the entries are matched against
{pat}. If the optional ! is supplied, then the entries not matching {pat} are {pat}. If the optional ! is supplied, then the entries not matching {pat} are
used. The pattern can be optionally enclosed using one of the following used. The pattern can be optionally enclosed using one of the following
characters: ', ", /. If the pattern is empty, then the last used search characters: ', ", /. If the pattern is empty, then the last used search
pattern is used. pattern is used.
The |:Lfilter| command does the same as |:Cfilter| but operates on the current The |:Lfilter| command does the same as |:Cfilter| but operates on the current
@@ -619,19 +620,19 @@ can go back to the unfiltered list using the |:colder|/|:lolder| command.
'buftype' equal to "quickfix". Don't change this! 'buftype' equal to "quickfix". Don't change this!
The window will have the w:quickfix_title variable set The window will have the w:quickfix_title variable set
which will indicate the command that produced the which will indicate the command that produced the
quickfix list. This can be used to compose a custom quickfix list. This can be used to compose a custom
status line if the value of 'statusline' is adjusted status line if the value of 'statusline' is adjusted
properly. Whenever this buffer is modified by a properly. Whenever this buffer is modified by a
quickfix command or function, the |b:changedtick| quickfix command or function, the |b:changedtick|
variable is incremented. You can get the number of variable is incremented. You can get the number of
this buffer using the getqflist() and getloclist() this buffer using the getqflist() and getloclist()
functions by passing the "qfbufnr" item. For a functions by passing the "qfbufnr" item. For a
location list, this buffer is wiped out when the location list, this buffer is wiped out when the
location list is removed. location list is removed.
*:lop* *:lopen* *:lop* *:lopen*
:lop[en] [height] Open a window to show the location list for the :lop[en] [height] Open a window to show the location list for the
current window. Works only when the location list for current window. Works only when the location list for
the current window is present. You can have more than the current window is present. You can have more than
one location window opened at a time. Otherwise, it one location window opened at a time. Otherwise, it
acts the same as ":copen". acts the same as ":copen".
@@ -738,7 +739,7 @@ The location list window displays the entries in a location list. When you
open a location list window, it is created below the current window and open a location list window, it is created below the current window and
displays the location list for the current window. The location list window displays the location list for the current window. The location list window
is similar to the quickfix window, except that you can have more than one is similar to the quickfix window, except that you can have more than one
location list window open at a time. When you use a location list command in location list window open at a time. When you use a location list command in
this window, the displayed location list is used. this window, the displayed location list is used.
When you select a file from the location list window, the following steps are When you select a file from the location list window, the following steps are
@@ -767,7 +768,7 @@ present). Examples: >
< <
*getqflist-examples* *getqflist-examples*
The |getqflist()| and |getloclist()| functions can be used to get the various The |getqflist()| and |getloclist()| functions can be used to get the various
attributes of a quickfix and location list respectively. Some examples for attributes of a quickfix and location list respectively. Some examples for
using these functions are below: using these functions are below:
> >
" get the title of the current quickfix list " get the title of the current quickfix list
@@ -833,7 +834,7 @@ using these functions are below:
< <
*setqflist-examples* *setqflist-examples*
The |setqflist()| and |setloclist()| functions can be used to set the various The |setqflist()| and |setloclist()| functions can be used to set the various
attributes of a quickfix and location list respectively. Some examples for attributes of a quickfix and location list respectively. Some examples for
using these functions are below: using these functions are below:
> >
" create an empty quickfix list with a title and a context " create an empty quickfix list with a title and a context
@@ -917,7 +918,7 @@ existing error lists as the current one.
error list 3 of 3; 15 errors :grep ex_help *.c error list 3 of 3; 15 errors :grep ex_help *.c
< <
When [count] is given, then the count'th quickfix When [count] is given, then the count'th quickfix
list is made the current list. Example: > list is made the current list. Example: >
" Make the 4th quickfix list current " Make the 4th quickfix list current
:4chistory :4chistory
< <
@@ -934,7 +935,7 @@ lists, use ":cnewer 99" first.
To get the number of lists in the quickfix and location list stack, you can To get the number of lists in the quickfix and location list stack, you can
use the |getqflist()| and |getloclist()| functions respectively with the list use the |getqflist()| and |getloclist()| functions respectively with the list
number set to the special value '$'. Examples: > number set to the special value '$'. Examples: >
echo getqflist({'nr' : '$'}).nr echo getqflist({'nr' : '$'}).nr
echo getloclist(3, {'nr' : '$'}).nr echo getloclist(3, {'nr' : '$'}).nr
To get the number of the current list in the stack: > To get the number of the current list in the stack: >
@@ -1090,7 +1091,7 @@ commands can be combined to create a NewGrep command: >
buffer are abandoned. buffer are abandoned.
'f' When the 'f' flag is specified, fuzzy string 'f' When the 'f' flag is specified, fuzzy string
matching is used to find matching lines. In this matching is used to find matching lines. In this
case, {pattern} is treated as a literal string case, {pattern} is treated as a literal string
instead of a regular expression. See instead of a regular expression. See
|fuzzy-matching| for more information about fuzzy |fuzzy-matching| for more information about fuzzy
@@ -1205,8 +1206,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
@@ -1304,7 +1305,7 @@ Use the |compiler-make| plugin to undo the effect of a compiler plugin.
CPPCHECK *quickfix-cppcheck* *compiler-cppcheck* CPPCHECK *quickfix-cppcheck* *compiler-cppcheck*
Use g/b:`c_cppcheck_params` to set cppcheck parameters. The global Use g/b:`c_cppcheck_params` to set cppcheck parameters. The global
settings by default include settings by default include
- `--verbose`: Enables verbose output. - `--verbose`: Enables verbose output.
@@ -1319,10 +1320,10 @@ For C++ files (`filetype == 'cpp'`), the `--language=c++` option is added to
ensure Cppcheck treats the file as C++. ensure Cppcheck treats the file as C++.
If compile_commands.json is present in the current directory, it is added as a If compile_commands.json is present in the current directory, it is added as a
`--project` parameter to the command line. Otherwise, by default the `--project` parameter to the command line. Otherwise, by default the
directories in &path are passed as include directories. These can be set by directories in &path are passed as include directories. These can be set by
g/b:`c_cppcheck_includes` as a list of `-I` flags. Tim Pope's vim-apathy g/b:`c_cppcheck_includes` as a list of `-I` flags. Tim Pope's vim-apathy
plug-in [0] can expand &path. To also append the folders in a git repo use > plug-in [0] can expand &path. To also append the folders in a git repo use >
let &l:path = join(systemlist('git ls-tree -d --name-only -r HEAD'), ',') let &l:path = join(systemlist('git ls-tree -d --name-only -r HEAD'), ',')
@@ -1330,12 +1331,13 @@ plug-in [0] can expand &path. To also append the folders in a git repo use >
DOTNET *compiler-dotnet* DOTNET *compiler-dotnet*
The .NET CLI compiler outputs both errors and warnings by default. The output 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
@@ -1598,9 +1600,9 @@ manpage) as input and expects that the output file type extension is passed to
make, say :make html or :make pdf. make, say :make html or :make pdf.
Additional arguments can be passed to groff by setting them in Additional arguments can be passed to groff by setting them in
`b:groff_compiler_args` or `g:groff_compiler_args`. The `language` argument `b:groff_compiler_args` or `g:groff_compiler_args`. The `language` argument
passed to groff is set using 'spelllang'; it can be overridden by setting passed to groff is set using 'spelllang'; it can be overridden by setting
`b:groff_compiler_lang`. The default encoding is `UTF-8` and can be changed `b:groff_compiler_lang`. The default encoding is `UTF-8` and can be changed
by setting `b:groff_compiler_encoding` or `g:groff_compiler_encoding`. by setting `b:groff_compiler_encoding` or `g:groff_compiler_encoding`.
PANDOC *quickfix-pandoc* *compiler-pandoc* PANDOC *quickfix-pandoc* *compiler-pandoc*
@@ -1687,8 +1689,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).
@@ -1728,13 +1730,13 @@ b/g:tsc_makeprg variable. For example: >
TYPST COMPILER *compiler-typst* TYPST COMPILER *compiler-typst*
Vim includes a compiler plugin for Typst files. This compiler is enabled Vim includes a compiler plugin for Typst files. This compiler is enabled
automatically in Typst buffers by the Typst filetype plugin |ft-typst-plugin|. 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"
============================================================================= =============================================================================
@@ -1821,11 +1823,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.
@@ -2017,7 +2019,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.
@@ -2223,7 +2226,7 @@ You need to put the following in "vim-javac-filter" somewhere in your path
In English, that sed script: In English, that sed script:
- Changes single tabs to single spaces and - Changes single tabs to single spaces and
- Moves the line with the filename, line number, error message to just after - Moves the line with the filename, line number, error message to just after
the pointer line. That way, the unused error text between doesn't break the pointer line. That way, the unused error text between doesn't break
vim's notion of a "multi-line message" and also doesn't force us to include vim's notion of a "multi-line message" and also doesn't force us to include
it as a "continuation of a multi-line message." it as a "continuation of a multi-line message."
@@ -2347,40 +2350,40 @@ The values displayed in each line correspond to the "bufnr", "lnum", "col" and
For some quickfix/location lists, the displayed text needs to be customized. For some quickfix/location lists, the displayed text needs to be customized.
For example, if only the filename is present for a quickfix entry, then the 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
should return a List of strings to be displayed in the quickfix or location should return a List of strings to be displayed in the quickfix or location
list window. The dict argument will have the following fields: list window. The dict argument will have the following fields:
quickfix set to 1 when called for a quickfix list and 0 when called for quickfix set to 1 when called for a quickfix list and 0 when called for
a location list. a location list.
winid for a location list, set to the id of the window with the winid for a location list, set to the id of the window with the
location list. For a quickfix list, set to 0. Can be used in location list. For a quickfix list, set to 0. Can be used in
getloclist() to get the location list entry. getloclist() to get the location list entry.
id quickfix or location list identifier id quickfix or location list identifier
start_idx index of the first entry for which text should be returned start_idx index of the first entry for which text should be returned
end_idx index of the last entry for which text should be returned end_idx index of the last entry for which text should be returned
The function should return a single line of text to display in the quickfix The function should return a single line of text to display in the quickfix
window for each entry from start_idx to end_idx. The function can obtain window for each entry from start_idx to end_idx. The function can obtain
information about the entries using the |getqflist()| function and specifying information about the entries using the |getqflist()| function and specifying
the quickfix list identifier "id". For a location list, getloclist() function the quickfix list identifier "id". For a location list, getloclist() function
can be used with the "winid" argument. If an empty list is returned, then the can be used with the "winid" argument. If an empty list is returned, then the
default format is used to display all the entries. If an item in the returned default format is used to display all the entries. If an item in the returned
list is an empty string, then the default format is used to display the list is an empty string, then the default format is used to display the
corresponding entry. corresponding entry.
If a quickfix or location list specific customization is needed, then the If a quickfix or location list specific customization is needed, then the
'quickfixtextfunc' attribute of the list can be set using the |setqflist()| or 'quickfixtextfunc' attribute of the list can be set using the |setqflist()| or
|setloclist()| function. This overrides the global 'quickfixtextfunc' option. |setloclist()| function. This overrides the global 'quickfixtextfunc' option.
The example below displays the list of old files (|v:oldfiles|) in a quickfix The example below displays the list of old files (|v:oldfiles|) in a quickfix
window. As there is no line, column number and error text information window. As there is no line, column number and error text information
associated with each entry, the 'quickfixtextfunc' function returns only the associated with each entry, the 'quickfixtextfunc' function returns only the
filename. filename.
Example: > Example: >

View File

@@ -73,7 +73,7 @@ The 'swapfile' option can be reset to avoid creating a swapfile. And the
|:noswapfile| modifier can be used to not create a swapfile for a new buffer. |:noswapfile| modifier can be used to not create a swapfile for a new buffer.
:nos[wapfile] {command} *:nos* *:noswapfile* :nos[wapfile] {command} *:nos* *:noswapfile*
Execute {command}. If it contains a command that loads a new Execute {command}. If it contains a command that loads a new
buffer, it will be loaded without creating a swapfile and the buffer, it will be loaded without creating a swapfile and the
'swapfile' option will be reset. If a buffer already had a 'swapfile' option will be reset. If a buffer already had a
swapfile it is not removed and 'swapfile' is not reset. swapfile it is not removed and 'swapfile' is not reset.

View File

@@ -77,7 +77,7 @@ line is aborted and the global command continues with the next marked or
unmarked line. unmarked line.
*E147* *E147*
When the command is used recursively, it only works on one line. Giving a When the command is used recursively, it only works on one line. Giving a
range is then not allowed. This is useful to find all lines that match a range is then not allowed. This is useful to find all lines that match a
pattern and do not match another pattern: > pattern and do not match another pattern: >
:g/found/v/notfound/{cmd} :g/found/v/notfound/{cmd}
This first finds all lines containing "found", but only executes {cmd} when This first finds all lines containing "found", but only executes {cmd} when
@@ -163,18 +163,18 @@ Q Repeat the last recorded register [count] times.
See |visual-repeat|, |default-mappings|. See |visual-repeat|, |default-mappings|.
*:@* *:@*
:[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.
Mappings are not recognized in these commands. Mappings are not recognized in these commands.
When the |line-continuation| character (\) is present When the |line-continuation| character (\) is present
at the beginning of a line in a linewise register, at the beginning of a line in a linewise register,
then it is combined with the previous line. This is then it is combined with the previous line. This is
useful for yanking and executing parts of a Vim useful for yanking and executing parts of a Vim
script. script.
@@ -203,7 +203,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
When sourcing commands or Lua code from the current When sourcing commands or Lua code from the current
buffer, the same script-ID |<SID>| is used even if the buffer, the same script-ID |<SID>| is used even if the
buffer is sourced multiple times. If a buffer is buffer is sourced multiple times. If a buffer is
sourced more than once, then the functions in the sourced more than once, then the functions in the
buffer are defined again. buffer are defined again.
@@ -675,7 +675,7 @@ DEFINING BREAKPOINTS
:breaka[dd] expr {expression} :breaka[dd] expr {expression}
Sets a breakpoint, that will break whenever the {expression} Sets a breakpoint, that will break whenever the {expression}
evaluates to a different value. Example: > evaluates to a different value. Example: >
:breakadd expr g:lnum :breakadd expr g:lnum
< Will break, whenever the global variable lnum changes. < Will break, whenever the global variable lnum changes.
@@ -787,7 +787,7 @@ For example, to profile the one_script.vim script file: >
:prof[ile] stop :prof[ile] stop
Write the collected profiling information to the logfile and Write the collected profiling information to the logfile and
stop profiling. You can use the `:profile start` command to stop profiling. You can use the `:profile start` command to
clear the profiling statistics and start profiling again. clear the profiling statistics and start profiling again.
:prof[ile] pause :prof[ile] pause
@@ -819,8 +819,8 @@ For example, to profile the one_script.vim script file: >
collect the profiling statistics. collect the profiling statistics.
:profd[el] ... *:profd* *:profdel* :profd[el] ... *:profd* *:profdel*
Stop profiling for the arguments specified. See |:breakdel| Stop profiling for the arguments specified. See |:breakdel|
for the arguments. Examples: > for the arguments. Examples: >
profdel func MyFunc profdel func MyFunc
profdel file MyScript.vim profdel file MyScript.vim
profdel here profdel here

View File

@@ -50,19 +50,19 @@ The color of the column is set with the SignColumn highlight group
If 'cursorline' is enabled, then the CursorLineSign highlight group is used If 'cursorline' is enabled, then the CursorLineSign highlight group is used
|hl-CursorLineSign|. |hl-CursorLineSign|.
*sign-identifier* *sign-identifier*
Each placed sign is identified by a number called the sign identifier. This Each placed sign is identified by a number called the sign identifier. This
identifier is used to jump to the sign or to remove the sign. The identifier identifier is used to jump to the sign or to remove the sign. The identifier
is assigned when placing the sign using the |:sign-place| command or the is assigned when placing the sign using the |:sign-place| command or the
|sign_place()| function. Each sign identifier should be a unique number (per |sign_place()| function. Each sign identifier should be a unique number (per
buffer). Placing the same identifier twice will move the previously placed buffer). Placing the same identifier twice will move the previously placed
sign. The |sign_place()| function can be called with a zero sign identifier to sign. The |sign_place()| function can be called with a zero sign identifier
allocate the next available identifier. to allocate the next available identifier.
*sign-group* *sign-group*
Each placed sign can be assigned to either the global group or a named group. Each placed sign can be assigned to either the global group or a named group.
When placing a sign, if a group name is not supplied, or an empty string is When placing a sign, if a group name is not supplied, or an empty string is
used, then the sign is placed in the global group. Otherwise the sign is used, then the sign is placed in the global group. Otherwise the sign is
placed in the named group. The sign identifier is unique within a group. The placed in the named group. The sign identifier is unique within a group. The
sign group allows Vim plugins to use unique signs without interfering with sign group allows Vim plugins to use unique signs without interfering with
other plugins using signs. other plugins using signs.
@@ -188,8 +188,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.
@@ -287,7 +287,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.
@@ -296,8 +297,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
@@ -355,7 +356,7 @@ See |sign_jump()| for the equivalent Vim script function.
:sig[n] jump {id} [buffer={nr}] *E934* :sig[n] jump {id} [buffer={nr}] *E934*
Same, but use buffer {nr}. This fails if buffer {nr} does not Same, but use buffer {nr}. This fails if buffer {nr} does not
have a name. If the buffer argument is not given, use the have a name. If the buffer argument is not given, use the
current buffer. current buffer.
:sig[n] jump {id} group={group} [buffer={nr}] :sig[n] jump {id} group={group} [buffer={nr}]

View File

@@ -129,7 +129,7 @@ zuG Undo |zW| and |zG|, remove the word from the internal
There are no normal mode commands to mark words as There are no normal mode commands to mark words as
rare as this is a fairly uncommon command and all rare as this is a fairly uncommon command and all
intuitive commands for this are already taken. If you intuitive commands for this are already taken. If you
want you can add mappings with e.g.: > want you can add mappings with e.g.: >
nnoremap z? :exe ':spellrare ' .. expand('<cWORD>')<CR> nnoremap z? :exe ':spellrare ' .. expand('<cWORD>')<CR>
nnoremap z/ :exe ':spellrare! ' .. expand('<cWORD>')<CR> nnoremap z/ :exe ':spellrare! ' .. expand('<cWORD>')<CR>
@@ -289,7 +289,7 @@ In a table:
*spell-cjk* *spell-cjk*
Chinese, Japanese and other East Asian characters are normally marked as Chinese, Japanese and other East Asian characters are normally marked as
errors, because spell checking of these characters is not supported. If errors, because spell checking of these characters is not supported. If
'spelllang' includes "cjk", these characters are not marked as errors. This 'spelllang' includes "cjk", these characters are not marked as errors. This
is useful when editing text with spell checking while some Asian words are is useful when editing text with spell checking while some Asian words are
present. present.
@@ -491,8 +491,8 @@ Vim uses a binary file format for spelling. This greatly speeds up loading
the word list and keeps it small. the word list and keeps it small.
*.aff* *.dic* *Myspell* *.aff* *.dic* *Myspell*
You can create a Vim spell file from the .aff and .dic files that Myspell You can create a Vim spell file from the .aff and .dic files that Myspell
uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt uses. Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt
files are zip files which contain the .aff and .dic files. You should be able files are zip files which contain the .aff and .dic files. You should be able
to find them here: to find them here:
https://extensions.openoffice.org/en/search@f[0]=field_project_application%253A1&f[1]=field_project_tags%253A94.html https://extensions.openoffice.org/en/search@f[0]=field_project_application%253A1&f[1]=field_project_tags%253A94.html
The older, OpenOffice 2 files may be used if this doesn't work: The older, OpenOffice 2 files may be used if this doesn't work:
@@ -826,8 +826,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,
@@ -1166,9 +1166,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.
@@ -1597,7 +1598,7 @@ CHECKCOMPOUNDTRIPLE (Hunspell) *spell-CHECKCOMPOUNDTRIPLE*
CHECKSHARPS (Hunspell) *spell-CHECKSHARPS* CHECKSHARPS (Hunspell) *spell-CHECKSHARPS*
SS letter pair in uppercased (German) words may be upper case SS letter pair in uppercased (German) words may be upper case
sharp s (ß). Not supported. sharp s (ß). Not supported.
COMPLEXPREFIXES (Hunspell) *spell-COMPLEXPREFIXES* COMPLEXPREFIXES (Hunspell) *spell-COMPLEXPREFIXES*
Enables using two prefixes. Not supported. Enables using two prefixes. Not supported.

View File

@@ -119,7 +119,7 @@ argument.
"pat" in the first file being edited (see |pattern| for the "pat" in the first file being edited (see |pattern| for the
available search patterns). The search starts at the cursor available search patterns). The search starts at the cursor
position, which can be the first line or the cursor position position, which can be the first line or the cursor position
last used from |shada|. To force a search from the first last used from |shada|. To force a search from the first
line use "+1 +/pat". line use "+1 +/pat".
+{command} *-+c* *-c* +{command} *-+c* *-c*
@@ -997,8 +997,8 @@ has marks for.
*shada-file-marks* *shada-file-marks*
Uppercase marks ('A to 'Z) are stored when writing the ShaDa file. The Uppercase marks ('A to 'Z) are stored when writing the ShaDa file. The
numbered marks ('0 to '9) are a bit special. When the ShaDa file is written numbered marks ('0 to '9) are a bit special. When the ShaDa file is written
(when exiting or with the |:wshada| command), '0 is set to the current cursor (when exiting or with the |:wshada| 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

View File

@@ -397,9 +397,9 @@ version 2.2.3.
ASSEMBLY *asm68k* *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax* ASSEMBLY *asm68k* *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
*ft-masm-syntax* *ft-asm68k-syntax* *ft-masm-syntax* *ft-asm68k-syntax*
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.
@@ -414,7 +414,7 @@ files are included:
ia64 Intel Itanium 64 ia64 Intel Itanium 64
fasm Flat assembly (https://flatassembler.net) fasm Flat assembly (https://flatassembler.net)
masm Microsoft assembly (.masm files are compiled with masm Microsoft assembly (.masm files are compiled with
Microsoft's Macro Assembler. This is only supported Microsoft's Macro Assembler. This is only supported
for x86, x86_64, ARM and AARCH64 CPU families) for x86, x86_64, ARM and AARCH64 CPU families)
nasm Netwide assembly nasm Netwide assembly
tasm Turbo Assembly (with opcodes 80x86 up to Pentium, and tasm Turbo Assembly (with opcodes 80x86 up to Pentium, and
@@ -486,7 +486,7 @@ For Visual Basic use: >
ASYMPTOTE *ft-asy-syntax* ASYMPTOTE *ft-asy-syntax*
By default, only basic Asymptote keywords are highlighted. To highlight By default, only basic Asymptote keywords are highlighted. To highlight
extended geometry keywords: > extended geometry keywords: >
:let g:asy_syn_plain = 1 :let g:asy_syn_plain = 1
@@ -495,7 +495,7 @@ and for highlighting keywords related to 3D constructions: >
:let g:asy_syn_three = 1 :let g:asy_syn_three = 1
By default, Asymptote-defined colors (e.g: lightblue) are highlighted. To By default, Asymptote-defined colors (e.g: lightblue) are highlighted. To
highlight TeX-defined colors (e.g: BlueViolet) use: > highlight TeX-defined colors (e.g: BlueViolet) use: >
:let g:asy_syn_texcolors = 1 :let g:asy_syn_texcolors = 1
@@ -507,8 +507,8 @@ or for Xorg colors (e.g: AliceBlue): >
BAAN *baan-syntax* BAAN *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 |init.vim|: > in ones |init.vim|: >
@@ -517,7 +517,7 @@ in ones |init.vim|: >
*baan-folding* *baan-folding*
Syntax folding can be enabled at various levels through the variables Syntax folding can be enabled at various levels through the variables
mentioned below (Set those in your |init.vim|). The more complex folding on mentioned below (Set those in your |init.vim|). The more complex folding on
source blocks and SQL can be CPU intensive. source blocks and SQL can be CPU intensive.
To allow any folding and enable folding at function level use: > To allow any folding and enable folding at function level use: >
@@ -530,9 +530,9 @@ Folding can be enabled for embedded SQL blocks as SELECT, SELECTDO,
SELECTEMPTY, ... The indentation preceding the begin/end keywords has to SELECTEMPTY, ... The indentation preceding the begin/end keywords has to
match (spaces are not considered equal to a tab). > match (spaces are not considered equal to a tab). >
let baan_fold_sql=1 let baan_fold_sql=1
Note: Block folding can result in many small folds. It is suggested to |:set| Note: Block folding can result in many small folds. It is suggested to |:set|
the options 'foldminlines' and 'foldnestmax' in |init.vim| or use |:setlocal| the options 'foldminlines' and 'foldnestmax' in |init.vim| or use |:setlocal|
in .../after/syntax/baan.vim (see |after-directory|). Eg: > in .../after/syntax/baan.vim (see |after-directory|). Eg: >
set foldminlines=5 set foldminlines=5
set foldnestmax=6 set foldnestmax=6
@@ -788,7 +788,7 @@ variable.
CSV *ft-csv-syntax* CSV *ft-csv-syntax*
If you change the delimiter of a CSV file, its syntax highlighting will no If you change the delimiter of a CSV file, its syntax highlighting will no
longer match the changed file content. You will need to unlet the following longer match the changed file content. You will need to unlet the following
variable: > variable: >
:unlet b:csv_delimiter :unlet b:csv_delimiter
@@ -804,10 +804,10 @@ Now the syntax engine should determine the newly changed CSV delimiter.
CYNLIB *ft-cynlib-syntax* CYNLIB *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
@@ -847,9 +847,9 @@ following variables:
DART *ft-dart-syntax* DART *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
@@ -965,7 +965,7 @@ Doxygen generates code documentation using a special documentation format
(similar to Javadoc). This syntax script adds doxygen highlighting to c, cpp, (similar to Javadoc). This syntax script adds doxygen highlighting to c, cpp,
idl and php files, and should also work with java. idl and php files, and should also work with java.
There are a few of ways to turn on doxygen formatting. It can be done There are a few of ways to turn on doxygen formatting. It can be done
explicitly or in a modeline by appending '.doxygen' to the syntax of the file. explicitly or in a modeline by appending '.doxygen' to the syntax of the file.
Example: > Example: >
:set syntax=c.doxygen :set syntax=c.doxygen
@@ -1073,7 +1073,7 @@ to your startup file.
EUPHORIA *ft-euphoria-syntax* EUPHORIA *ft-euphoria-syntax*
Two syntax highlighting files exist for Euphoria. One for Euphoria Two syntax highlighting files exist for Euphoria. One for Euphoria
version 3.1.1, which is the default syntax highlighting file, and one for version 3.1.1, which is the default syntax highlighting file, and one for
Euphoria version 4.0.5 or later. Euphoria version 4.0.5 or later.
@@ -1099,7 +1099,7 @@ add the following line to your startup file: >
Elixir and Euphoria share the `*.ex` file extension. If the filetype is Elixir and Euphoria share the `*.ex` file extension. If the filetype is
specifically set as Euphoria with the g:filetype_euphoria variable, or the specifically set as Euphoria with the g:filetype_euphoria variable, or the
file is determined to be Euphoria based on keywords in the file, then the file is determined to be Euphoria based on keywords in the file, then the
filetype will be set as Euphoria. Otherwise, the filetype will default to filetype will be set as Euphoria. Otherwise, the filetype will default to
Elixir. Elixir.
@@ -1159,10 +1159,10 @@ The following file extensions are auto-detected as Elixir file types: >
*.ex, *.exs, *.eex, *.leex, *.lock *.ex, *.exs, *.eex, *.leex, *.lock
Elixir and Euphoria share the `*.ex` file extension. If the filetype is Elixir and Euphoria share the `*.ex` file extension. If the filetype is
specifically set as Euphoria with the g:filetype_euphoria variable, or the specifically set as Euphoria with the g:filetype_euphoria variable, or the
file is determined to be Euphoria based on keywords in the file, then the file is determined to be Euphoria based on keywords in the file, then the
filetype will be set as Euphoria. Otherwise, the filetype will default to filetype will be set as Euphoria. Otherwise, the filetype will default to
Elixir. Elixir.
@@ -1174,12 +1174,12 @@ NOTE: This site currently doesn't work, on Wikipedia is mentioned that
development stopped in 2009. development stopped in 2009.
Syntax highlighting is available for the most common elements of FlexWiki Syntax highlighting is available for the most common elements of FlexWiki
syntax. The associated ftplugin script sets some buffer-local options to make syntax. The associated ftplugin script sets some buffer-local options to make
editing FlexWiki pages more convenient. FlexWiki considers a newline as the editing FlexWiki pages more convenient. FlexWiki considers a newline as the
start of a new paragraph, so the ftplugin sets 'tw'=0 (unlimited line length), start of a new paragraph, so the ftplugin sets 'tw'=0 (unlimited line length),
'wrap' (wrap long lines instead of using horizontal scrolling), 'linebreak' 'wrap' (wrap long lines instead of using horizontal scrolling), 'linebreak'
(to wrap at a character in 'breakat' instead of at the last char on screen), (to wrap at a character in 'breakat' instead of at the last char on screen),
and so on. It also includes some keymaps that are disabled by default. and so on. It also includes some keymaps that are disabled by default.
If you want to enable the keymaps that make "j" and "k" and the cursor keys If you want to enable the keymaps that make "j" and "k" and the cursor keys
move up and down by display lines, add this to your vimrc: > move up and down by display lines, add this to your vimrc: >
@@ -1240,7 +1240,7 @@ edit F# or Fortran at all, use this in your startup vimrc: >
FORTRAN *ft-fortran-syntax* FORTRAN *ft-fortran-syntax*
Default highlighting and dialect ~ Default highlighting and dialect ~
Vim highlights according to Fortran 2023 (the most recent standard). This Vim highlights according to Fortran 2023 (the most recent standard). This
choice should be appropriate for most users most of the time because Fortran choice should be appropriate for most users most of the time because Fortran
2023 is almost a superset of previous versions (Fortran 2018, 2008, 2003, 95, 2023 is almost a superset of previous versions (Fortran 2018, 2008, 2003, 95,
90, 77, and 66). A few legacy constructs deleted or declared obsolescent, 90, 77, and 66). A few legacy constructs deleted or declared obsolescent,
@@ -1263,7 +1263,7 @@ If you always use fixed source form, then >
If the form of the source code depends, in a non-standard way, upon the file If the form of the source code depends, in a non-standard way, upon the file
extension, then it is most convenient to set fortran_free_source in a ftplugin extension, then it is most convenient to set fortran_free_source in a ftplugin
file. For more information on ftplugin files, see |ftplugin|. Note that this file. For more information on ftplugin files, see |ftplugin|. Note that this
will work only if the "filetype plugin indent on" command precedes the "syntax will work only if the "filetype plugin indent on" command precedes the "syntax
on" command in your .vimrc file. on" command in your .vimrc file.
@@ -1271,14 +1271,14 @@ on" command in your .vimrc file.
When you edit an existing Fortran file, the syntax script will assume free When you edit an existing Fortran file, the syntax script will assume free
source form if the fortran_free_source variable has been set, and assumes source form if the fortran_free_source variable has been set, and assumes
fixed source form if the fortran_fixed_source variable has been set. Suppose fixed source form if the fortran_fixed_source variable has been set. Suppose
neither of these variables have been set. In that case, the syntax script neither of these variables have been set. In that case, the syntax script
attempts to determine which source form has been used by examining the file attempts to determine which source form has been used by examining the file
extension using conventions common to the ifort, gfortran, Cray, NAG, and extension using conventions common to the ifort, gfortran, Cray, NAG, and
PathScale compilers (.f, .for, .f77 for fixed-source, .f90, .f95, .f03, .f08 PathScale compilers (.f, .for, .f77 for fixed-source, .f90, .f95, .f03, .f08
for free-source). No default is used for the .fpp and .ftn file extensions for free-source). No default is used for the .fpp and .ftn file extensions
because different compilers treat them differently. If none of this works, because different compilers treat them differently. If none of this works,
then the script examines the first five columns of the first 500 lines of your then the script examines the first five columns of the first 500 lines of your
file. If no signs of free source form are detected, then the file is assumed file. If no signs of free source form are detected, then the file is assumed
to be in fixed source form. The algorithm should work in the vast majority of to be in fixed source form. The algorithm should work in the vast majority of
cases. In some cases, such as a file that begins with 500 or more full-line cases. In some cases, such as a file that begins with 500 or more full-line
comments, the script may incorrectly decide that the code is in fixed form. comments, the script may incorrectly decide that the code is in fixed form.
@@ -1320,8 +1320,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,
@@ -1802,7 +1802,7 @@ JSON *ft-json-syntax* *g:vim_json_conceal*
*g:vim_json_warnings* *g:vim_json_warnings*
The json syntax file provides syntax highlighting with conceal support by The json syntax file provides syntax highlighting with conceal support by
default. To disable concealment: > default. To disable concealment: >
let g:vim_json_conceal = 0 let g:vim_json_conceal = 0
To disable syntax highlighting of errors: > To disable syntax highlighting of errors: >
@@ -1958,7 +1958,7 @@ instead, and the name of your source file should be `*.pike`
LUA *ft-lua-syntax* LUA *ft-lua-syntax*
The Lua syntax file can be used for versions 4.0, 5.0+. You can select one of The Lua syntax file can be used for versions 4.0, 5.0+. You can select one of
these versions using the global variables |g:lua_version| and these versions using the global variables |g:lua_version| and
|g:lua_subversion|. |g:lua_subversion|.
@@ -1966,9 +1966,9 @@ these versions using the global variables |g:lua_version| and
MAIL *ft-mail.vim* MAIL *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
@@ -2009,8 +2009,9 @@ MAPLE *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
@@ -2064,13 +2065,13 @@ have the following in your vimrc: >
MBSYNC *ft-mbsync-syntax* MBSYNC *ft-mbsync-syntax*
The mbsync application uses a configuration file to setup mailboxes names, The mbsync application uses a configuration file to setup mailboxes names,
user and password. All files ending with `.mbsyncrc` or with the name user and password. All files ending with `.mbsyncrc` or with the name
`isyncrc` will be recognized as mbsync configuration files. `isyncrc` will be recognized as mbsync configuration files.
MEDIAWIKI *ft-mediawiki-syntax* MEDIAWIKI *ft-mediawiki-syntax*
By default, syntax highlighting includes basic HTML tags like style and By default, syntax highlighting includes basic HTML tags like style and
headers |ft-html-syntax|. For strict Mediawiki syntax highlighting: > headers |ft-html-syntax|. For strict Mediawiki syntax highlighting: >
let g:html_no_rendering = 1 let g:html_no_rendering = 1
@@ -2098,7 +2099,7 @@ The syntax for a dialect tag comment is: >
m2pim = 'm2pim', m2iso = 'm2iso', m2r10 = 'm2r10' m2pim = 'm2pim', m2iso = 'm2iso', m2r10 = 'm2r10'
A dialect tag comment is recognised by Vim if it occurs within the first 200 A dialect tag comment is recognised by Vim if it occurs within the first 200
lines of the source file. Only the very first such comment is recognised, any lines of the source file. Only the very first such comment is recognised, any
additional dialect tag comments are ignored. additional dialect tag comments are ignored.
Example: > Example: >
@@ -2303,7 +2304,7 @@ To do so, set the *g:filetype_md* var: >
:let g:filetype_md = 'pandoc' :let g:filetype_md = 'pandoc'
The pandoc syntax plugin uses |conceal| for pretty highlighting. Default is 1 > The pandoc syntax plugin uses |conceal| for pretty highlighting. Default is 1 >
:let g:pandoc#syntax#conceal#use = 1 :let g:pandoc#syntax#conceal#use = 1
@@ -2332,8 +2333,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" : "*"}
@@ -2353,8 +2354,8 @@ specified. Default = 1 >
:let g:pandoc#syntax#codeblocks#embeds#use = 1 :let g:pandoc#syntax#codeblocks#embeds#use = 1
For specify what languages and using what syntax files to highlight embeds. For specify what languages and using what syntax files to highlight embeds.
This is a list of language names. When the language pandoc and vim use don't This is a list of language names. When the language pandoc and vim use don't
match, you can use the "PANDOC=VIM" syntax. For example: > match, you can use the "PANDOC=VIM" syntax. For example: >
:let g:pandoc#syntax#codeblocks#embeds#langs = ["ruby", "bash=sh"] :let g:pandoc#syntax#codeblocks#embeds#langs = ["ruby", "bash=sh"]
@@ -2369,8 +2370,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
@@ -2378,7 +2379,7 @@ The pandoc syntax script also comes with the following commands: >
:PandocHighlight LANG :PandocHighlight LANG
Enables embedded highlighting for language LANG in codeblocks. Uses the Enables embedded highlighting for language LANG in codeblocks. Uses the
syntax for items in g:pandoc#syntax#codeblocks#embeds#langs. > syntax for items in g:pandoc#syntax#codeblocks#embeds#langs. >
:PandocUnhighlight LANG :PandocUnhighlight LANG
@@ -2791,7 +2792,7 @@ commands than are actually available to you by the game.
R *ft-r-syntax* R *ft-r-syntax*
The parsing of R code for syntax highlight starts 40 lines backwards, but you The parsing of R code for syntax highlight starts 40 lines backwards, but you
can set a different value in your |vimrc|. Example: > can set a different value in your |vimrc|. Example: >
let r_syntax_minlines = 60 let r_syntax_minlines = 60
You can also turn off syntax highlighting of ROxygen: > You can also turn off syntax highlighting of ROxygen: >
@@ -2817,9 +2818,9 @@ To highlight R code in knitr chunk headers: >
let rmd_syn_hl_chunk = 1 let rmd_syn_hl_chunk = 1
By default, chunks of R code will be highlighted following the rules of R By default, chunks of R code will be highlighted following the rules of R
language. Moreover, whenever the buffer is saved, Vim scans the buffer and language. Moreover, whenever the buffer is saved, Vim scans the buffer and
highlights other languages if they are present in new chunks. LaTeX code also highlights other languages if they are present in new chunks. LaTeX code also
is automatically recognized and highlighted when the buffer is saved. This is automatically recognized and highlighted when the buffer is saved. This
behavior can be controlled with the variables `rmd_dynamic_fenced_languages`, behavior can be controlled with the variables `rmd_dynamic_fenced_languages`,
and `rmd_include_latex` whose valid values are: > and `rmd_include_latex` whose valid values are: >
let rmd_dynamic_fenced_languages = 0 " No autodetection of languages let rmd_dynamic_fenced_languages = 0 " No autodetection of languages
@@ -2842,10 +2843,10 @@ To highlight R code in knitr chunk headers, add to your |vimrc|: >
RASI *ft-rasi-syntax* RASI *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 *ft-readline-syntax* READLINE *ft-readline-syntax*
@@ -3197,7 +3198,7 @@ the following line in your .vimrc: >
Sh: EMBEDDING LANGUAGES~ Sh: EMBEDDING LANGUAGES~
You may wish to embed languages into sh. I'll give an example courtesy of You may wish to embed languages into sh. I'll give an example courtesy of
Lorance Stinson on how to do this with awk as an example. Put the following Lorance Stinson on how to do this with awk as an example. Put the following
file into $HOME/.config/nvim/after/syntax/sh/awkembed.vim: > file into $HOME/.config/nvim/after/syntax/sh/awkembed.vim: >
" AWK Embedding: " AWK Embedding:
@@ -3294,7 +3295,7 @@ to a larger number: >
This will make the syntax synchronization start 1000 lines before the first This will make the syntax synchronization start 1000 lines before the first
displayed line. If you set "tcsh_minlines" to "fromstart", then displayed line. If you set "tcsh_minlines" to "fromstart", then
synchronization is done from the start of the file. The default value for synchronization is done from the start of the file. The default value for
tcsh_minlines is 100. The disadvantage of using a larger number is that tcsh_minlines is 100. The disadvantage of using a larger number is that
redrawing can become slow. redrawing can become slow.
@@ -3501,7 +3502,7 @@ substitution will not be made.
*g:tex_isk* *g:tex_stylish* *g:tex_isk* *g:tex_stylish*
Tex: Controlling iskeyword~ Tex: Controlling iskeyword~
Normally, LaTeX keywords support 0-9, a-z, A-z, and 192-255 only. Latex Normally, LaTeX keywords support 0-9, a-z, A-z, and 192-255 only. Latex
keywords don't support the underscore - except when in `*.sty` files. The keywords don't support the underscore - except when in `*.sty` files. The
syntax highlighting script handles this with the following logic: syntax highlighting script handles this with the following logic:
@@ -3554,7 +3555,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 *ft-tf-syntax* TF *ft-tf-syntax*
@@ -3571,7 +3573,7 @@ There is one option to control the TypeScript syntax highlighting.
*g:typescript_host_keyword* *g:typescript_host_keyword*
When this variable is set to 1, host-specific APIs such as `addEventListener` When this variable is set to 1, host-specific APIs such as `addEventListener`
are highlighted. To disable set it to zero in your .vimrc: > are highlighted. To disable set it to zero in your .vimrc: >
let g:typescript_host_keyword = 0 let g:typescript_host_keyword = 0
< <
@@ -3581,8 +3583,8 @@ TYPST *ft-typst-syntax*
*g:typst_embedded_languages* *g:typst_embedded_languages*
Typst files can embed syntax highlighting for other languages by setting the Typst files can embed syntax highlighting for other languages by setting the
|g:typst_embedded_languages| variable. This variable is a list of language |g:typst_embedded_languages| variable. This variable is a list of language
names whose syntax definitions will be included in Typst files. Example: > names whose syntax definitions will be included in Typst files. Example: >
let g:typst_embedded_languages = ['python', 'r'] let g:typst_embedded_languages = ['python', 'r']
@@ -3640,8 +3642,8 @@ highlighting is to put the following line in your |vimrc|: >
WDL *wdl-syntax* WDL *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
@@ -3709,11 +3711,11 @@ YAML *ft-yaml-syntax*
*g:yaml_schema* *b:yaml_schema* *g:yaml_schema* *b:yaml_schema*
A YAML schema is a combination of a set of tags and a mechanism for resolving A YAML schema is a combination of a set of tags and a mechanism for resolving
non-specific tags. For user this means that YAML parser may, depending on non-specific tags. For user this means that YAML parser may, depending on
plain scalar contents, treat plain scalar (which can actually be only string plain scalar contents, treat plain scalar (which can actually be only string
and nothing else) as a value of the other type: null, boolean, floating-point, and nothing else) as a value of the other type: null, boolean, floating-point,
integer. `g:yaml_schema` option determines according to which schema values integer. `g:yaml_schema` option determines according to which schema values
will be highlighted specially. Supported schemas are will be highlighted specially. Supported schemas are
Schema Description ~ Schema Description ~
failsafe No additional highlighting. failsafe No additional highlighting.
@@ -4161,7 +4163,7 @@ concealends *:syn-concealends*
When the "concealends" argument is given, the start and end matches of When the "concealends" argument is given, the start and end matches of
the region, but not the contents of the region, are marked as concealable. the region, but not the contents of the region, are marked as concealable.
Whether or not they are actually concealed depends on the setting on the Whether or not they are actually concealed depends on the setting on the
'conceallevel' option. The ends of a region can only be concealed separately 'conceallevel' option. The ends of a region can only be concealed separately
in this way when they have their own highlighting via "matchgroup". The in this way when they have their own highlighting via "matchgroup". The
|synconcealed()| function can be used to retrieve information about conealed |synconcealed()| function can be used to retrieve information about conealed
items. items.
@@ -4444,7 +4446,7 @@ IMPLICIT CONCEAL *:syn-conceal-implicit*
:sy[ntax] conceal [on|off] :sy[ntax] conceal [on|off]
This defines if the following ":syntax" commands will define keywords, This defines if the following ":syntax" commands will define keywords,
matches or regions with the "conceal" flag set. After ":syn conceal matches or regions with the "conceal" flag set. After ":syn conceal
on", all subsequent ":syn keyword", ":syn match" or ":syn region" on", all subsequent ":syn keyword", ":syn match" or ":syn region"
defined will have the "conceal" flag set implicitly. ":syn conceal defined will have the "conceal" flag set implicitly. ":syn conceal
off" returns to the normal state where the "conceal" flag must be off" returns to the normal state where the "conceal" flag must be
@@ -5027,7 +5029,7 @@ also tell where it was last set. Example: >
Last set from /home/mool/vim/vim7/runtime/syntax/syncolor.vim ~ Last set from /home/mool/vim/vim7/runtime/syntax/syncolor.vim ~
When ":hi clear" is used then the script where this command is used will be When ":hi clear" is used then the script where this command is used will be
mentioned for the default values. See |:verbose-cmd| for more information. mentioned for the default values. See |:verbose-cmd| for more information.
*highlight-args* *E416* *E417* *E423* *highlight-args* *E416* *E417* *E423*
There are two types of UIs for highlighting: There are two types of UIs for highlighting:
@@ -5382,10 +5384,10 @@ PmenuSbar Popup menu: Scrollbar.
*hl-PmenuThumb* *hl-PmenuThumb*
PmenuThumb Popup menu: Thumb of the scrollbar. PmenuThumb Popup menu: Thumb of the scrollbar.
*hl-PmenuMatch* *hl-PmenuMatch*
PmenuMatch Popup menu: Matched text in normal item. Combined with PmenuMatch Popup menu: Matched text in normal item. Combined with
|hl-Pmenu|. |hl-Pmenu|.
*hl-PmenuMatchSel* *hl-PmenuMatchSel*
PmenuMatchSel Popup menu: Matched text in selected item. Combined with PmenuMatchSel Popup menu: Matched text in selected item. Combined with
|hl-PmenuMatch| and |hl-PmenuSel|. |hl-PmenuMatch| and |hl-PmenuSel|.
*hl-PmenuBorder* *hl-PmenuBorder*
PmenuBorder Popup menu: border of popup menu. PmenuBorder Popup menu: border of popup menu.
@@ -5655,7 +5657,7 @@ it took to match them against the text.
current window. Use a wider display to see more of current window. Use a wider display to see more of
the output. the output.
The list is sorted by total time. The columns are: The list is sorted by total time. The columns are:
TOTAL Total time in seconds spent on TOTAL Total time in seconds spent on
matching this pattern. matching this pattern.
COUNT Number of times the pattern was used. COUNT Number of times the pattern was used.

View File

@@ -146,7 +146,7 @@ something else.
:tabclose $ " close the last tab page :tabclose $ " close the last tab page
:tabclose # " close the last accessed tab page :tabclose # " close the last accessed tab page
When a tab page is closed the next tab page will become the current one. This When a tab page is closed the next tab page will become the current one. This
behaviour can be customized using the 'tabclose' option. behaviour can be customized using the 'tabclose' option.
*:tabo* *:tabonly* *:tabo* *:tabonly*
@@ -275,7 +275,7 @@ REORDERING TAB PAGES:
Note that although it is possible to move a tab page behind the N-th one by Note that although it is possible to move a tab page behind the N-th one by
using :Ntabmove. And move it by N places by using :+Ntabmove. For using :Ntabmove. And move it by N places by using :+Ntabmove. For
clarification what +N means in this context see |[range]|. clarification what +N means in this context see |[range]|.

View File

@@ -38,7 +38,7 @@ below.
{name} can be a regexp pattern, see |tag-regexp|. {name} can be a regexp pattern, see |tag-regexp|.
When there are several matching tags for {name}, jump When there are several matching tags for {name}, jump
to the [count] one. When [count] is omitted the to the [count] one. When [count] is omitted the
first one is jumped to. See |tag-matchlist| for first one is jumped to. See |tag-matchlist| for
jumping to other matching tags. jumping to other matching tags.
g<LeftMouse> *g<LeftMouse>* g<LeftMouse> *g<LeftMouse>*
@@ -48,7 +48,7 @@ CTRL-] Jump to the definition of the keyword under the
keyword under or after cursor. keyword under or after cursor.
When there are several matching tags for {name}, jump When there are several matching tags for {name}, jump
to the [count] one. When no [count] is given the to the [count] one. When no [count] is given the
first one is jumped to. See |tag-matchlist| for first one is jumped to. See |tag-matchlist| for
jumping to other matching tags. jumping to other matching tags.
*v_CTRL-]* *v_CTRL-]*
@@ -97,7 +97,7 @@ The ignore-case matches are found when:
Note that using ignore-case tag searching disables binary searching in the Note that using ignore-case tag searching disables binary searching in the
tags file, which causes a slowdown. This can be avoided by fold-case sorting tags file, which causes a slowdown. This can be avoided by fold-case sorting
the tag file. See the 'tagbsearch' option for an explanation. the tag file. See the 'tagbsearch' option for an explanation.
============================================================================== ==============================================================================
2. Tag stack *tag-stack* *tagstack* *E425* 2. Tag stack *tag-stack* *tagstack* *E425*
@@ -176,7 +176,7 @@ commands explained above the tag stack will look like this:
1 1 main 1 harddisk2:text/vim/test 1 1 main 1 harddisk2:text/vim/test
2 1 FuncB 59 harddisk2:text/vim/src/main.c 2 1 FuncB 59 harddisk2:text/vim/src/main.c
The |gettagstack()| function returns the tag stack of a specified window. The The |gettagstack()| function returns the tag stack of a specified window. The
|settagstack()| function modifies the tag stack of a window. |settagstack()| function modifies the tag stack of a window.
*tagstack-examples* *tagstack-examples*
@@ -314,7 +314,7 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
not given, the last tag name from the tag stack is not given, the last tag name from the tag stack is
used. The search pattern to locate the tag line is used. The search pattern to locate the tag line is
prefixed with "\V" to escape all the special prefixed with "\V" to escape all the special
characters (very nomagic). The location list showing characters (very nomagic). The location list showing
the matching tags is independent of the tag stack. the matching tags is independent of the tag stack.
See |tag-!| for [!]. See |tag-!| for [!].
@@ -452,7 +452,7 @@ current file changed ! option option action ~
This works because the tag is put on the stack anyway. If you want to lose This works because the tag is put on the stack anyway. If you want to lose
the changes you can use the ":tag!" command. the changes you can use the ":tag!" command.
- If the tag is in another file and the window includes 'winfixbuf', the - If the tag is in another file and the window includes 'winfixbuf', the
command will fail. If the tag is in the same file then it may succeed. command will fail. If the tag is in the same file then it may succeed.
*tag-security* *tag-security*
Note that Vim forbids some commands, for security reasons. This works like Note that Vim forbids some commands, for security reasons. This works like
@@ -466,8 +466,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'.
*tags-option* *tags-option*
The 'tags' option is a list of file names. Each of these files is searched The 'tags' option is a list of file names. Each of these files is searched
@@ -537,7 +537,7 @@ Some programs that generate tags files:
ctags As found on most Unix systems. Only supports C. Only ctags As found on most Unix systems. Only supports C. Only
does the basic work. does the basic work.
universal ctags A maintained version of ctags based on exuberant universal ctags A maintained version of ctags based on exuberant
ctags. See https://ctags.io. ctags. See https://ctags.io.
*Exuberant_ctags* *Exuberant_ctags*
exuberant ctags Works for C, C++, Java, Fortran, Eiffel and others. exuberant ctags Works for C, C++, Java, Fortran, Eiffel and others.
See https://ctags.sourceforge.net. No new version See https://ctags.sourceforge.net. No new version
@@ -584,7 +584,7 @@ ctags).
{term} ;" The two characters semicolon and double quote. This is {term} ;" The two characters semicolon and double quote. This is
interpreted by Vi as the start of a comment, which makes the interpreted by Vi as the start of a comment, which makes the
following be ignored. This is for backwards compatibility following be ignored. This is for backwards compatibility
with Vi, it ignores the following fields. Example: > with Vi, it ignores the following fields. Example: >
APP file /^static int APP;$/;" v APP file /^static int APP;$/;" v
< When {tagaddress} is not a line number or search pattern, then < When {tagaddress} is not a line number or search pattern, then
{term} must be `|;"`. Here the bar ends the command (excluding {term} must be `|;"`. Here the bar ends the command (excluding
@@ -942,7 +942,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

@@ -336,7 +336,7 @@ You should now have three windows:
Put focus on the gdb window and type: > Put focus on the gdb window and type: >
break ex_help break ex_help
run run
Vim will start running in the program window. Put focus there and type: >vim Vim will start running in the program window. Put focus there and type: >vim
:help gui :help gui
Gdb will run into the ex_help breakpoint. The source window now shows the Gdb will run into the ex_help breakpoint. The source window now shows the
ex_cmds.c file. A red "1 " marker will appear in the signcolumn where the ex_cmds.c file. A red "1 " marker will appear in the signcolumn where the
@@ -458,7 +458,7 @@ Other commands ~
*:Asm* jump to the window with the disassembly, create it if there *:Asm* jump to the window with the disassembly, create it if there
isn't one isn't one
*:Var* jump to the window with the local and argument variables, *:Var* jump to the window with the local and argument variables,
create it if there isn't one. This window updates whenever the create it if there isn't one. This window updates whenever the
program is stopped program is stopped
Events ~ Events ~
@@ -658,8 +658,8 @@ If there is no g:termdebug_config you can use: >vim
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

@@ -116,10 +116,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

@@ -157,7 +157,7 @@ This is explained in the user manual: |usr_32.txt|.
MM/DD HH:MM:SS idem, with month and day MM/DD HH:MM:SS idem, with month and day
YYYY/MM/DD HH:MM:SS idem, with year YYYY/MM/DD HH:MM:SS idem, with year
The "saved" column specifies, if this change was The "saved" column specifies, if this change was
written to disk and which file write it was. This can written to disk and which file write it was. This can
be used with the |:later| and |:earlier| commands. be used with the |:later| and |:earlier| commands.
For more details use the |undotree()| function. For more details use the |undotree()| function.
@@ -257,7 +257,7 @@ for, you can use a BufWritePre autocommand: >
au BufWritePre /tmp/* setlocal noundofile au BufWritePre /tmp/* setlocal noundofile
Vim saves undo trees in a separate undo file, one for each edited file, using Vim saves undo trees in a separate undo file, one for each edited file, using
a simple scheme that maps filesystem paths directly to undo files. Vim will a simple scheme that maps filesystem paths directly to undo files. Vim will
detect if an undo file is no longer synchronized with the file it was written detect if an undo file is no longer synchronized with the file it was written
for (with a hash of the file contents) and ignore it when the file was changed for (with a hash of the file contents) and ignore it when the file was changed
after the undo file was written, to prevent corruption. An undo file is also after the undo file was written, to prevent corruption. An undo file is also
@@ -277,11 +277,11 @@ respectively:
(the magic number at the start of the file is wrong), then (the magic number at the start of the file is wrong), then
this fails, unless the ! was added. this fails, unless the ! was added.
If it exists and does look like an undo file it is If it exists and does look like an undo file it is
overwritten. If there is no undo-history, nothing will be overwritten. If there is no undo-history, nothing will be
written. written.
Implementation detail: Overwriting happens by first deleting Implementation detail: Overwriting happens by first deleting
the existing file and then creating a new file with the same the existing file and then creating a new file with the same
name. So it is not possible to overwrite an existing undofile name. So it is not possible to overwrite an existing undofile
in a write-protected directory. in a write-protected directory.
*:rund* *:rundo* *:rund* *:rundo*
@@ -370,11 +370,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

@@ -58,7 +58,7 @@ functions.
< <
*:function-verbose* *:function-verbose*
When 'verbose' is non-zero, listing a function will also display where it was When 'verbose' is non-zero, listing a function will also display where it was
last defined. Example: > last defined. Example: >
:verbose function SetFileTypeSH :verbose function SetFileTypeSH
function SetFileTypeSH(name) function SetFileTypeSH(name)

View File

@@ -368,13 +368,13 @@ gx Opens the current filepath or URL (decided by
:redi[r] @{a-z}>> Append messages to register {a-z}. :redi[r] @{a-z}>> Append messages to register {a-z}.
:redi[r] @*> :redi[r] @*>
:redi[r] @+> Redirect messages to the selection or clipboard. For :redi[r] @+> Redirect messages to the selection or clipboard. For
backward compatibility, the ">" after the register backward compatibility, the ">" after the register
name can be omitted. See |quotestar| and |quoteplus|. name can be omitted. See |quotestar| and |quoteplus|.
:redi[r] @*>> :redi[r] @*>>
:redi[r] @+>> Append messages to the selection or clipboard. :redi[r] @+>> Append messages to the selection or clipboard.
:redi[r] @"> Redirect messages to the unnamed register. For :redi[r] @"> Redirect messages to the unnamed register. For
backward compatibility, the ">" after the register backward compatibility, the ">" after the register
name can be omitted. name can be omitted.
:redi[r] @">> Append messages to the unnamed register. :redi[r] @">> Append messages to the unnamed register.
@@ -408,16 +408,17 @@ gx Opens the current filepath or URL (decided by
< 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.
The pattern is matched against the relevant part of The pattern is matched against the relevant part of
the output, not necessarily the whole line. Only some the output, not necessarily the whole line. Only some
commands support filtering, try it out to check if it commands support filtering, try it out to check if it
works. Some of the commands that support filtering: works. Some of the commands that support filtering:
|:#| - filter whole line |:#| - filter whole line
|:clist| - filter by file name or module name |:clist| - filter by file name or module name
|:command| - filter by command name |:command| - filter by command name
@@ -481,7 +482,7 @@ gx Opens the current filepath or URL (decided by
*:verb* *:verbose* *:verb* *:verbose*
:[count]verb[ose] {command} :[count]verb[ose] {command}
Execute {command} with 'verbose' set to [count]. If Execute {command} with 'verbose' set to [count]. If
[count] is omitted one is used. ":0verbose" can be [count] is omitted one is used. ":0verbose" can be
used to set 'verbose' to zero. used to set 'verbose' to zero.
The additional use of ":silent" makes messages The additional use of ":silent" makes messages
generated but not displayed. generated but not displayed.

View File

@@ -79,7 +79,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|
Syntax highlighting. |:syntax| Syntax highlighting. |:syntax|

View File

@@ -43,7 +43,7 @@ Dictionary An associative, unordered array: Each entry has a key and a
{"blue": "#0000ff", "red": "#ff0000"} {"blue": "#0000ff", "red": "#ff0000"}
#{blue: "#0000ff", red: "#ff0000"} #{blue: "#0000ff", red: "#ff0000"}
Blob Binary Large Object. Stores any sequence of bytes. See |Blob| Blob Binary Large Object. Stores any sequence of bytes. See |Blob|
for details. for details.
Example: 0zFF00ED015DAF Example: 0zFF00ED015DAF
0z is an empty Blob. 0z is an empty Blob.
@@ -738,7 +738,7 @@ Blob modification ~
To change a specific byte of a blob use |:let| this way: > To change a specific byte of a blob use |:let| this way: >
:let blob[4] = 0x44 :let blob[4] = 0x44
When the index is just one beyond the end of the Blob, it is appended. Any When the index is just one beyond the end of the Blob, it is appended. Any
higher index is an error. higher index is an error.
To change a sequence of bytes the [:] notation can be used: > To change a sequence of bytes the [:] notation can be used: >
@@ -1238,7 +1238,7 @@ Examples: >
*slice* *slice*
If expr8 is a |List| this results in a new |List| with the items indicated by If expr8 is a |List| this results in a new |List| with the items indicated by
the indexes expr1a and expr1b. This works like with a String, as explained the indexes expr1a and expr1b. This works like with a String, as explained
just above. Also see |sublist| below. Examples: > just above. Also see |sublist| below. Examples: >
:let l = mylist[:3] " first four items :let l = mylist[:3] " first four items
:let l = mylist[4:4] " List with one item :let l = mylist[4:4] " List with one item
:let l = mylist[:] " shallow copy of a List :let l = mylist[:] " shallow copy of a List
@@ -1416,8 +1416,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 correctly as UTF-8. encodings. Use "\u00ff" to store character 255 correctly as UTF-8.
@@ -2049,7 +2049,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.

File diff suppressed because it is too large Load Diff

View File

@@ -115,8 +115,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>*
@@ -337,10 +337,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

@@ -7,7 +7,7 @@
Predefined variables *vvars* Predefined variables *vvars*
Most variables are read-only, when a variable can be set by the user, it will Most variables are read-only, when a variable can be set by the user, it will
be mentioned at the variable description below. The type cannot be changed. be mentioned at the variable description below. The type cannot be changed.
Type |gO| to see the table of contents. Type |gO| to see the table of contents.
@@ -221,7 +221,7 @@ v:false
|json_encode()|. This value is converted to "v:false" when used |json_encode()|. This value is converted to "v:false" when used
as a String (e.g. in |expr5| with string concatenation as a String (e.g. in |expr5| with string concatenation
operator) and to zero when used as a Number (e.g. in |expr5| operator) and to zero when used as a Number (e.g. in |expr5|
or |expr7| when used with numeric operators). Read-only. or |expr7| when used with numeric operators). Read-only.
*v:fcs_choice* *fcs_choice-variable* *v:fcs_choice* *fcs_choice-variable*
v:fcs_choice v:fcs_choice
@@ -317,7 +317,7 @@ v:foldstart
*v:hlsearch* *hlsearch-variable* *v:hlsearch* *hlsearch-variable*
v:hlsearch v:hlsearch
Variable that indicates whether search highlighting is on. Variable that indicates whether search highlighting is on.
Setting it makes sense only if 'hlsearch' is enabled. Setting Setting it makes sense only if 'hlsearch' is enabled. Setting
this variable to zero acts like the |:nohlsearch| command, this variable to zero acts like the |:nohlsearch| command,
setting it to one acts like >vim setting it to one acts like >vim
let &hlsearch = &hlsearch let &hlsearch = &hlsearch
@@ -414,7 +414,7 @@ v:null
See |json_encode()|. This value is converted to "v:null" when See |json_encode()|. This value is converted to "v:null" when
used as a String (e.g. in |expr5| with string concatenation used as a String (e.g. in |expr5| with string concatenation
operator) and to zero when used as a Number (e.g. in |expr5| operator) and to zero when used as a Number (e.g. in |expr5|
or |expr7| when used with numeric operators). Read-only. or |expr7| when used with numeric operators). Read-only.
In some places `v:null` can be used for a List, Dict, etc. In some places `v:null` can be used for a List, Dict, etc.
that is not set. That is slightly different than an empty that is not set. That is slightly different than an empty
List, Dict, etc. List, Dict, etc.
@@ -459,7 +459,7 @@ v:operator
*v:option_command* *option_command-variable* *v:option_command* *option_command-variable*
v:option_command v:option_command
Command used to set the option. Valid while executing an Command used to set the option. Valid while executing an
|OptionSet| autocommand. |OptionSet| autocommand.
value option was set via ~ value option was set via ~
"setlocal" |:setlocal| or `:let l:xxx` "setlocal" |:setlocal| or `:let l:xxx`
@@ -469,30 +469,30 @@ v:option_command
*v:option_new* *option_new-variable* *v:option_new* *option_new-variable*
v:option_new v:option_new
New value of the option. Valid while executing an |OptionSet| New value of the option. Valid while executing an |OptionSet|
autocommand. autocommand.
*v:option_old* *option_old-variable* *v:option_old* *option_old-variable*
v:option_old v:option_old
Old value of the option. Valid while executing an |OptionSet| 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_oldglobal* *option_oldglobal-variable* *v:option_oldglobal* *option_oldglobal-variable*
v:option_oldglobal v:option_oldglobal
Old global value of the option. Valid while executing an Old global value of the option. Valid while executing an
|OptionSet| autocommand. |OptionSet| autocommand.
*v:option_oldlocal* *option_oldlocal-variable* *v:option_oldlocal* *option_oldlocal-variable*
v:option_oldlocal v:option_oldlocal
Old local value of the option. Valid while executing an Old local value of the option. Valid while executing an
|OptionSet| autocommand. |OptionSet| autocommand.
*v:option_type* *option_type-variable* *v:option_type* *option_type-variable*
v:option_type v:option_type
Scope of the set command. Valid while executing an Scope of the set command. Valid while executing an
|OptionSet| autocommand. Can be either "global" or "local" |OptionSet| autocommand. Can be either "global" or "local"
*v:prevcount* *prevcount-variable* *v:prevcount* *prevcount-variable*
v:prevcount v:prevcount
@@ -711,7 +711,7 @@ v:true
|json_encode()|. This value is converted to "v:true" when used |json_encode()|. This value is converted to "v:true" when used
as a String (e.g. in |expr5| with string concatenation as a String (e.g. in |expr5| with string concatenation
operator) and to one when used as a Number (e.g. in |expr5| or operator) and to one when used as a Number (e.g. in |expr5| or
|expr7| when used with numeric operators). Read-only. |expr7| when used with numeric operators). Read-only.
*v:val* *val-variable* *v:val* *val-variable*
v:val v:val

View File

@@ -58,7 +58,7 @@ Each buffer has a unique number and the number will not change within a Vim
session. The |bufnr()| and |bufname()| functions can be used to convert session. The |bufnr()| and |bufname()| functions can be used to convert
between a buffer name and the buffer number. There is one exception: if a new between a buffer name and the buffer number. There is one exception: if a new
empty buffer is created and it is not modified, the buffer will be re-used empty buffer is created and it is not modified, the buffer will be re-used
when loading another file into that buffer. This also means the buffer number when loading another file into that buffer. This also means the buffer number
will not change. will not change.
The main Vim window can hold several split windows. There are also tab pages The main Vim window can hold several split windows. There are also tab pages
@@ -79,7 +79,7 @@ properties such as "hide" and "fixed" which also affect behavior.
*window-ID* *winid* *windowid* *window-ID* *winid* *windowid*
Each window has a unique identifier called the window ID. This identifier Each window has a unique identifier called the window ID. This identifier
will not change within a Vim session. The |win_getid()| and |win_id2tabwin()| will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
functions can be used to convert between the window/tab number and the functions can be used to convert between the window/tab number and the
identifier. There is also the window number, which may change whenever identifier. There is also the window number, which may change whenever
windows are opened or closed, see |winnr()|. windows are opened or closed, see |winnr()|.
@@ -135,9 +135,9 @@ windows.
*filler-lines* *filler-lines*
The lines after the last buffer line in a window are called filler lines. By The lines after the last buffer line in a window are called filler lines. By
default, these lines start with a tilde (~) character. The "eob" item in the default, these lines start with a tilde (~) character. The "eob" item in the
'fillchars' option can be used to change this character. By default, these 'fillchars' option can be used to change this character. By default, these
characters are highlighted as NonText (|hl-NonText|). The EndOfBuffer characters are highlighted as NonText (|hl-NonText|). The EndOfBuffer
highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
the filler characters. the filler characters.
@@ -905,7 +905,7 @@ CTRL-W CTRL-F Split current window in two. Edit file name under cursor.
CTRL-W F *CTRL-W_F* CTRL-W F *CTRL-W_F*
Split current window in two. Edit file name under cursor and Split current window in two. Edit file name under cursor and
jump to the line number following the file name. See |gF| for jump to the line number following the file name. See |gF| for
details on how the line number is obtained. details on how the line number is obtained.
CTRL-W gf *CTRL-W_gf* CTRL-W gf *CTRL-W_gf*
@@ -1181,7 +1181,7 @@ list of buffers. |unlisted-buffer|
Actually, the buffer isn't completely deleted, it is removed Actually, the buffer isn't completely deleted, it is removed
from the buffer list |unlisted-buffer| and option values, from the buffer list |unlisted-buffer| and option values,
variables and mappings/abbreviations for the buffer are variables and mappings/abbreviations for the buffer are
cleared. Examples: > cleared. Examples: >
:.,$-bdelete " delete buffers from the current one to :.,$-bdelete " delete buffers from the current one to
" last but one " last but one
:%bdelete " delete all buffers :%bdelete " delete all buffers
@@ -1209,7 +1209,7 @@ list of buffers. |unlisted-buffer|
related to the buffer is lost. All marks in this buffer related to the buffer is lost. All marks in this buffer
become invalid, option settings are lost, the jumplist and become invalid, option settings are lost, the jumplist and
tagstack data will be purged, etc. Don't use this tagstack data will be purged, etc. Don't use this
unless you know what you are doing. Examples: > unless you know what you are doing. Examples: >
:.+,$bwipeout " wipe out all buffers after the current :.+,$bwipeout " wipe out all buffers after the current
" one " one
:%bwipeout " wipe out all buffers :%bwipeout " wipe out all buffers
@@ -1405,7 +1405,7 @@ help Contains a help file. Will only be created with the |:help|
and can't be changed. The 'buflisted' option will be reset and can't be changed. The 'buflisted' option will be reset
for a help buffer. for a help buffer.
terminal A terminal window buffer, see |terminal|. The contents cannot terminal A terminal window buffer, see |terminal|. The contents cannot
be read or changed until the job ends. be read or changed until the job ends.
directory Displays directory contents. Can be used by a file explorer directory Displays directory contents. Can be used by a file explorer

View File

@@ -570,8 +570,8 @@ vim.go.breakat = vim.o.breakat
vim.go.brk = vim.go.breakat vim.go.brk = vim.go.breakat
--- 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.
--- ---
--- @type boolean --- @type boolean
vim.o.breakindent = false vim.o.breakindent = false
@@ -1073,12 +1073,12 @@ vim.bo.cms = vim.bo.commentstring
--- ] tag completion --- ] tag completion
--- t same as "]" --- t same as "]"
--- f scan the buffer names (as opposed to buffer contents) --- f scan the buffer names (as opposed to buffer contents)
--- 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
@@ -1265,7 +1265,8 @@ vim.go.cot = vim.go.completeopt
--- 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
@@ -2959,7 +2960,6 @@ vim.wo.fdt = vim.wo.foldtext
--- modeline, see `sandbox-option`. That stops the option from working, --- modeline, see `sandbox-option`. That stops the option from working,
--- since changing the buffer text is not allowed. --- since changing the buffer text is not allowed.
--- This option cannot be set in a modeline when 'modelineexpr' is off. --- This option cannot be set in a modeline when 'modelineexpr' is off.
--- NOTE: This option is set to "" when 'compatible' is set.
--- ---
--- @type string --- @type string
vim.o.formatexpr = "" vim.o.formatexpr = ""
@@ -4000,9 +4000,9 @@ vim.o.lm = vim.o.langmenu
vim.go.langmenu = vim.o.langmenu vim.go.langmenu = vim.o.langmenu
vim.go.lm = vim.go.langmenu vim.go.lm = vim.go.langmenu
--- When off, setting 'langmap' does not apply to characters resulting from --- When off, setting 'langmap' does not apply to characters resulting
--- a mapping. If setting 'langmap' disables some of your mappings, make --- from a mapping. If setting 'langmap' disables some of your mappings,
--- sure this option is off. --- make sure this option is off.
--- ---
--- @type boolean --- @type boolean
vim.o.langremap = false vim.o.langremap = false
@@ -4029,8 +4029,8 @@ vim.go.ls = vim.go.laststatus
--- 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.
--- ---
--- @type boolean --- @type boolean
@@ -6433,9 +6433,6 @@ vim.wo.sms = vim.wo.smoothscroll
--- 'shiftwidth'. If you plan to use 'sts' and 'shiftwidth' with --- 'shiftwidth'. If you plan to use 'sts' and 'shiftwidth' with
--- different values, you might consider setting 'smarttab'. --- different values, you might consider setting 'smarttab'.
--- ---
--- 'softtabstop' is temporarily set to 0 when 'paste' is on and reset
--- when it is turned off. It is also reset when 'compatible' is set.
---
--- The 'L' flag in 'cpoptions' alters tab behavior when 'list' is --- The 'L' flag in 'cpoptions' alters tab behavior when 'list' is
--- enabled. See also `ins-expandtab` ans user manual section `30.5` for --- enabled. See also `ins-expandtab` ans user manual section `30.5` for
--- in-depth explanations. --- in-depth explanations.

File diff suppressed because it is too large Load Diff

View File

@@ -233,7 +233,7 @@ vim.v.exiting = ...
--- `json_encode()`. This value is converted to "v:false" when used --- `json_encode()`. This value is converted to "v:false" when used
--- as a String (e.g. in `expr5` with string concatenation --- as a String (e.g. in `expr5` with string concatenation
--- operator) and to zero when used as a Number (e.g. in `expr5` --- operator) and to zero when used as a Number (e.g. in `expr5`
--- or `expr7` when used with numeric operators). Read-only. --- or `expr7` when used with numeric operators). Read-only.
--- @type boolean --- @type boolean
vim.v['false'] = ... vim.v['false'] = ...
@@ -329,7 +329,7 @@ vim.v.foldlevel = ...
vim.v.foldstart = ... vim.v.foldstart = ...
--- Variable that indicates whether search highlighting is on. --- Variable that indicates whether search highlighting is on.
--- Setting it makes sense only if 'hlsearch' is enabled. Setting --- Setting it makes sense only if 'hlsearch' is enabled. Setting
--- this variable to zero acts like the `:nohlsearch` command, --- this variable to zero acts like the `:nohlsearch` command,
--- setting it to one acts like --- setting it to one acts like
--- ---
@@ -429,7 +429,7 @@ vim.v.msgpack_types = ...
--- See `json_encode()`. This value is converted to "v:null" when --- See `json_encode()`. This value is converted to "v:null" when
--- used as a String (e.g. in `expr5` with string concatenation --- used as a String (e.g. in `expr5` with string concatenation
--- operator) and to zero when used as a Number (e.g. in `expr5` --- operator) and to zero when used as a Number (e.g. in `expr5`
--- or `expr7` when used with numeric operators). Read-only. --- or `expr7` when used with numeric operators). Read-only.
--- In some places `v:null` can be used for a List, Dict, etc. --- In some places `v:null` can be used for a List, Dict, etc.
--- that is not set. That is slightly different than an empty --- that is not set. That is slightly different than an empty
--- List, Dict, etc. --- List, Dict, etc.
@@ -479,7 +479,7 @@ vim.v.oldfiles = ...
--- @type string --- @type string
vim.v.operator = ... vim.v.operator = ...
--- Command used to set the option. Valid while executing an --- Command used to set the option. Valid while executing an
--- `OptionSet` autocommand. --- `OptionSet` autocommand.
--- value option was set via ~ --- value option was set via ~
--- "setlocal" `:setlocal` or `:let l:xxx` --- "setlocal" `:setlocal` or `:let l:xxx`
@@ -489,30 +489,30 @@ vim.v.operator = ...
--- @type string --- @type string
vim.v.option_command = ... vim.v.option_command = ...
--- New value of the option. Valid while executing an `OptionSet` --- New value of the option. Valid while executing an `OptionSet`
--- autocommand. --- autocommand.
--- @type any --- @type any
vim.v.option_new = ... vim.v.option_new = ...
--- Old value of the option. Valid while executing an `OptionSet` --- 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.
--- @type any --- @type any
vim.v.option_old = ... vim.v.option_old = ...
--- Old global value of the option. Valid while executing an --- Old global value of the option. Valid while executing an
--- `OptionSet` autocommand. --- `OptionSet` autocommand.
--- @type any --- @type any
vim.v.option_oldglobal = ... vim.v.option_oldglobal = ...
--- Old local value of the option. Valid while executing an --- Old local value of the option. Valid while executing an
--- `OptionSet` autocommand. --- `OptionSet` autocommand.
--- @type any --- @type any
vim.v.option_oldlocal = ... vim.v.option_oldlocal = ...
--- Scope of the set command. Valid while executing an --- Scope of the set command. Valid while executing an
--- `OptionSet` autocommand. Can be either "global" or "local" --- `OptionSet` autocommand. Can be either "global" or "local"
--- @type string --- @type string
vim.v.option_type = ... vim.v.option_type = ...
@@ -752,7 +752,7 @@ vim.v.throwpoint = ...
--- `json_encode()`. This value is converted to "v:true" when used --- `json_encode()`. This value is converted to "v:true" when used
--- as a String (e.g. in `expr5` with string concatenation --- as a String (e.g. in `expr5` with string concatenation
--- operator) and to one when used as a Number (e.g. in `expr5` or --- operator) and to one when used as a Number (e.g. in `expr5` or
--- `expr7` when used with numeric operators). Read-only. --- `expr7` when used with numeric operators). Read-only.
--- @type boolean --- @type boolean
vim.v['true'] = ... vim.v['true'] = ...

File diff suppressed because it is too large Load Diff

View File

@@ -806,8 +806,8 @@ local options = {
defaults = false, defaults = false,
desc = [=[ desc = [=[
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.
]=], ]=],
full_name = 'breakindent', full_name = 'breakindent',
redraw = { 'current_window' }, redraw = { 'current_window' },
@@ -1507,12 +1507,12 @@ local options = {
] tag completion ] tag completion
t same as "]" t same as "]"
f scan the buffer names (as opposed to buffer contents) f scan the buffer names (as opposed to buffer contents)
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
@@ -1751,7 +1751,8 @@ local options = {
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
@@ -3760,7 +3761,6 @@ local options = {
modeline, see |sandbox-option|. That stops the option from working, modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed. since changing the buffer text is not allowed.
This option cannot be set in a modeline when 'modelineexpr' is off. This option cannot be set in a modeline when 'modelineexpr' is off.
NOTE: This option is set to "" when 'compatible' is set.
]=], ]=],
full_name = 'formatexpr', full_name = 'formatexpr',
modelineexpr = true, modelineexpr = true,
@@ -5243,9 +5243,9 @@ local options = {
cb = 'did_set_langremap', cb = 'did_set_langremap',
defaults = false, defaults = false,
desc = [=[ desc = [=[
When off, setting 'langmap' does not apply to characters resulting from When off, setting 'langmap' does not apply to characters resulting
a mapping. If setting 'langmap' disables some of your mappings, make from a mapping. If setting 'langmap' disables some of your mappings,
sure this option is off. make sure this option is off.
]=], ]=],
full_name = 'langremap', full_name = 'langremap',
scope = { 'global' }, scope = { 'global' },
@@ -5282,8 +5282,8 @@ local options = {
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.
]=], ]=],
full_name = 'lazyredraw', full_name = 'lazyredraw',
@@ -8429,9 +8429,6 @@ local options = {
'shiftwidth'. If you plan to use 'sts' and 'shiftwidth' with 'shiftwidth'. If you plan to use 'sts' and 'shiftwidth' with
different values, you might consider setting 'smarttab'. different values, you might consider setting 'smarttab'.
'softtabstop' is temporarily set to 0 when 'paste' is on and reset
when it is turned off. It is also reset when 'compatible' is set.
The 'L' flag in 'cpoptions' alters tab behavior when 'list' is The 'L' flag in 'cpoptions' alters tab behavior when 'list' is
enabled. See also |ins-expandtab| ans user manual section |30.5| for enabled. See also |ins-expandtab| ans user manual section |30.5| for
in-depth explanations. in-depth explanations.

View File

@@ -239,7 +239,7 @@ M.vars = {
|json_encode()|. This value is converted to "v:false" when used |json_encode()|. This value is converted to "v:false" when used
as a String (e.g. in |expr5| with string concatenation as a String (e.g. in |expr5| with string concatenation
operator) and to zero when used as a Number (e.g. in |expr5| operator) and to zero when used as a Number (e.g. in |expr5|
or |expr7| when used with numeric operators). Read-only. or |expr7| when used with numeric operators). Read-only.
]=], ]=],
}, },
exiting = { exiting = {
@@ -369,7 +369,7 @@ M.vars = {
type = 'integer', type = 'integer',
desc = [=[ desc = [=[
Variable that indicates whether search highlighting is on. Variable that indicates whether search highlighting is on.
Setting it makes sense only if 'hlsearch' is enabled. Setting Setting it makes sense only if 'hlsearch' is enabled. Setting
this variable to zero acts like the |:nohlsearch| command, this variable to zero acts like the |:nohlsearch| command,
setting it to one acts like >vim setting it to one acts like >vim
let &hlsearch = &hlsearch let &hlsearch = &hlsearch
@@ -491,7 +491,7 @@ M.vars = {
See |json_encode()|. This value is converted to "v:null" when See |json_encode()|. This value is converted to "v:null" when
used as a String (e.g. in |expr5| with string concatenation used as a String (e.g. in |expr5| with string concatenation
operator) and to zero when used as a Number (e.g. in |expr5| operator) and to zero when used as a Number (e.g. in |expr5|
or |expr7| when used with numeric operators). Read-only. or |expr7| when used with numeric operators). Read-only.
In some places `v:null` can be used for a List, Dict, etc. In some places `v:null` can be used for a List, Dict, etc.
that is not set. That is slightly different than an empty that is not set. That is slightly different than an empty
List, Dict, etc. List, Dict, etc.
@@ -546,7 +546,7 @@ M.vars = {
option_command = { option_command = {
type = 'string', type = 'string',
desc = [=[ desc = [=[
Command used to set the option. Valid while executing an Command used to set the option. Valid while executing an
|OptionSet| autocommand. |OptionSet| autocommand.
value option was set via ~ value option was set via ~
"setlocal" |:setlocal| or `:let l:xxx` "setlocal" |:setlocal| or `:let l:xxx`
@@ -557,35 +557,35 @@ M.vars = {
}, },
option_new = { option_new = {
desc = [=[ desc = [=[
New value of the option. Valid while executing an |OptionSet| New value of the option. Valid while executing an |OptionSet|
autocommand. autocommand.
]=], ]=],
}, },
option_old = { option_old = {
desc = [=[ desc = [=[
Old value of the option. Valid while executing an |OptionSet| 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.
]=], ]=],
}, },
option_oldglobal = { option_oldglobal = {
desc = [=[ desc = [=[
Old global value of the option. Valid while executing an Old global value of the option. Valid while executing an
|OptionSet| autocommand. |OptionSet| autocommand.
]=], ]=],
}, },
option_oldlocal = { option_oldlocal = {
desc = [=[ desc = [=[
Old local value of the option. Valid while executing an Old local value of the option. Valid while executing an
|OptionSet| autocommand. |OptionSet| autocommand.
]=], ]=],
}, },
option_type = { option_type = {
type = 'string', type = 'string',
desc = [=[ desc = [=[
Scope of the set command. Valid while executing an Scope of the set command. Valid while executing an
|OptionSet| autocommand. Can be either "global" or "local" |OptionSet| autocommand. Can be either "global" or "local"
]=], ]=],
}, },
prevcount = { prevcount = {
@@ -858,7 +858,7 @@ M.vars = {
|json_encode()|. This value is converted to "v:true" when used |json_encode()|. This value is converted to "v:true" when used
as a String (e.g. in |expr5| with string concatenation as a String (e.g. in |expr5| with string concatenation
operator) and to one when used as a Number (e.g. in |expr5| or operator) and to one when used as a Number (e.g. in |expr5| or
|expr7| when used with numeric operators). Read-only. |expr7| when used with numeric operators). Read-only.
]=], ]=],
}, },
val = { val = {