Mercurial > vim
diff runtime/doc/eval.txt @ 133:bcb347a8f934
updated for version 7.0044
author | vimboss |
---|---|
date | Tue, 25 Jan 2005 22:12:55 +0000 |
parents | f67f8a8d81ba |
children | 8ecb0db93e9a |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0aa. Last change: 2005 Jan 20 +*eval.txt* For Vim version 7.0aa. Last change: 2005 Jan 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -992,6 +992,12 @@ 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: > + :for k in keys(s:) + : unlet s:[k] + :endfor +< *buffer-variable* *b:var* A variable name that is preceded with "b:" is local to the current buffer. Thus you can have several "b:foo" variables, one for each buffer. @@ -1507,7 +1513,8 @@ simplify( {filename}) String simplify f sort( {list} [, {func}]) List sort {list}, using {func} to compare split( {expr} [, {pat}]) List make List from {pat} separated {expr} strftime( {format}[, {time}]) String time in specified format -stridx( {haystack}, {needle}) Number first index of {needle} in {haystack} +stridx( {haystack}, {needle}[, {start}]) + Number index of {needle} in {haystack} string( {expr}) String String representation of {expr} value strlen( {expr}) Number length of the String {expr} strpart( {src}, {start}[, {len}]) @@ -3507,12 +3514,14 @@ strftime({format} [, {time}]) *strfti < Not available on all systems. To check use: > :if exists("*strftime") -stridx({haystack}, {needle}) *stridx()* - The result is a Number, which gives the index in {haystack} of - the first occurrence of the String {needle} in the String - {haystack}. The search is done case-sensitive. For advanced - searches use |match()|. - If the {needle} does not occur in {haystack} it returns -1. +stridx({haystack}, {needle} [, {start}]) *stridx()* + The result is a Number, which gives the byte index in + {haystack} of the first occurrence of the String {needle}. + If {start} is specified, the String {needle} is searched from + the byte index {start} in the String {haystack}. + The search is done case-sensitive. + For pattern searches use |match()|. + -1 is returned if the {needle} does not occur in {haystack}. See also |strridx()|. Examples: > :echo stridx("An Example", "Example") 3 :echo stridx("Starting point", "Start") 0 @@ -3558,10 +3567,10 @@ strpart({src}, {start}[, {len}]) *strp < strridx({haystack}, {needle}) *strridx()* The result is a Number, which gives the index in {haystack} of - the last occurrence of the String {needle} in the String - {haystack}. The search is done case-sensitive. For advanced - searches use |match()|. - If the {needle} does not occur in {haystack} it returns -1. + the last occurrence of the String {needle}. + The search is done case-sensitive. + For pattern searches use |match()|. + -1 is returned if the {needle} does not occur in {haystack}. If the {needle} is empty the length of {haystack} is returned. See also |stridx()|. Examples: > :echo strridx("an angry armadillo", "an") 3 @@ -4069,30 +4078,14 @@ instead of "s:" when the mapping is expa result is a |Funcref| to a numbered function. The function can only be used with a |Funcref| and will be deleted if there are no more references to it. - *function-argument* *a:var* - An argument can be defined by giving its name. In the - function this can then be used as "a:name" ("a:" for - argument). - Up to 20 arguments can be given, separated by commas. - Finally, an argument "..." can be specified, which - means that more arguments may be following. In the - function they can be used as "a:1", "a:2", etc. "a:0" - is set to the number of extra arguments (which can be - 0). - 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 - may be larger. - It is also possible to define a function without any - arguments. You must still supply the () then. - The body of the function follows in the next lines, - until the matching |:endfunction|. It is allowed to - define another function inside a function body. *E127* *E122* When a function by this name already exists and [!] is not used an error message is given. When [!] is used, an existing function is silently replaced. Unless it is currently being executed, that is an error. + + For the {arguments} see |function-argument|. + *a:firstline* *a:lastline* When the [range] argument is added, the function is expected to take care of a range itself. The range is @@ -4139,7 +4132,26 @@ instead of "s:" when the mapping is expa nested ":try"s inside the function. The function returns at the outermost ":endtry". - + *function-argument* *a:var* +An argument can be defined by giving its name. In the function this can then +be used as "a:name" ("a:" for argument). + *a:0* *a:1* *a:000* *E740* +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. + +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 +may be larger. + +It is also possible to define a function without any arguments. You must +still supply the () then. The body of the function follows in the next lines, +until the matching |:endfunction|. It is allowed to define another function +inside a function body. + + *local-variables* Inside a function variables can be used. These are local variables, which will disappear when the function returns. Global variables need to be accessed with "g:".