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.txt64
1 files changed, 58 insertions, 6 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 028aa089f..1838a8225 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0aa. Last change: 2005 Feb 21
+*eval.txt* For Vim version 7.0aa. Last change: 2005 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -961,7 +961,7 @@ variable internal variable
See below |internal-variables|.
-function call *expr-function* *E116* *E117* *E118* *E119* *E120*
+function call *expr-function* *E116* *E118* *E119* *E120*
-------------
function(expr1, ...) function call
See below |functions|.
@@ -1270,6 +1270,10 @@ v:prevcount The count given for the last but one Normal mode command.
:vmap % <Esc>:call MyFilter(v:prevcount)<CR>
< Read-only.
+ *v:profiling* *profiling-variable*
+v:profiling Normally zero. Set to one after using ":profile start".
+ See |profiling|.
+
*v:progname* *progname-variable*
v:progname Contains the name (with path removed) with which Vim was
invoked. Allows you to do special initialisations for "view",
@@ -1396,6 +1400,7 @@ did_filetype() Number TRUE if FileType autocommand event used
diff_filler( {lnum}) Number diff filler lines about {lnum}
diff_hlID( {lnum}, {col}) Number diff highlighting at {lnum}/{col}
empty( {expr}) Number TRUE if {expr} is empty
+errorlist() List list of quickfix items
escape( {string}, {chars}) String escape {chars} in {string} with '\'
eval( {string}) any evaluate {string} into its value
eventhandler( ) Number TRUE if inside an event handler
@@ -1965,6 +1970,28 @@ empty({expr}) *empty()*
For a long List this is much faster then comparing the length
with zero.
+errorlist() *errorlist()*
+ Returns a list with all the current quickfix errors. Each
+ list item is a dictionary with these entries:
+ bufnr number of buffer that has the file name, use
+ bufname() to get the name
+ lnum line number in the buffer (first line is 1)
+ col column number (first column is 1)
+ vcol non-zero: column number is visual column
+ zero: column number is byte index
+ nr error number
+ text description of the error
+ type type of the error, 'E', '1', etc.
+ valid non-zero: recognized error message
+
+ Useful application: Find pattern matches in multiple files and
+ do something with them: >
+ :vimgrep /theword/jg *.c
+ :for d in errorlist()
+ : echo bufname(d.bufnr) ':' d.lnum '=' d.text
+ :endfor
+
+
escape({string}, {chars}) *escape()*
Escape the characters in {chars} that occur in {string} with a
backslash. Example: >
@@ -3031,7 +3058,14 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
:echo match("testing", "ing") " results in 4
:echo match([1, 'x'], '\a') " results in 2
< See |string-match| for how {pat} is used.
-
+ *strpbrk()*
+ Vim doesn't have a strpbrk() function. But you can do: >
+ :let sepidx = match(line, '[.,;: \t]')
+< *strcasestr()*
+ Vim doesn't have a strcasestr() function. But you can add
+ "\c" to the pattern to ignore case: >
+ :let idx = match(haystack, '\cneedle')
+<
When {count} is given use the {count}'th match. When a match
is found in a String the search for the next one starts on
character further. Thus this example results in 1: >
@@ -3063,6 +3097,13 @@ matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
the match. Example: >
:echo matchend("testing", "ing")
< results in "7".
+ *strspn()* *strcspn()*
+ Vim doesn't have a strspn() or strcspn() function, but you can
+ do it with matchend(): >
+ :let span = matchend(line, '[a-zA-Z]')
+ :let span = matchend(line, '[^a-zA-Z]')
+< Except that -1 is returned when there are no matches.
+
The {start}, if given, has the same meaning as for match(). >
:echo matchend("testing", "ing", 2)
< results in "7". >
@@ -3620,7 +3661,10 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
:echo stridx("An Example", "Example") 3
:echo stridx("Starting point", "Start") 0
:echo stridx("Starting point", "start") -1
-<
+< *strstr()* *strchr()*
+ stridx() works similar to the C function strstr(). When used
+ with a single character it works similar to strchr().
+
*string()*
string({expr}) Return {expr} converted to a String. If {expr} is a Number,
String or a composition of them, then the result can be parsed
@@ -3673,7 +3717,10 @@ strridx({haystack}, {needle} [, {start}]) *strridx()*
If the {needle} is empty the length of {haystack} is returned.
See also |stridx()|. Examples: >
:echo strridx("an angry armadillo", "an") 3
-<
+< *strrchr()*
+ When used with a single character it works similar to the C
+ function strrchr().
+
strtrans({expr}) *strtrans()*
The result is a String, which is {expr} with all unprintable
characters translated into printable characters |'isprint'|.
@@ -3769,7 +3816,7 @@ system({expr} [, {input}]) *system()* *E677*
When {input} is given, this string is written to a file and
passed as stdin to the command. The string is written as-is,
you need to take care of using the correct line separators
- yourself.
+ yourself. Pipes are not used.
Note: newlines in {expr} may cause the command to fail. The
characters in 'shellquote' and 'shellxquote' may also cause
trouble.
@@ -4081,6 +4128,7 @@ path_extra Compiled with up/downwards search in 'path' and 'tags'
perl Compiled with Perl interface.
postscript Compiled with PostScript file printing.
printer Compiled with |:hardcopy| support.
+profile Compiled with |:profile| support.
python Compiled with Python interface.
qnx QNX version of Vim.
quickfix Compiled with |quickfix| support.
@@ -4384,6 +4432,8 @@ the "autoload" directory in 'runtimepath'.
Using an autocommand ~
+This is introduced in the user manual, section |41.14|.
+
The autocommand is useful if you have a plugin that is a long Vim script file.
You can define the autocommand and quickly quit the script with |:finish|.
That makes Vim startup faster. The autocommand should then load the same file
@@ -4400,6 +4450,8 @@ The file "~/vim/bufnetfuncs.vim" should then define functions that start with
Using an autoload script ~
*autoload* *E746*
+This is introduced in the user manual, section |41.15|.
+
Using a script in the "autoload" directory is simpler, but requires using
exactly the right file name. A function that can be autoloaded has a name
like this: >