aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/eval.txt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/eval.txt')
-rw-r--r--runtime/doc/eval.txt119
1 files changed, 71 insertions, 48 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 3f02365dab..20c0ce0876 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -2101,6 +2101,7 @@ gettabvar({nr}, {varname} [, {def}])
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
any {name} in {winnr} in tab page {tabnr}
getwininfo([{winid}]) List list of windows
+getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI Vim window
getwinvar({nr}, {varname} [, {def}])
@@ -2194,6 +2195,8 @@ msgpackdump({list}) List dump a list of objects to msgpack
msgpackparse({list}) List parse msgpack to a list of objects
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
nr2char({expr}[, {utf8}]) String single char with ASCII/UTF8 value {expr}
+option_restore({list}) none restore options saved by option_save()
+option_save({list}) List save options values
nvim_...({args}...) any call nvim |api| functions
or({expr}, {expr}) Number bitwise OR
pathshorten({expr}) String shorten directory names in a path
@@ -2336,7 +2339,7 @@ tolower({expr}) String the String {expr} switched to lowercase
toupper({expr}) String the String {expr} switched to uppercase
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
to chars in {tostr}
-trim({text}[, {mask}]) String trim characters in {mask} from {text}
+trim({text} [, {mask}]) String trim characters in {mask} from {text}
trunc({expr}) Float truncate Float {expr}
type({name}) Number type of variable {name}
undofile({name}) String undo file name for {name}
@@ -2611,6 +2614,8 @@ bufexists({expr}) *bufexists()*
The result is a Number, which is |TRUE| if a buffer called
{expr} exists.
If the {expr} argument is a number, buffer numbers are used.
+ Number zero is the alternate buffer for the current window.
+
If the {expr} argument is a string it must match a buffer name
exactly. The name can be:
- Relative to the current directory.
@@ -3235,6 +3240,7 @@ executable({expr}) *executable()*
1 exists
0 does not exist
-1 not implemented on this system
+ |exepath()| can be used to get the full path of an executable.
execute({command} [, {silent}]) *execute()*
Execute {command} and capture its output.
@@ -3884,7 +3890,7 @@ getbufinfo([{dict}])
endfor
<
To get buffer-local options use: >
- getbufvar({bufnr}, '&')
+ getbufvar({bufnr}, '&option_name')
<
*getbufline()*
@@ -4310,6 +4316,7 @@ getqflist([{what}]) *getqflist()*
list item is a dictionary with these entries:
bufnr number of buffer that has the file name, use
bufname() to get the name
+ module module name
lnum line number in the buffer (first line is 1)
col column number (first column is 1)
vcol |TRUE|: "col" is visual column
@@ -4334,51 +4341,63 @@ getqflist([{what}]) *getqflist()*
If the optional {what} dictionary argument is supplied, then
returns only the items listed in {what} as a dictionary. The
following string items are supported in {what}:
- context get the context stored with |setqflist()|
+ changedtick get the total number of changes made
+ to the list |quickfix-changedtick|
+ context get the |quickfix-context|
efm errorformat to use when parsing "lines". If
not present, then the 'errorformat' option
value is used.
id get information for the quickfix list with
|quickfix-ID|; zero means the id for the
current list or the list specified by "nr"
+ idx index of the current entry in the list
items quickfix list entries
- lines use 'errorformat' to extract items from a list
- of lines and return the resulting entries.
- Only a |List| type is accepted. The current
- quickfix list is not modified.
+ lines parse a list of lines using 'efm' and return
+ the resulting entries. Only a |List| type is
+ accepted. The current quickfix list is not
+ modified. See |quickfix-parse|.
nr get information for this quickfix list; zero
means the current quickfix list and "$" means
the last quickfix list
- title get the list title
- winid get the |window-ID| (if opened)
+ size number of entries in the quickfix list
+ title get the list title |quickfix-title|
+ winid get the quickfix |window-ID|
all all of the above quickfix properties
- Non-string items in {what} are ignored.
+ Non-string items in {what} are ignored. To get the value of a
+ particular item, set it to zero.
If "nr" is not present then the current quickfix list is used.
If both "nr" and a non-zero "id" are specified, then the list
specified by "id" is used.
- To get the number of lists in the quickfix stack, set 'nr' to
- '$' in {what}. The 'nr' value in the returned dictionary
+ To get the number of lists in the quickfix stack, set "nr" to
+ "$" in {what}. The "nr" value in the returned dictionary
contains the quickfix stack size.
- When 'text' is specified, all the other items are ignored. The
- returned dictionary contains the entry 'items' with the list
- of entries.
- In case of error processing {what}, an empty dictionary is
- returned.
+ When "lines" is specified, all the other items except "efm"
+ are ignored. The returned dictionary contains the entry
+ "items" with the list of entries.
The returned dictionary contains the following entries:
- context context information stored with |setqflist()|
- id quickfix list ID |quickfix-ID|
- items quickfix list entries
- nr quickfix list number
- title quickfix list title text
- winid quickfix |window-ID| (if opened)
-
- Examples: >
+ changedtick total number of changes made to the
+ list |quickfix-changedtick|
+ context quickfix list context. See |quickfix-context|
+ If not present, set to "".
+ id quickfix list ID |quickfix-ID|. If not
+ present, set to 0.
+ idx index of the current entry in the list. If not
+ present, set to 0.
+ items quickfix list entries. If not present, set to
+ an empty list.
+ nr quickfix list number. If not present, set to 0
+ size number of entries in the quickfix list. If not
+ present, set to 0.
+ title quickfix list title text. If not present, set
+ to "".
+ winid quickfix |window-ID|. If not present, set to 0
+
+ Examples (See also |getqflist-examples|): >
:echo getqflist({'all': 1})
:echo getqflist({'nr': 2, 'title': 1})
:echo getqflist({'lines' : ["F1:10:L10"]})
<
-
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
The result is a String, which is the contents of register
{regname}. Example: >
@@ -4457,6 +4476,9 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
:let list_is_on = gettabwinvar(1, 2, '&list')
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
<
+ To obtain all window-local variables use: >
+ gettabwinvar({tabnr}, {winnr}, '&')
+
*getwinposx()*
getwinposx() The result is a Number, which is the X coordinate in pixels of
the left hand side of the GUI Vim window. The result will be
@@ -4482,22 +4504,19 @@ getwininfo([{winid}]) *getwininfo()*
Each List item is a Dictionary with the following entries:
bufnr number of buffer in the window
height window height (excluding winbar)
- winbar 1 if the window has a toolbar, 0
- otherwise
loclist 1 if showing a location list
quickfix 1 if quickfix or location list window
tabnr tab page number
variables a reference to the dictionary with
window-local variables
width window width
+ winbar 1 if the window has a toolbar, 0
+ otherwise
wincol leftmost screen column of the window
winid |window-ID|
winnr window number
winrow topmost screen column of the window
- To obtain all window-local variables use: >
- gettabwinvar({tabnr}, {winnr}, '&')
-
getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
Like |gettabwinvar()| for the current tabpage.
Examples: >
@@ -5340,7 +5359,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
listing.
When there is no mapping for {name}, an empty String is
- returned.
+ returned. When the mapping for {name} is empty, then "<Nop>"
+ is returned.
The {name} can have special key names, like in the ":map"
command.
@@ -5407,9 +5427,10 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
mapping that matches with {name}, while maparg() only finds a
mapping for {name} exactly.
When there is no mapping that starts with {name}, an empty
- String is returned. If there is one, the rhs of that mapping
+ String is returned. If there is one, the RHS of that mapping
is returned. If there are several mappings that start with
- {name}, the rhs of one of them is returned.
+ {name}, the RHS of one of them is returned. This will be
+ "<Nop>" if the RHS is empty.
The mappings local to the current buffer are checked first,
then the global mappings.
This function can be used to check if a mapping can be added
@@ -5565,8 +5586,6 @@ matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
< Matches added by |matchaddpos()| are returned by
|getmatches()| with an entry "pos1", "pos2", etc., with the
value a list like the {pos} item.
- These matches cannot be set via |setmatches()|, however they
- can still be deleted by |clearmatches()|.
matcharg({nr}) *matcharg()*
Selects the {nr} match item, as set with a |:match|,
@@ -6594,6 +6613,8 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip}
When {skip} is omitted or empty, every match is accepted.
When evaluating {skip} causes an error the search is aborted
and -1 returned.
+ {skip} can be a string, a lambda, a funcref or a partial.
+ Anything else makes the function fail.
For {stopline} and {timeout} see |search()|.
@@ -6935,7 +6956,7 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
only the items listed in {what} are set. The first {list}
argument is ignored. The following items can be specified in
{what}:
- context any Vim type can be stored as a context
+ context quickfix list context. See |quickfix-context|
efm errorformat to use when parsing text from
"lines". If this is not present, then the
'errorformat' option value is used.
@@ -6957,10 +6978,10 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
list is modified, "id" should be used instead of "nr" to
specify the list.
- Examples: >
+ Examples (See also |setqflist-examples|): >
:call setqflist([], 'r', {'title': 'My search'})
:call setqflist([], 'r', {'nr': 2, 'title': 'Errors'})
- :call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]})
+ :call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]})
<
Returns zero for success, -1 for failure.
@@ -8007,7 +8028,7 @@ tr({src}, {fromstr}, {tostr}) *tr()*
echo tr("<blob>", "<>", "{}")
< returns "{blob}"
-trim({text}[, {mask}]) *trim()*
+trim({text} [, {mask}]) *trim()*
Return {text} as a String where any character in {mask} is
removed from the beginning and end of {text}.
If {mask} is not given, {mask} is all characters up to 0x20,
@@ -8016,12 +8037,12 @@ trim({text}[, {mask}]) *trim()*
This code deals with multibyte characters properly.
Examples: >
- echo trim(" \r\t\t\r RESERVE \t \t\n\x0B\x0B")."_TAIL"
+ echo trim(" some text ")
+< returns "some text" >
+ echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL"
< returns "RESERVE_TAIL" >
- echo trim("needrmvRESERVEnnneeedddrrmmmmvv", "ednmrv")
-< returns "RESERVE" >
- echo trim("rm<blob1><blob2><any_chars>rrmm<blob1><blob2><blob2>", "rm<blob1><blob2>")
-< returns "any_chas"
+ echo trim("rm<Xrm<>X>rrm", "rm<>")
+< returns "Xrm<>X" (characters in the middle are not removed)
trunc({expr}) *trunc()*
Return the largest integral value with magnitude less than or
@@ -8545,6 +8566,8 @@ visual Compiled with Visual mode.
visualextra Compiled with extra Visual mode commands.
|blockwise-operators|.
vreplace Compiled with |gR| and |gr| commands.
+vtp Compiled for vcon support |+vtp| (check vcon to find
+ out if it works in the current console)).
wildignore Compiled with 'wildignore' option.
wildmenu Compiled with 'wildmenu' option.
win32 Windows version of Vim (32 or 64 bit).
@@ -8769,8 +8792,7 @@ may be larger.
It is also possible to define a function without any arguments. You must
still supply the () then.
-It is allowed to define another function inside a function
-body.
+It is allowed to define another function inside a function body.
*local-variables*
Inside a function local variables can be used. These will disappear when the
@@ -10691,7 +10713,7 @@ The sandbox is also used for the |:sandbox| command.
These items are not allowed in the sandbox:
- changing the buffer text
- - defining or changing mapping, autocommands, functions, user commands
+ - defining or changing mapping, autocommands, user commands
- setting certain options (see |option-summary|)
- setting certain v: variables (see |v:var|) *E794*
- executing a shell command
@@ -10713,6 +10735,7 @@ location. Insecure in this context are:
- sourcing a .nvimrc or .exrc in the current directory
- while executing in the sandbox
- value coming from a modeline
+- executing a function that was defined in the sandbox
Note that when in the sandbox and saving an option value and restoring it, the
option will still be marked as it was set in the sandbox.