forked from aniani/vim
updated for version 7.0206
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 22
|
||||
*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -577,8 +577,8 @@ Expression syntax summary, from least to most significant:
|
||||
etc. As above, append ? for ignoring case, # for
|
||||
matching case
|
||||
|
||||
expr5 is expr5 same List instance
|
||||
expr5 isnot expr5 different List instance
|
||||
expr5 is expr5 same |List| instance
|
||||
expr5 isnot expr5 different |List| instance
|
||||
|
||||
|expr5| expr6 + expr6 .. number addition or list concatenation
|
||||
expr6 - expr6 .. number subtraction
|
||||
@@ -593,16 +593,16 @@ Expression syntax summary, from least to most significant:
|
||||
+ expr7 unary plus
|
||||
|
||||
|
||||
|expr8| expr8[expr1] byte of a String or item of a List
|
||||
expr8[expr1 : expr1] substring of a String or sublist of a List
|
||||
expr8.name entry in a Dictionary
|
||||
expr8(expr1, ...) function call with Funcref variable
|
||||
|expr8| expr8[expr1] byte of a String or item of a |List|
|
||||
expr8[expr1 : expr1] substring of a String or sublist of a |List|
|
||||
expr8.name entry in a |Dictionary|
|
||||
expr8(expr1, ...) function call with |Funcref| variable
|
||||
|
||||
|expr9| number number constant
|
||||
"string" string constant, backslash is special
|
||||
'string' string constant, ' is doubled
|
||||
[expr1, ...] List
|
||||
{expr1: expr1, ...} Dictionary
|
||||
[expr1, ...] |List|
|
||||
{expr1: expr1, ...} |Dictionary|
|
||||
&option option value
|
||||
(expr1) nested expression
|
||||
variable internal variable
|
||||
@@ -714,23 +714,23 @@ Examples:
|
||||
"abc" == "Abc" evaluates to 1 if 'ignorecase' is set, 0 otherwise
|
||||
|
||||
*E691* *E692*
|
||||
A List can only be compared with a List and only "equal", "not equal" and "is"
|
||||
can be used. This compares the values of the list, recursively. Ignoring
|
||||
case means case is ignored when comparing item values.
|
||||
A |List| can only be compared with a |List| and only "equal", "not equal" and
|
||||
"is" can be used. This compares the values of the list, recursively.
|
||||
Ignoring case means case is ignored when comparing item values.
|
||||
|
||||
*E735* *E736*
|
||||
A Dictionary can only be compared with a Dictionary and only "equal", "not
|
||||
equal" and "is" can be used. This compares the key/values of the Dictionary,
|
||||
A |Dictionary| can only be compared with a |Dictionary| and only "equal", "not
|
||||
equal" and "is" can be used. This compares the key/values of the |Dictionary|
|
||||
recursively. Ignoring case means case is ignored when comparing item values.
|
||||
|
||||
*E693* *E694*
|
||||
A Funcref can only be compared with a Funcref and only "equal" and "not equal"
|
||||
can be used. Case is never ignored.
|
||||
A |Funcref| can only be compared with a |Funcref| and only "equal" and "not
|
||||
equal" can be used. Case is never ignored.
|
||||
|
||||
When using "is" or "isnot" with a List this checks if the expressions are
|
||||
referring to the same List instance. A copy of a List is different from the
|
||||
original List. When using "is" without a List it is equivalent to using
|
||||
"equal", using "isnot" equivalent to using "not equal". Except that a
|
||||
When using "is" or "isnot" with a |List| this checks if the expressions are
|
||||
referring to the same |List| instance. A copy of a |List| is different from
|
||||
the original |List|. When using "is" without a |List| it is equivalent to
|
||||
using "equal", using "isnot" equivalent to using "not equal". Except that a
|
||||
different type means the values are different. "4 == '4'" is true, "4 is '4'"
|
||||
is false.
|
||||
|
||||
@@ -763,12 +763,12 @@ can be matched like an ordinary character. Examples:
|
||||
|
||||
expr5 and expr6 *expr5* *expr6*
|
||||
---------------
|
||||
expr6 + expr6 .. Number addition or List concatenation *expr-+*
|
||||
expr6 + expr6 .. Number addition or |List| concatenation *expr-+*
|
||||
expr6 - expr6 .. Number subtraction *expr--*
|
||||
expr6 . expr6 .. String concatenation *expr-.*
|
||||
|
||||
For Lists only "+" is possible and then both expr6 must be a list. The result
|
||||
is a new list with the two lists Concatenated.
|
||||
For |List|s only "+" is possible and then both expr6 must be a list. The
|
||||
result is a new list with the two lists Concatenated.
|
||||
|
||||
expr7 * expr7 .. number multiplication *expr-star*
|
||||
expr7 / expr7 .. number division *expr-/*
|
||||
@@ -783,7 +783,7 @@ Note the difference between "+" and ".":
|
||||
When the righthand side of '/' is zero, the result is 0x7fffffff.
|
||||
When the righthand side of '%' is zero, the result is 0.
|
||||
|
||||
None of these work for Funcrefs.
|
||||
None of these work for |Funcref|s.
|
||||
|
||||
|
||||
expr7 *expr7*
|
||||
@@ -806,7 +806,7 @@ These three can be repeated and mixed. Examples:
|
||||
|
||||
expr8 *expr8*
|
||||
-----
|
||||
expr8[expr1] item of String or List *expr-[]* *E111*
|
||||
expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||
|
||||
If expr8 is a Number or String this results in a String that contains the
|
||||
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
||||
@@ -821,13 +821,14 @@ If the length of the String is less than the index, the result is an empty
|
||||
String. A negative index always results in an empty string (reason: backwards
|
||||
compatibility). Use [-1:] to get the last byte.
|
||||
|
||||
If expr8 is a List then it results the item at index expr1. See |list-index|
|
||||
If expr8 is a |List| then it results the item at index expr1. See |list-index|
|
||||
for possible index values. If the index is out of range this results in an
|
||||
error. Example: >
|
||||
:let item = mylist[-1] " get last item
|
||||
|
||||
Generally, if a List index is equal to or higher than the length of the List,
|
||||
or more negative than the length of the List, this results in an error.
|
||||
Generally, if a |List| index is equal to or higher than the length of the
|
||||
|List|, or more negative than the length of the |List|, this results in an
|
||||
error.
|
||||
|
||||
|
||||
expr8[expr1a : expr1b] substring or sublist *expr-[:]*
|
||||
@@ -852,20 +853,22 @@ Examples: >
|
||||
:let s = line(".")[4:] " from the fifth byte to the end
|
||||
:let s = s[:-3] " remove last two bytes
|
||||
|
||||
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 just
|
||||
above, except that indexes out of range cause an error. Examples: >
|
||||
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
|
||||
just above, except that indexes out of range cause an error. Examples: >
|
||||
:let l = mylist[:3] " first four items
|
||||
:let l = mylist[4:4] " List with one item
|
||||
:let l = mylist[:] " shallow copy of a List
|
||||
|
||||
Using expr8[expr1] or expr8[expr1a : expr1b] on a Funcref results in an error.
|
||||
Using expr8[expr1] or expr8[expr1a : expr1b] on a |Funcref| results in an
|
||||
error.
|
||||
|
||||
|
||||
expr8.name entry in a Dictionary *expr-entry*
|
||||
expr8.name entry in a |Dictionary| *expr-entry*
|
||||
|
||||
If expr8 is a Dictionary and it is followed by a dot, then the following name
|
||||
will be used as a key in the Dictionary. This is just like: expr8[name].
|
||||
If expr8 is a |Dictionary| and it is followed by a dot, then the following
|
||||
name will be used as a key in the |Dictionary|. This is just like:
|
||||
expr8[name].
|
||||
|
||||
The name must consist of alphanumeric characters, just like a variable name,
|
||||
but it may start with a number. Curly braces cannot be used.
|
||||
@@ -881,7 +884,7 @@ Note that the dot is also used for String concatenation. To avoid confusion
|
||||
always put spaces around the dot for String concatenation.
|
||||
|
||||
|
||||
expr8(expr1, ...) Funcref function call
|
||||
expr8(expr1, ...) |Funcref| function call
|
||||
|
||||
When expr8 is a |Funcref| type variable, invoke the function it refers to.
|
||||
|
||||
@@ -1029,8 +1032,8 @@ specified by what is prepended:
|
||||
|function-argument| a: Function argument (only inside a function).
|
||||
|vim-variable| v: Global, predefined by Vim.
|
||||
|
||||
The scope name by itself can be used as a Dictionary. For example, to delete
|
||||
all script-local variables: >
|
||||
The scope name by itself can be used as a |Dictionary|. For example, to
|
||||
delete all script-local variables: >
|
||||
:for k in keys(s:)
|
||||
: unlet s:[k]
|
||||
:endfor
|
||||
@@ -1327,7 +1330,7 @@ v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand
|
||||
v Virtual Replace mode
|
||||
|
||||
*v:key* *key-variable*
|
||||
v:key Key of the current item of a Dictionary. Only valid while
|
||||
v:key Key of the current item of a |Dictionary|. Only valid while
|
||||
evaluating the expression used with |map()| and |filter()|.
|
||||
Read-only.
|
||||
|
||||
@@ -1459,8 +1462,8 @@ v:throwpoint The point where the exception most recently caught and not
|
||||
< Output: "Exception from test.vim, line 2"
|
||||
|
||||
*v:val* *val-variable*
|
||||
v:val Value of the current item of a List or Dictionary. Only valid
|
||||
while evaluating the expression used with |map()| and
|
||||
v:val Value of the current item of a |List| or |Dictionary|. Only
|
||||
valid while evaluating the expression used with |map()| and
|
||||
|filter()|. Read-only.
|
||||
|
||||
*v:version* *version-variable*
|
||||
@@ -1486,7 +1489,7 @@ See |function-list| for a list grouped by what the function is used for.
|
||||
|
||||
USAGE RESULT DESCRIPTION ~
|
||||
|
||||
add( {list}, {item}) List append {item} to List {list}
|
||||
add( {list}, {item}) List append {item} to |List| {list}
|
||||
append( {lnum}, {string}) Number append {string} below line {lnum}
|
||||
append( {lnum}, {list}) Number append lines {list} below line {lnum}
|
||||
argc() Number number of files in the argument list
|
||||
@@ -1595,9 +1598,9 @@ inputsecret( {prompt} [, {text}]) String like input() but hiding the text
|
||||
insert( {list}, {item} [, {idx}]) List insert {item} in {list} [before {idx}]
|
||||
isdirectory( {directory}) Number TRUE if {directory} is a directory
|
||||
islocked( {expr}) Number TRUE if {expr} is locked
|
||||
items( {dict}) List List of key-value pairs in {dict}
|
||||
items( {dict}) List key-value pairs in {dict}
|
||||
join( {list} [, {sep}]) String join {list} items into one String
|
||||
keys( {dict}) List List of keys in {dict}
|
||||
keys( {dict}) List keys in {dict}
|
||||
len( {expr}) Number the length of {expr}
|
||||
libcall( {lib}, {func}, {arg}) String call {func} in library {lib} with {arg}
|
||||
libcallnr( {lib}, {func}, {arg}) Number idem, but return a Number
|
||||
@@ -1671,7 +1674,7 @@ spellbadword() String badly spelled word at cursor
|
||||
spellsuggest( {word} [, {max} [, {capital}]])
|
||||
List spelling suggestions
|
||||
split( {expr} [, {pat} [, {keepempty}]])
|
||||
List make List from {pat} separated {expr}
|
||||
List make |List| from {pat} separated {expr}
|
||||
strftime( {format}[, {time}]) String time in specified format
|
||||
stridx( {haystack}, {needle}[, {start}])
|
||||
Number index of {needle} in {haystack}
|
||||
@@ -1702,7 +1705,7 @@ toupper( {expr}) String the String {expr} switched to uppercase
|
||||
tr( {src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
type( {name}) Number type of variable {name}
|
||||
values( {dict}) List List of values in {dict}
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
winbufnr( {nr}) Number buffer number of window {nr}
|
||||
@@ -1716,18 +1719,18 @@ writefile({list}, {fname} [, {binary}])
|
||||
Number write list of lines to file {fname}
|
||||
|
||||
add({list}, {expr}) *add()*
|
||||
Append the item {expr} to List {list}. Returns the resulting
|
||||
List. Examples: >
|
||||
Append the item {expr} to |List| {list}. Returns the
|
||||
resulting |List|. Examples: >
|
||||
:let alist = add([1, 2, 3], item)
|
||||
:call add(mylist, "woodstock")
|
||||
< Note that when {expr} is a List it is appended as a single
|
||||
item. Use |extend()| to concatenate Lists.
|
||||
< Note that when {expr} is a |List| it is appended as a single
|
||||
item. Use |extend()| to concatenate |List|s.
|
||||
Use |insert()| to add an item at another position.
|
||||
|
||||
|
||||
append({lnum}, {expr}) *append()*
|
||||
When {expr} is a List: Append each item of the List as a text
|
||||
line below line {lnum} in the current buffer.
|
||||
When {expr} is a |List|: Append each item of the |List| as a
|
||||
text line below line {lnum} in the current buffer.
|
||||
Otherwise append {expr} as one text line below line {lnum} in
|
||||
the current buffer.
|
||||
{lnum} can be zero to insert a line before the first one.
|
||||
@@ -1891,9 +1894,9 @@ byteidx({expr}, {nr}) *byteidx()*
|
||||
is returned.
|
||||
|
||||
call({func}, {arglist} [, {dict}]) *call()* *E699*
|
||||
Call function {func} with the items in List {arglist} as
|
||||
Call function {func} with the items in |List| {arglist} as
|
||||
arguments.
|
||||
{func} can either be a Funcref or the name of a function.
|
||||
{func} can either be a |Funcref| or the name of a function.
|
||||
a:firstline and a:lastline are set to the cursor line.
|
||||
Returns the return value of the called function.
|
||||
{dict} is for functions with the "dict" attribute. It will be
|
||||
@@ -2009,17 +2012,17 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
|
||||
*copy()*
|
||||
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
||||
different from using {expr} directly.
|
||||
When {expr} is a List a shallow copy is created. This means
|
||||
that the original List can be changed without changing the
|
||||
When {expr} is a |List| a shallow copy is created. This means
|
||||
that the original |List| can be changed without changing the
|
||||
copy, and vise versa. But the items are identical, thus
|
||||
changing an item changes the contents of both Lists. Also see
|
||||
|deepcopy()|.
|
||||
changing an item changes the contents of both |List|s. Also
|
||||
see |deepcopy()|.
|
||||
|
||||
count({comp}, {expr} [, {ic} [, {start}]]) *count()*
|
||||
Return the number of times an item with value {expr} appears
|
||||
in List or Dictionary {comp}.
|
||||
in |List| or |Dictionary| {comp}.
|
||||
If {start} is given then start with the item with this index.
|
||||
{start} can only be used with a List.
|
||||
{start} can only be used with a |List|.
|
||||
When {ic} is given and it's non-zero then case is ignored.
|
||||
|
||||
|
||||
@@ -2080,16 +2083,16 @@ cursor({lnum}, {col}) *cursor()*
|
||||
deepcopy({expr}[, {noref}]) *deepcopy()* *E698*
|
||||
Make a copy of {expr}. For Numbers and Strings this isn't
|
||||
different from using {expr} directly.
|
||||
When {expr} is a List a full copy is created. This means
|
||||
that the original List can be changed without changing the
|
||||
copy, and vise versa. When an item is a List, a copy for it
|
||||
When {expr} is a |List| a full copy is created. This means
|
||||
that the original |List| can be changed without changing the
|
||||
copy, and vise versa. When an item is a |List|, a copy for it
|
||||
is made, recursively. Thus changing an item in the copy does
|
||||
not change the contents of the original List.
|
||||
When {noref} is omitted or zero a contained List or Dictionary
|
||||
is only copied once. All references point to this single
|
||||
copy. With {noref} set to 1 every occurrence of a List or
|
||||
Dictionary results in a new copy. This also means that a
|
||||
cyclic reference causes deepcopy() to fail.
|
||||
not change the contents of the original |List|.
|
||||
When {noref} is omitted or zero a contained |List| or
|
||||
|Dictionary| is only copied once. All references point to
|
||||
this single copy. With {noref} set to 1 every occurrence of a
|
||||
|List| or |Dictionary| results in a new copy. This also means
|
||||
that a cyclic reference causes deepcopy() to fail.
|
||||
*E724*
|
||||
Nesting is possible up to 100 levels. When there is an item
|
||||
that refers back to a higher level making a deep copy with
|
||||
@@ -2100,7 +2103,7 @@ delete({fname}) *delete()*
|
||||
Deletes the file by the name {fname}. The result is a Number,
|
||||
which is 0 if the file was deleted successfully, and non-zero
|
||||
when the deletion failed.
|
||||
Use |remove()| to delete an item from a List.
|
||||
Use |remove()| to delete an item from a |List|.
|
||||
|
||||
*did_filetype()*
|
||||
did_filetype() Returns non-zero when autocommands are being executed and the
|
||||
@@ -2135,10 +2138,10 @@ diff_hlID({lnum}, {col}) *diff_hlID()*
|
||||
|
||||
empty({expr}) *empty()*
|
||||
Return the Number 1 if {expr} is empty, zero otherwise.
|
||||
A List or Dictionary is empty when it does not have any items.
|
||||
A Number is empty when its value is zero.
|
||||
For a long List this is much faster then comparing the length
|
||||
with zero.
|
||||
A |List| or |Dictionary| is empty when it does not have any
|
||||
items. A Number is empty when its value is zero.
|
||||
For a long |List| this is much faster then comparing the
|
||||
length with zero.
|
||||
|
||||
escape({string}, {chars}) *escape()*
|
||||
Escape the characters in {chars} that occur in {string} with a
|
||||
@@ -2151,7 +2154,7 @@ escape({string}, {chars}) *escape()*
|
||||
eval({string}) Evaluate {string} and return the result. Especially useful to
|
||||
turn the result of |string()| back into the original value.
|
||||
This works for Numbers, Strings and composites of them.
|
||||
Also works for Funcrefs that refer to existing functions.
|
||||
Also works for |Funcref|s that refer to existing functions.
|
||||
|
||||
eventhandler() *eventhandler()*
|
||||
Returns 1 when inside an event handler. That is that Vim got
|
||||
@@ -2195,9 +2198,9 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
|
||||
|user-functions|).
|
||||
varname internal variable (see
|
||||
|internal-variables|). Also works
|
||||
for |curly-braces-names|, Dictionary
|
||||
entries, List items, etc. Beware that
|
||||
this may cause functions to be
|
||||
for |curly-braces-names|, |Dictionary|
|
||||
entries, |List| items, etc. Beware
|
||||
that this may cause functions to be
|
||||
invoked cause an error message for an
|
||||
invalid expression.
|
||||
:cmdname Ex command: built-in command, user
|
||||
@@ -2323,9 +2326,9 @@ expand({expr} [, {flag}]) *expand()*
|
||||
getting the raw output of an external command.
|
||||
|
||||
extend({expr1}, {expr2} [, {expr3}]) *extend()*
|
||||
{expr1} and {expr2} must be both Lists or both Dictionaries.
|
||||
{expr1} and {expr2} must be both |List|s or both Dictionaries.
|
||||
|
||||
If they are Lists: Append {expr2} to {expr1}.
|
||||
If they are |List|s: Append {expr2} to {expr1}.
|
||||
If {expr3} is given insert the items of {expr2} before item
|
||||
{expr3} in {expr1}. When {expr3} is zero insert before the
|
||||
first item. When {expr3} is equal to len({expr1}) then
|
||||
@@ -2362,28 +2365,28 @@ filereadable({file}) *filereadable()*
|
||||
|
||||
|
||||
filter({expr}, {string}) *filter()*
|
||||
{expr} must be a List or a Dictionary.
|
||||
{expr} must be a |List| or a |Dictionary|.
|
||||
For each item in {expr} evaluate {string} and when the result
|
||||
is zero remove the item from the List or Dictionary.
|
||||
is zero remove the item from the |List| or |Dictionary|.
|
||||
Inside {string} |v:val| has the value of the current item.
|
||||
For a Dictionary |v:key| has the key of the current item.
|
||||
For a |Dictionary| |v:key| has the key of the current item.
|
||||
Examples: >
|
||||
:call filter(mylist, 'v:val !~ "OLD"')
|
||||
< Removes the items where "OLD" appears. >
|
||||
:call filter(mydict, 'v:key >= 8')
|
||||
< Removes the items with a key below 8. >
|
||||
:call filter(var, 0)
|
||||
< Removes all the items, thus clears the List or Dictionary.
|
||||
< Removes all the items, thus clears the |List| or |Dictionary|.
|
||||
|
||||
Note that {string} is the result of expression and is then
|
||||
used as an expression again. Often it is good to use a
|
||||
|literal-string| to avoid having to double backslashes.
|
||||
|
||||
The operation is done in-place. If you want a List or
|
||||
Dictionary to remain unmodified make a copy first: >
|
||||
The operation is done in-place. If you want a |List| or
|
||||
|Dictionary| to remain unmodified make a copy first: >
|
||||
:let l = filter(copy(mylist), 'v:val =~ "KEEP"')
|
||||
|
||||
< Returns {expr}, the List or Dictionary that was filtered.
|
||||
< Returns {expr}, the |List| or |Dictionary| that was filtered.
|
||||
When an error is encountered while evaluating {string} no
|
||||
further items in {expr} are processed.
|
||||
|
||||
@@ -2477,35 +2480,35 @@ foreground() Move the Vim window to the foreground. Useful when sent from
|
||||
|
||||
|
||||
function({name}) *function()* *E700*
|
||||
Return a Funcref variable that refers to function {name}.
|
||||
Return a |Funcref| variable that refers to function {name}.
|
||||
{name} can be a user defined function or an internal function.
|
||||
|
||||
|
||||
garbagecollect() *garbagecollect()*
|
||||
Cleanup unused Lists and Dictionaries that have circular
|
||||
Cleanup unused |List|s and Dictionaries that have circular
|
||||
references. There is hardly ever a need to invoke this
|
||||
function, as it is automatically done when Vim runs out of
|
||||
memory or is waiting for the user to press a key after
|
||||
'updatetime'. Items without circular references are always
|
||||
freed when they become unused.
|
||||
This is useful if you have deleted a very big List and/or
|
||||
Dictionary with circular references in a script that runs for
|
||||
a long time.
|
||||
This is useful if you have deleted a very big |List| and/or
|
||||
|Dictionary| with circular references in a script that runs
|
||||
for a long time.
|
||||
|
||||
get({list}, {idx} [, {default}]) *get()*
|
||||
Get item {idx} from List {list}. When this item is not
|
||||
Get item {idx} from |List| {list}. When this item is not
|
||||
available return {default}. Return zero when {default} is
|
||||
omitted.
|
||||
get({dict}, {key} [, {default}])
|
||||
Get item with key {key} from Dictionary {dict}. When this
|
||||
Get item with key {key} from |Dictionary| {dict}. When this
|
||||
item is not available return {default}. Return zero when
|
||||
{default} is omitted.
|
||||
|
||||
*getbufline()*
|
||||
getbufline({expr}, {lnum} [, {end}])
|
||||
Return a List with the lines starting from {lnum} to {end}
|
||||
(inclusive) in the buffer {expr}. If {end} is omitted, a List
|
||||
with only the line {lnum} is returned.
|
||||
Return a |List| with the lines starting from {lnum} to {end}
|
||||
(inclusive) in the buffer {expr}. If {end} is omitted, a
|
||||
|List| with only the line {lnum} is returned.
|
||||
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
|
||||
@@ -2513,15 +2516,15 @@ getbufline({expr}, {lnum} [, {end}])
|
||||
buffer. Otherwise a number must be used.
|
||||
|
||||
When {lnum} is smaller than 1 or bigger than the number of
|
||||
lines in the buffer, an empty List is returned.
|
||||
lines in the buffer, an empty |List| is returned.
|
||||
|
||||
When {end} is greater than the number of lines in the buffer,
|
||||
it is treated as {end} is set to the number of lines in the
|
||||
buffer. When {end} is before {lnum} an empty List is
|
||||
buffer. When {end} is before {lnum} an empty |List| is
|
||||
returned.
|
||||
|
||||
This function works only for loaded buffers. For unloaded and
|
||||
non-existing buffers, an empty List is returned.
|
||||
non-existing buffers, an empty |List| is returned.
|
||||
|
||||
Example: >
|
||||
:let lines = getbufline(bufnr("myfile"), 1, "$")
|
||||
@@ -2697,12 +2700,12 @@ getline({lnum} [, {end}])
|
||||
< When {lnum} is smaller than 1 or bigger than the number of
|
||||
lines in the buffer, an empty string is returned.
|
||||
|
||||
When {end} is given the result is a List where each item is a
|
||||
line from the current buffer in the range {lnum} to {end},
|
||||
When {end} is given the result is a |List| where each item is
|
||||
a line from the current buffer in the range {lnum} to {end},
|
||||
including line {end}.
|
||||
{end} is used in the same way as {lnum}.
|
||||
Non-existing lines are silently omitted.
|
||||
When {end} is before {lnum} an empty List is returned.
|
||||
When {end} is before {lnum} an empty |List| is returned.
|
||||
Example: >
|
||||
:let start = line('.')
|
||||
:let end = search("^$") - 1
|
||||
@@ -2829,8 +2832,8 @@ has({feature}) The result is a Number, which is 1 if the feature {feature} is
|
||||
|
||||
|
||||
has_key({dict}, {key}) *has_key()*
|
||||
The result is a Number, which is 1 if Dictionary {dict} has an
|
||||
entry with key {key}. Zero otherwise.
|
||||
The result is a Number, which is 1 if |Dictionary| {dict} has
|
||||
an entry with key {key}. Zero otherwise.
|
||||
|
||||
|
||||
hasmapto({what} [, {mode}]) *hasmapto()*
|
||||
@@ -2982,7 +2985,7 @@ indent({lnum}) The result is a Number, which is indent of line {lnum} in the
|
||||
|
||||
|
||||
index({list}, {expr} [, {start} [, {ic}]]) *index()*
|
||||
Return the lowest index in List {list} where the item has a
|
||||
Return the lowest index in |List| {list} where the item has a
|
||||
value equal to {expr}.
|
||||
If {start} is given then start looking at the item with index
|
||||
{start} (may be negative for an item relative to the end).
|
||||
@@ -3093,18 +3096,18 @@ inputsecret({prompt} [, {text}]) *inputsecret()*
|
||||
NOTE: Command-line completion is not supported.
|
||||
|
||||
insert({list}, {item} [, {idx}]) *insert()*
|
||||
Insert {item} at the start of List {list}.
|
||||
Insert {item} at the start of |List| {list}.
|
||||
If {idx} is specified insert {item} before the item with index
|
||||
{idx}. If {idx} is zero it goes before the first item, just
|
||||
like omitting {idx}. A negative {idx} is also possible, see
|
||||
|list-index|. -1 inserts just before the last item.
|
||||
Returns the resulting List. Examples: >
|
||||
Returns the resulting |List|. Examples: >
|
||||
:let mylist = insert([2, 3, 5], 1)
|
||||
:call insert(mylist, 4, -1)
|
||||
:call insert(mylist, 6, len(mylist))
|
||||
< The last example can be done simpler with |add()|.
|
||||
Note that when {item} is a List it is inserted as a single
|
||||
item. Use |extend()| to concatenate Lists.
|
||||
Note that when {item} is a |List| it is inserted as a single
|
||||
item. Use |extend()| to concatenate |List|s.
|
||||
|
||||
isdirectory({directory}) *isdirectory()*
|
||||
The result is a Number, which is non-zero when a directory
|
||||
@@ -3115,8 +3118,8 @@ isdirectory({directory}) *isdirectory()*
|
||||
islocked({expr}) *islocked()*
|
||||
The result is a Number, which is non-zero when {expr} is the
|
||||
name of a locked variable.
|
||||
{expr} must be the name of a variable, List item or Dictionary
|
||||
entry, not the variable itself! Example: >
|
||||
{expr} must be the name of a variable, |List| item or
|
||||
|Dictionary| entry, not the variable itself! Example: >
|
||||
:let alist = [0, ['a', 'b'], 2, 3]
|
||||
:lockvar 1 alist
|
||||
:echo islocked('alist') " 1
|
||||
@@ -3126,9 +3129,10 @@ islocked({expr}) *islocked()*
|
||||
message. Use |exists()| to check for existance.
|
||||
|
||||
items({dict}) *items()*
|
||||
Return a List with all the key-value pairs of {dict}. Each
|
||||
List item is a list with two items: the key of a {dict} entry
|
||||
and the value of this entry. The List is in arbitrary order.
|
||||
Return a |List| with all the key-value pairs of {dict}. Each
|
||||
|List| item is a list with two items: the key of a {dict}
|
||||
entry and the value of this entry. The |List| is in arbitrary
|
||||
order.
|
||||
|
||||
|
||||
join({list} [, {sep}]) *join()*
|
||||
@@ -3138,22 +3142,22 @@ join({list} [, {sep}]) *join()*
|
||||
Note that {sep} is not added at the end. You might want to
|
||||
add it there too: >
|
||||
let lines = join(mylist, "\n") . "\n"
|
||||
< String items are used as-is. Lists and Dictionaries are
|
||||
< String items are used as-is. |List|s and Dictionaries are
|
||||
converted into a string like with |string()|.
|
||||
The opposite function is |split()|.
|
||||
|
||||
keys({dict}) *keys()*
|
||||
Return a List with all the keys of {dict}. The List is in
|
||||
Return a |List| with all the keys of {dict}. The |List| is in
|
||||
arbitrary order.
|
||||
|
||||
*len()* *E701*
|
||||
len({expr}) The result is a Number, which is the length of the argument.
|
||||
When {expr} is a String or a Number the length in bytes is
|
||||
used, as with |strlen()|.
|
||||
When {expr} is a List the number of items in the List is
|
||||
When {expr} is a |List| the number of items in the |List| is
|
||||
returned.
|
||||
When {expr} is a Dictionary the number of entries in the
|
||||
Dictionary is returned.
|
||||
When {expr} is a |Dictionary| the number of entries in the
|
||||
|Dictionary| is returned.
|
||||
Otherwise an error is given.
|
||||
|
||||
*libcall()* *E364* *E368*
|
||||
@@ -3259,11 +3263,11 @@ localtime() *localtime()*
|
||||
|
||||
|
||||
map({expr}, {string}) *map()*
|
||||
{expr} must be a List or a Dictionary.
|
||||
{expr} must be a |List| or a |Dictionary|.
|
||||
Replace each item in {expr} with the result of evaluating
|
||||
{string}.
|
||||
Inside {string} |v:val| has the value of the current item.
|
||||
For a Dictionary |v:key| has the key of the current item.
|
||||
For a |Dictionary| |v:key| has the key of the current item.
|
||||
Example: >
|
||||
:call map(mylist, '"> " . v:val . " <"')
|
||||
< This puts "> " before and " <" after each item in "mylist".
|
||||
@@ -3273,11 +3277,11 @@ map({expr}, {string}) *map()*
|
||||
|literal-string| to avoid having to double backslashes. You
|
||||
still have to double ' quotes
|
||||
|
||||
The operation is done in-place. If you want a List or
|
||||
Dictionary to remain unmodified make a copy first: >
|
||||
The operation is done in-place. If you want a |List| or
|
||||
|Dictionary| to remain unmodified make a copy first: >
|
||||
:let tlist = map(copy(mylist), ' & . "\t"')
|
||||
|
||||
< Returns {expr}, the List or Dictionary that was filtered.
|
||||
< Returns {expr}, the |List| or |Dictionary| that was filtered.
|
||||
When an error is encountered while evaluating {string} no
|
||||
further items in {expr} are processed.
|
||||
|
||||
@@ -3335,13 +3339,13 @@ mapcheck({name}[, {mode}]) *mapcheck()*
|
||||
mapping for "_v" or for "_vvv".
|
||||
|
||||
match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
||||
When {expr} is a List then this returns the index of the first
|
||||
item where {pat} matches. Each item is used as a String,
|
||||
Lists and Dictionaries are used as echoed.
|
||||
When {expr} is a |List| then this returns the index of the
|
||||
first item where {pat} matches. Each item is used as a
|
||||
String, |List|s and Dictionaries are used as echoed.
|
||||
Otherwise, {expr} is used as a String. The result is a
|
||||
Number, which gives the index (byte offset) in {expr} where
|
||||
{pat} matches.
|
||||
A match at the first character or List item returns zero.
|
||||
A match at the first character or |List| item returns zero.
|
||||
If there is no match -1 is returned.
|
||||
Example: >
|
||||
:echo match("testing", "ing") " results in 4
|
||||
@@ -3359,10 +3363,10 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
||||
is found in a String the search for the next one starts on
|
||||
character further. Thus this example results in 1: >
|
||||
echo match("testing", "..", 0, 2)
|
||||
< In a List the search continues in the next item.
|
||||
< In a |List| the search continues in the next item.
|
||||
|
||||
If {start} is given, the search starts from byte index
|
||||
{start} in a String or item {start} in a List.
|
||||
{start} in a String or item {start} in a |List|.
|
||||
The result, however, is still the index counted from the
|
||||
first character/item. Example: >
|
||||
:echo match("testing", "ing", 2)
|
||||
@@ -3374,7 +3378,7 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
||||
For a String, if {start} < 0, it will be set to 0. For a list
|
||||
the index is counted from the end.
|
||||
If {start} is out of range (> strlen({expr} for a String or
|
||||
> len({expr} for a List) -1 is returned.
|
||||
> len({expr} for a |List|) -1 is returned.
|
||||
|
||||
See |pattern| for the patterns that are accepted.
|
||||
The 'ignorecase' option is used to set the ignore-caseness of
|
||||
@@ -3398,10 +3402,10 @@ matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
|
||||
< results in "7". >
|
||||
:echo matchend("testing", "ing", 5)
|
||||
< result is "-1".
|
||||
When {expr} is a List the result is equal to match().
|
||||
When {expr} is a |List| the result is equal to match().
|
||||
|
||||
matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
|
||||
Same as match(), but return a List. The first item in the
|
||||
Same as match(), but return a |List|. The first item in the
|
||||
list is the matched string, same as what matchstr() would
|
||||
return. Following items are submatches, like "\1", "\2", etc.
|
||||
in |:substitute|.
|
||||
@@ -3417,20 +3421,20 @@ matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
|
||||
< results in "ing". >
|
||||
:echo matchstr("testing", "ing", 5)
|
||||
< result is "".
|
||||
When {expr} is a List then the matching item is returned.
|
||||
When {expr} is a |List| then the matching item is returned.
|
||||
The type isn't changed, it's not necessarily a String.
|
||||
|
||||
*max()*
|
||||
max({list}) Return the maximum value of all items in {list}.
|
||||
If {list} is not a list or one of the items in {list} cannot
|
||||
be used as a Number this results in an error.
|
||||
An empty List results in zero.
|
||||
An empty |List| results in zero.
|
||||
|
||||
*min()*
|
||||
min({list}) Return the minumum value of all items in {list}.
|
||||
If {list} is not a list or one of the items in {list} cannot
|
||||
be used as a Number this results in an error.
|
||||
An empty List results in zero.
|
||||
An empty |List| results in zero.
|
||||
|
||||
*mkdir()* *E749*
|
||||
mkdir({name} [, {path} [, {prot}]])
|
||||
@@ -3624,7 +3628,7 @@ pumvisible() *pumvisible()*
|
||||
|
||||
*E726* *E727*
|
||||
range({expr} [, {max} [, {stride}]]) *range()*
|
||||
Returns a List with Numbers:
|
||||
Returns a |List| with Numbers:
|
||||
- If only {expr} is specified: [0, 1, ..., {expr} - 1]
|
||||
- If {max} is specified: [{expr}, {expr} + 1, ..., {max}]
|
||||
- If {stride} is specified: [{expr}, {expr} + {stride}, ...,
|
||||
@@ -3643,8 +3647,8 @@ range({expr} [, {max} [, {stride}]]) *range()*
|
||||
<
|
||||
*readfile()*
|
||||
readfile({fname} [, {binary} [, {max}]])
|
||||
Read file {fname} and return a List, each line of the file as
|
||||
an item. Lines broken at NL characters. Macintosh files
|
||||
Read file {fname} and return a |List|, each line of the file
|
||||
as an item. Lines broken at NL characters. Macintosh files
|
||||
separated with CR will result in a single long line (unless a
|
||||
NL appears somewhere).
|
||||
When {binary} is equal to "b" binary mode is used:
|
||||
@@ -3748,7 +3752,7 @@ remote_send({server}, {string} [, {idvar}])
|
||||
\ 'server2client(expand("<client>"), "HELLO")<CR>')
|
||||
<
|
||||
remove({list}, {idx} [, {end}]) *remove()*
|
||||
Without {end}: Remove the item at {idx} from List {list} and
|
||||
Without {end}: Remove the item at {idx} from |List| {list} and
|
||||
return it.
|
||||
With {end}: Remove items from {idx} to {end} (inclusive) and
|
||||
return a list with these items. When {idx} points to the same
|
||||
@@ -3777,7 +3781,7 @@ repeat({expr}, {count}) *repeat()*
|
||||
result. Example: >
|
||||
:let seperator = repeat('-', 80)
|
||||
< When {count} is zero or negative the result is empty.
|
||||
When {expr} is a List the result is {expr} concatenated
|
||||
When {expr} is a |List| the result is {expr} concatenated
|
||||
{count} times. Example: >
|
||||
:let longlist = repeat(['a', 'b'], 3)
|
||||
< Results in ['a', 'b', 'a', 'b', 'a', 'b'].
|
||||
@@ -3940,9 +3944,9 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip}]])
|
||||
<
|
||||
*searchpairpos()*
|
||||
searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}]])
|
||||
Same as searchpair(), but returns a List with the line and
|
||||
column position of the match. The first element of the List is
|
||||
the line number and the second element is the byte index of
|
||||
Same as searchpair(), but returns a |List| with the line and
|
||||
column position of the match. The first element of the |List|
|
||||
is the line number and the second element is the byte index of
|
||||
the column position of the match. If no match is found,
|
||||
returns [0, 0].
|
||||
>
|
||||
@@ -3951,11 +3955,11 @@ searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}]])
|
||||
See |match-parens| for a bigger and more useful example.
|
||||
|
||||
searchpos({pattern} [, {flags}]) *searchpos()*
|
||||
Same as search(), but returns a List with the line and column
|
||||
position of the match. The first element of the List is the
|
||||
line number and the second element is the byte index of the
|
||||
column position of the match. If no match is found, returns
|
||||
[0, 0].
|
||||
Same as search(), but returns a |List| with the line and
|
||||
column position of the match. The first element of the |List|
|
||||
is the line number and the second element is the byte index of
|
||||
the column position of the match. If no match is found,
|
||||
returns [0, 0].
|
||||
>
|
||||
:let [lnum,col] = searchpos('mypattern', 'n')
|
||||
<
|
||||
@@ -4015,7 +4019,7 @@ setline({lnum}, {line}) *setline()*
|
||||
If this succeeds, 0 is returned. If this fails (most likely
|
||||
because {lnum} is invalid) 1 is returned. Example: >
|
||||
:call setline(5, strftime("%c"))
|
||||
< When {line} is a List then line {lnum} and following lines
|
||||
< When {line} is a |List| then line {lnum} and following lines
|
||||
will be set to the items in the list. Example: >
|
||||
:call setline(5, ['aaa', 'bbb', 'ccc'])
|
||||
< This is equivalent to: >
|
||||
@@ -4138,11 +4142,11 @@ sort({list} [, {func}]) *sort()* *E702*
|
||||
want a list to remain unmodified make a copy first: >
|
||||
:let sortedlist = sort(copy(mylist))
|
||||
< Uses the string representation of each item to sort on.
|
||||
Numbers sort after Strings, Lists after Numbers.
|
||||
Numbers sort after Strings, |List|s after Numbers.
|
||||
For sorting text in the current buffer use |:sort|.
|
||||
When {func} is given and it is one then case is ignored.
|
||||
When {func} is a Funcref or a function name, this function is
|
||||
called to compare items. The function is invoked with two
|
||||
When {func} is a |Funcref| or a function name, this function
|
||||
is called to compare items. The function is invoked with two
|
||||
items as argument and must return zero if they are equal, 1 if
|
||||
the first one sorts after the second one, -1 if the first one
|
||||
sorts before the second one. Example: >
|
||||
@@ -4189,7 +4193,7 @@ spellbadword([{sentence}])
|
||||
|
||||
*spellsuggest()*
|
||||
spellsuggest({word} [, {max} [, {capital}]])
|
||||
Return a List with spelling suggestions to replace {word}.
|
||||
Return a |List| with spelling suggestions to replace {word}.
|
||||
When {max} is given up to this number of suggestions are
|
||||
returned. Otherwise up to 25 suggestions are returned.
|
||||
|
||||
@@ -4212,8 +4216,9 @@ spellsuggest({word} [, {max} [, {capital}]])
|
||||
|
||||
|
||||
split({expr} [, {pattern} [, {keepempty}]]) *split()*
|
||||
Make a List out of {expr}. When {pattern} is omitted or empty
|
||||
each white-separated sequence of characters becomes an item.
|
||||
Make a |List| out of {expr}. When {pattern} is omitted or
|
||||
empty each white-separated sequence of characters becomes an
|
||||
item.
|
||||
Otherwise the string is split where {pattern} matches,
|
||||
removing the matched characters.
|
||||
When the first or last item is empty it is omitted, unless the
|
||||
@@ -4454,7 +4459,7 @@ system({expr} [, {input}]) *system()* *E677*
|
||||
|
||||
|
||||
tabpagebuflist([{arg}]) *tabpagebuflist()*
|
||||
The result is a List, where each item is the number of the
|
||||
The result is a |List|, where each item is the number of the
|
||||
buffer associated with each window in the current tab page.
|
||||
{arg} specifies the number of tab page to be used. When
|
||||
omitted the current tab page is used.
|
||||
@@ -4525,8 +4530,8 @@ taglist({expr}) *taglist()*
|
||||
the tags file generated by the different ctags tools.
|
||||
|
||||
*tagfiles()*
|
||||
tagfiles() Returns a List with the file names used to search for tags for
|
||||
the current buffer. This is the 'tags' option expanded.
|
||||
tagfiles() Returns a |List| with the file names used to search for tags
|
||||
for the current buffer. This is the 'tags' option expanded.
|
||||
|
||||
|
||||
tempname() *tempname()* *temp-file-name*
|
||||
@@ -4581,8 +4586,8 @@ type({expr}) The result is a Number, depending on the type of {expr}:
|
||||
:if type(myvar) == type({})
|
||||
|
||||
values({dict}) *values()*
|
||||
Return a List with all the values of {dict}. The List is in
|
||||
arbitrary order.
|
||||
Return a |List| with all the values of {dict}. The |List| is
|
||||
in arbitrary order.
|
||||
|
||||
|
||||
virtcol({expr}) *virtcol()*
|
||||
@@ -4593,6 +4598,8 @@ virtcol({expr}) *virtcol()*
|
||||
position, the returned Number will be the column at the end of
|
||||
the <Tab>. For example, for a <Tab> in column 1, with 'ts'
|
||||
set to 8, it returns 8.
|
||||
For the use of {expr} see |col()|. Additionally you can use
|
||||
[lnum, col]: a |List| with the line and column number.
|
||||
For the byte position use |col()|.
|
||||
When Virtual editing is active in the current mode, a position
|
||||
beyond the end of the line can be returned. |'virtualedit'|
|
||||
@@ -4688,7 +4695,7 @@ winwidth({nr}) *winwidth()*
|
||||
<
|
||||
*writefile()*
|
||||
writefile({list}, {fname} [, {binary}])
|
||||
Write List {list} to file {fname}. Each list item is
|
||||
Write |List| {list} to file {fname}. Each list item is
|
||||
separated with a NL. Each list item must be a String or
|
||||
Number.
|
||||
When {binary} is equal to "b" binary mode is used: There will
|
||||
@@ -4930,8 +4937,8 @@ instead of "s:" when the mapping is expanded outside of the script.
|
||||
:fu[nction] List all functions and their arguments.
|
||||
|
||||
:fu[nction] {name} List function {name}.
|
||||
{name} can also be a Dictionary entry that is a
|
||||
Funcref: >
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init
|
||||
|
||||
:fu[nction] /{pattern} List functions with a name matching {pattern}.
|
||||
@@ -4954,8 +4961,8 @@ See |:verbose-cmd| for more information.
|
||||
must be made of alphanumeric characters and '_', and
|
||||
must start with a capital or "s:" (see above).
|
||||
|
||||
{name} can also be a Dictionary entry that is a
|
||||
Funcref: >
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:function dict.init(arg)
|
||||
< "dict" must be an existing dictionary. The entry
|
||||
"init" is added if it didn't exist yet. Otherwise [!]
|
||||
@@ -4983,7 +4990,7 @@ See |:verbose-cmd| for more information.
|
||||
abort as soon as an error is detected.
|
||||
|
||||
When the [dict] argument is added, the function must
|
||||
be invoked through an entry in a Dictionary. The
|
||||
be invoked through an entry in a |Dictionary|. The
|
||||
local variable "self" will then be set to the
|
||||
dictionary. See |Dictionary-function|.
|
||||
|
||||
@@ -4996,8 +5003,8 @@ See |:verbose-cmd| for more information.
|
||||
|
||||
*:delf* *:delfunction* *E130* *E131*
|
||||
:delf[unction] {name} Delete function {name}.
|
||||
{name} can also be a Dictionary entry that is a
|
||||
Funcref: >
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
:delfunc dict.init
|
||||
< This will remove the "init" entry from "dict". The
|
||||
function is deleted if there are no more references to
|
||||
@@ -5026,14 +5033,14 @@ Up to 20 arguments can be given, separated by commas. After the named
|
||||
arguments an argument "..." can be specified, which means that more arguments
|
||||
may optionally be following. In the function the extra arguments can be used
|
||||
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
||||
can be 0). "a:000" is set to a List that contains these arguments. Note that
|
||||
"a:1" is the same as "a:000[0]".
|
||||
can be 0). "a:000" is set to a |List| that contains these arguments. Note
|
||||
that "a:1" is the same as "a:000[0]".
|
||||
*E742*
|
||||
The a: scope and the variables in it cannot be changed, they are fixed.
|
||||
However, if a List or Dictionary is used, you can changes their contents.
|
||||
Thus you can pass a List to a function and have the function add an item to
|
||||
it. If you want to make sure the function cannot change a List or Dictionary
|
||||
use |:lockvar|.
|
||||
However, if a |List| or |Dictionary| is used, you can changes their contents.
|
||||
Thus you can pass a |List| to a function and have the function add an item to
|
||||
it. If you want to make sure the function cannot change a |List| or
|
||||
|Dictionary| use |:lockvar|.
|
||||
|
||||
When not using "...", the number of arguments in a function call must be equal
|
||||
to the number of named arguments. When using "...", the number of arguments
|
||||
@@ -5269,8 +5276,8 @@ This would call the function "my_func_whizz(parameter)".
|
||||
|
||||
*E711* *E719*
|
||||
:let {var-name}[{idx1}:{idx2}] = {expr1} *E708* *E709* *E710*
|
||||
Set a sequence of items in a List to the result of the
|
||||
expression {expr1}, which must be a list with the
|
||||
Set a sequence of items in a |List| to the result of
|
||||
the expression {expr1}, which must be a list with the
|
||||
correct number of items.
|
||||
{idx1} can be omitted, zero is used instead.
|
||||
{idx2} can be omitted, meaning the end of the list.
|
||||
@@ -5345,11 +5352,11 @@ This would call the function "my_func_whizz(parameter)".
|
||||
(if there is one). Works like |:setglobal|.
|
||||
|
||||
:let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688*
|
||||
{expr1} must evaluate to a List. The first item in
|
||||
{expr1} must evaluate to a |List|. The first item in
|
||||
the list is assigned to {name1}, the second item to
|
||||
{name2}, etc.
|
||||
The number of names must match the number of items in
|
||||
the List.
|
||||
the |List|.
|
||||
Each name can be one of the items of the ":let"
|
||||
command as mentioned above.
|
||||
Example: >
|
||||
@@ -5367,10 +5374,10 @@ This would call the function "my_func_whizz(parameter)".
|
||||
:let [{name1}, {name2}, ...] += {expr1}
|
||||
:let [{name1}, {name2}, ...] -= {expr1}
|
||||
Like above, but append/add/subtract the value for each
|
||||
List item.
|
||||
|List| item.
|
||||
|
||||
:let [{name}, ..., ; {lastname}] = {expr1}
|
||||
Like |:let-unpack| above, but the List may have more
|
||||
Like |:let-unpack| above, but the |List| may have more
|
||||
items than there are names. A list of the remaining
|
||||
items is assigned to {lastname}. If there are no
|
||||
remaining items {lastname} is set to an empty list.
|
||||
@@ -5381,7 +5388,7 @@ This would call the function "my_func_whizz(parameter)".
|
||||
:let [{name}, ..., ; {lastname}] += {expr1}
|
||||
:let [{name}, ..., ; {lastname}] -= {expr1}
|
||||
Like above, but append/add/subtract the value for each
|
||||
List item.
|
||||
|List| item.
|
||||
*E106*
|
||||
:let {var-name} .. List the value of variable {var-name}. Multiple
|
||||
variable names may be given. Special names recognized
|
||||
@@ -5401,13 +5408,13 @@ This would call the function "my_func_whizz(parameter)".
|
||||
:unl[et][!] {name} ... *:unlet* *:unl* *E108*
|
||||
Remove the internal variable {name}. Several variable
|
||||
names can be given, they are all removed. The name
|
||||
may also be a List or Dictionary item.
|
||||
may also be a |List| or |Dictionary| item.
|
||||
With [!] no error message is given for non-existing
|
||||
variables.
|
||||
One or more items from a List can be removed: >
|
||||
One or more items from a |List| can be removed: >
|
||||
:unlet list[3] " remove fourth item
|
||||
:unlet list[3:] " remove fourth item to last
|
||||
< One item from a Dictionary can be removed at a time: >
|
||||
< One item from a |Dictionary| can be removed at a time: >
|
||||
:unlet dict['two']
|
||||
:unlet dict.two
|
||||
|
||||
@@ -5422,28 +5429,30 @@ This would call the function "my_func_whizz(parameter)".
|
||||
If you try to change a locked variable you get an
|
||||
error message: "E741: Value of {name} is locked"
|
||||
|
||||
[depth] is relevant when locking a List or Dictionary.
|
||||
It specifies how deep the locking goes:
|
||||
1 Lock the List or Dictionary itself,
|
||||
[depth] is relevant when locking a |List| or
|
||||
|Dictionary|. It specifies how deep the locking goes:
|
||||
1 Lock the |List| or |Dictionary| itself,
|
||||
cannot add or remove items, but can
|
||||
still change their values.
|
||||
2 Also lock the values, cannot change
|
||||
the items. If an item is a List or
|
||||
Dictionary, cannot add or remove
|
||||
the items. If an item is a |List| or
|
||||
|Dictionary|, cannot add or remove
|
||||
items, but can still change the
|
||||
values.
|
||||
3 Like 2 but for the List/Dictionary in
|
||||
the List/Dictionary, one level deeper.
|
||||
The default [depth] is 2, thus when {name} is a List
|
||||
or Dictionary the values cannot be changed.
|
||||
3 Like 2 but for the |List| /
|
||||
|Dictionary| in the |List| /
|
||||
|Dictionary|, one level deeper.
|
||||
The default [depth] is 2, thus when {name} is a |List|
|
||||
or |Dictionary| the values cannot be changed.
|
||||
*E743*
|
||||
For unlimited depth use [!] and omit [depth].
|
||||
However, there is a maximum depth of 100 to catch
|
||||
loops.
|
||||
|
||||
Note that when two variables refer to the same List
|
||||
and you lock one of them, the List will also be locked
|
||||
when used through the other variable. Example: >
|
||||
Note that when two variables refer to the same |List|
|
||||
and you lock one of them, the |List| will also be
|
||||
locked when used through the other variable. Example:
|
||||
>
|
||||
:let l = [0, 1, 2, 3]
|
||||
:let cl = l
|
||||
:lockvar l
|
||||
|
||||
Reference in New Issue
Block a user