summaryrefslogtreecommitdiff
path: root/runtime/doc/eval.txt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/eval.txt')
-rw-r--r--runtime/doc/eval.txt63
1 files changed, 33 insertions, 30 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0a9f90c45..b8ad7a96b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*eval.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -149,7 +149,7 @@ Examples: >
:let emptylist = []
An item can be any expression. Using a List for an item creates a
-nested List: >
+List of Lists: >
:let nestlist = [[11, 12], [21, 22], [31, 32]]
An extra comma after the last item is ignored.
@@ -192,22 +192,20 @@ separated by a colon in square brackets: >
:let shortlist = mylist[2:-1] " get List [3, "four"]
Omitting the first index is similar to zero. Omitting the last index is
-similar to -1. The difference is that there is no error if the items are not
-available. >
+similar to -1.
:let endlist = mylist[2:] " from item 2 to the end: [3, "four"]
:let shortlist = mylist[2:2] " List with one item: [3]
:let otherlist = mylist[:] " make a copy of the List
-If the second index is equal to or greater than the length of the list there
-is no error and the length minus one is used: >
+If the first index is beyond the last item of the List or the second item is
+before the first item, the result is an empty list. There is no error
+message.
+
+If the second index is equal to or greater than the length of the list the
+length minus one is used: >
:let mylist = [0, 1, 2, 3]
:echo mylist[2:8] " result: [2, 3]
-The second index can be just before the first index. In that case the result
-is an empty list. If the second index is lower, this results in an error. >
- :echo mylist[2:1] " result: []
- :echo mylist[2:0] " error!
-
NOTE: mylist[s:e] means using the variable "s:e" as index. Watch out for
using a single letter variable before the ":". Insert a space when needed:
mylist[s : e].
@@ -1557,6 +1555,7 @@ exists( {expr}) Number TRUE if {expr} exists
extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
expand( {expr}) String expand special keywords in {expr}
+feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
filereadable( {file}) Number TRUE if {file} is a readable file
filewritable( {file}) Number TRUE if {file} is a writable file
filter( {expr}, {string}) List/Dict remove items from {expr} where
@@ -1664,7 +1663,6 @@ pathshorten( {expr}) String shorten directory names in a path
prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
printf( {fmt}, {expr1}...) String format text
pumvisible() Number whether popup menu is visible
-pushkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readfile({fname} [, {binary} [, {max}]])
@@ -2457,6 +2455,25 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
Returns {expr1}.
+feedkeys({string} [, {mode}]) *feedkeys()*
+ Characters in {string} are queued for processing as if they
+ come from a mapping or where typed by user. They are added to
+ the end of the typeahead buffer, thus if a mapping is still
+ being executed these characters come after them.
+ The function does not wait for processing of keys contained in
+ {string}.
+ To include special keys into {string}, use double-quotes
+ and "\..." notation |expr-quote|. For example,
+ feedkeys("\<CR>") simulates pressing of the Enter key. But
+ feedkeys('\<CR>') pushes 5 characters.
+ If {mode} is absent, keys are remapped.
+ {mode} is a String, which can contain these character flags:
+ 'm' remap keys. This is default.
+ 'n' do not remap keys
+ 't' handle keys as if typed; otherwise they are handled as
+ if coming from a mapping
+ Return value is always 0.
+
filereadable({file}) *filereadable()*
The result is a Number, which is TRUE when a file with the
name {file} exists, and can be read. If {file} doesn't exist,
@@ -3549,7 +3566,10 @@ matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
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|.
+ in |:substitute|. When an optional submatch didn't match an
+ empty string is used. Example: >
+ echo matchlist('acd', '\(a\)\?\(b\)\?\(c\)\?\(.*\)')
+< Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
When there is no match an empty list is returned.
matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
@@ -3796,23 +3816,6 @@ pumvisible() *pumvisible()*
This can be used to avoid some things that would remove the
popup menu.
-pushkeys({string} [, {mode}]) *pushkeys()*
- Characters in {string} are queued for processing as if they
- were typed by user. They are added to the end of the
- typeahead buffer, thus if a mapping is still being executed
- these characters come after them.
- The function does not wait for processing of keys contained in
- {string}.
- To include special keys into {string}, use double-quotes
- and "\..." notation |expr-quote|. For example,
- pushkeys("\<CR>") simulates pressing of the Enter key. But
- pushkeys('\<CR>') pushes 5 characters.
- If {mode} is absent, keys are remapped.
- {mode} is a String, which can contain these character flags:
- 'm' remap keys. This is default.
- 'n' do not remap keys
- Return value is always 0.
-
*E726* *E727*
range({expr} [, {max} [, {stride}]]) *range()*
Returns a |List| with Numbers: