Update runtime files.
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
*builtin.txt* For Vim version 8.2. Last change: 2022 May 27
|
*builtin.txt* For Vim version 8.2. Last change: 2022 Jun 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -753,7 +753,7 @@ acos({expr}) *acos()*
|
|||||||
Return the arc cosine of {expr} measured in radians, as a
|
Return the arc cosine of {expr} measured in radians, as a
|
||||||
|Float| in the range of [0, pi].
|
|Float| in the range of [0, pi].
|
||||||
{expr} must evaluate to a |Float| or a |Number| in the range
|
{expr} must evaluate to a |Float| or a |Number| in the range
|
||||||
[-1, 1].
|
[-1, 1]. Otherwise acos() returns "nan".
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo acos(0)
|
:echo acos(0)
|
||||||
< 1.570796 >
|
< 1.570796 >
|
||||||
@ -775,6 +775,7 @@ add({object}, {expr}) *add()*
|
|||||||
item. Use |extend()| to concatenate |Lists|.
|
item. Use |extend()| to concatenate |Lists|.
|
||||||
When {object} is a |Blob| then {expr} must be a number.
|
When {object} is a |Blob| then {expr} must be a number.
|
||||||
Use |insert()| to add an item at another position.
|
Use |insert()| to add an item at another position.
|
||||||
|
Returns 1 if {object} is not a |List| or a |Blob|.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
mylist->add(val1)->add(val2)
|
mylist->add(val1)->add(val2)
|
||||||
@ -877,11 +878,17 @@ argv([{nr} [, {winid}]])
|
|||||||
The {winid} argument specifies the window ID, see |argc()|.
|
The {winid} argument specifies the window ID, see |argc()|.
|
||||||
For the Vim command line arguments see |v:argv|.
|
For the Vim command line arguments see |v:argv|.
|
||||||
|
|
||||||
|
Returns an empty string if {nr}th argument is not present in
|
||||||
|
the argument list. Returns an empty List if the {winid}
|
||||||
|
argument is invalid.
|
||||||
|
|
||||||
asin({expr}) *asin()*
|
asin({expr}) *asin()*
|
||||||
Return the arc sine of {expr} measured in radians, as a |Float|
|
Return the arc sine of {expr} measured in radians, as a |Float|
|
||||||
in the range of [-pi/2, pi/2].
|
in the range of [-pi/2, pi/2].
|
||||||
{expr} must evaluate to a |Float| or a |Number| in the range
|
{expr} must evaluate to a |Float| or a |Number| in the range
|
||||||
[-1, 1].
|
[-1, 1].
|
||||||
|
Returns "nan" if {expr} is outside the range [-1, 1]. Returns
|
||||||
|
0.0 if {expr} is not a |Float| or a |Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo asin(0.8)
|
:echo asin(0.8)
|
||||||
< 0.927295 >
|
< 0.927295 >
|
||||||
@ -902,6 +909,7 @@ atan({expr}) *atan()*
|
|||||||
Return the principal value of the arc tangent of {expr}, in
|
Return the principal value of the arc tangent of {expr}, in
|
||||||
the range [-pi/2, +pi/2] radians, as a |Float|.
|
the range [-pi/2, +pi/2] radians, as a |Float|.
|
||||||
{expr} must evaluate to a |Float| or a |Number|.
|
{expr} must evaluate to a |Float| or a |Number|.
|
||||||
|
Returns 0.0 if {expr} is not a |Float| or a |Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo atan(100)
|
:echo atan(100)
|
||||||
< 1.560797 >
|
< 1.560797 >
|
||||||
@ -918,6 +926,8 @@ atan2({expr1}, {expr2}) *atan2()*
|
|||||||
Return the arc tangent of {expr1} / {expr2}, measured in
|
Return the arc tangent of {expr1} / {expr2}, measured in
|
||||||
radians, as a |Float| in the range [-pi, pi].
|
radians, as a |Float| in the range [-pi, pi].
|
||||||
{expr1} and {expr2} must evaluate to a |Float| or a |Number|.
|
{expr1} and {expr2} must evaluate to a |Float| or a |Number|.
|
||||||
|
Returns 0.0 if {expr1} or {expr2} is not a |Float| or a
|
||||||
|
|Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo atan2(-1, 1)
|
:echo atan2(-1, 1)
|
||||||
< -0.785398 >
|
< -0.785398 >
|
||||||
@ -1002,7 +1012,7 @@ autocmd_delete({acmds}) *autocmd_delete()*
|
|||||||
{pattern} and {cmd} are not specified, then that autocmd group
|
{pattern} and {cmd} are not specified, then that autocmd group
|
||||||
is deleted.
|
is deleted.
|
||||||
|
|
||||||
Returns v:true on success and v:false on failure.
|
Returns |v:true| on success and |v:false| on failure.
|
||||||
Examples: >
|
Examples: >
|
||||||
" :autocmd! BufLeave *.vim
|
" :autocmd! BufLeave *.vim
|
||||||
let acmd = #{event: 'BufLeave', pattern: '*.vim'}
|
let acmd = #{event: 'BufLeave', pattern: '*.vim'}
|
||||||
@ -1060,6 +1070,9 @@ autocmd_get([{opts}]) *autocmd_get()*
|
|||||||
If there are multiple commands for an autocmd event in a
|
If there are multiple commands for an autocmd event in a
|
||||||
group, then separate items are returned for each command.
|
group, then separate items are returned for each command.
|
||||||
|
|
||||||
|
Returns an empty List if an autocmd with the specified group
|
||||||
|
or event or pattern is not found.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
" :autocmd MyGroup
|
" :autocmd MyGroup
|
||||||
echo autocmd_get(#{group: 'Mygroup'})
|
echo autocmd_get(#{group: 'Mygroup'})
|
||||||
@ -1080,7 +1093,8 @@ autocmd_get([{opts}]) *autocmd_get()*
|
|||||||
<
|
<
|
||||||
balloon_gettext() *balloon_gettext()*
|
balloon_gettext() *balloon_gettext()*
|
||||||
Return the current text in the balloon. Only for the string,
|
Return the current text in the balloon. Only for the string,
|
||||||
not used for the List.
|
not used for the List. Returns an empty string if balloon
|
||||||
|
is not present.
|
||||||
|
|
||||||
balloon_show({expr}) *balloon_show()*
|
balloon_show({expr}) *balloon_show()*
|
||||||
Show {expr} inside the balloon. For the GUI {expr} is used as
|
Show {expr} inside the balloon. For the GUI {expr} is used as
|
||||||
@ -1117,7 +1131,8 @@ balloon_split({msg}) *balloon_split()*
|
|||||||
Split String {msg} into lines to be displayed in a balloon.
|
Split String {msg} into lines to be displayed in a balloon.
|
||||||
The splits are made for the current window size and optimize
|
The splits are made for the current window size and optimize
|
||||||
to show debugger output.
|
to show debugger output.
|
||||||
Returns a |List| with the split lines.
|
Returns a |List| with the split lines. Returns an empty List
|
||||||
|
on error.
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetText()->balloon_split()->balloon_show()
|
GetText()->balloon_split()->balloon_show()
|
||||||
|
|
||||||
@ -1171,7 +1186,8 @@ bufadd({name}) *bufadd()*
|
|||||||
let bufnr = bufadd('someName')
|
let bufnr = bufadd('someName')
|
||||||
call bufload(bufnr)
|
call bufload(bufnr)
|
||||||
call setbufline(bufnr, 1, ['some', 'text'])
|
call setbufline(bufnr, 1, ['some', 'text'])
|
||||||
< Can also be used as a |method|: >
|
< Returns 0 on error.
|
||||||
|
Can also be used as a |method|: >
|
||||||
let bufnr = 'somename'->bufadd()
|
let bufnr = 'somename'->bufadd()
|
||||||
|
|
||||||
bufexists({buf}) *bufexists()*
|
bufexists({buf}) *bufexists()*
|
||||||
@ -1326,6 +1342,8 @@ byte2line({byte}) *byte2line()*
|
|||||||
one.
|
one.
|
||||||
Also see |line2byte()|, |go| and |:goto|.
|
Also see |line2byte()|, |go| and |:goto|.
|
||||||
|
|
||||||
|
Returns -1 if the {byte} value is invalid.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetOffset()->byte2line()
|
GetOffset()->byte2line()
|
||||||
|
|
||||||
@ -1397,6 +1415,8 @@ ceil({expr}) *ceil()*
|
|||||||
echo ceil(4.0)
|
echo ceil(4.0)
|
||||||
< 4.0
|
< 4.0
|
||||||
|
|
||||||
|
Returns 0.0 if {expr} is not a |Float| or a |Number|.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
Compute()->ceil()
|
Compute()->ceil()
|
||||||
<
|
<
|
||||||
@ -1413,6 +1433,7 @@ changenr() *changenr()*
|
|||||||
When a change was made it is the number of that change. After
|
When a change was made it is the number of that change. After
|
||||||
redo it is the number of the redone change. After undo it is
|
redo it is the number of the redone change. After undo it is
|
||||||
one less than the number of the undone change.
|
one less than the number of the undone change.
|
||||||
|
Returns 0 if the undo list is empty.
|
||||||
|
|
||||||
char2nr({string} [, {utf8}]) *char2nr()*
|
char2nr({string} [, {utf8}]) *char2nr()*
|
||||||
Return Number value of the first char in {string}.
|
Return Number value of the first char in {string}.
|
||||||
@ -1431,10 +1452,11 @@ char2nr({string} [, {utf8}]) *char2nr()*
|
|||||||
let list = map(split(str, '\zs'), {_, val -> char2nr(val)})
|
let list = map(split(str, '\zs'), {_, val -> char2nr(val)})
|
||||||
< Result: [65, 66, 67]
|
< Result: [65, 66, 67]
|
||||||
|
|
||||||
|
Returns 0 if {string} is not a |String|.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetChar()->char2nr()
|
GetChar()->char2nr()
|
||||||
|
|
||||||
|
|
||||||
charclass({string}) *charclass()*
|
charclass({string}) *charclass()*
|
||||||
Return the character class of the first character in {string}.
|
Return the character class of the first character in {string}.
|
||||||
The character class is one of:
|
The character class is one of:
|
||||||
@ -1444,6 +1466,7 @@ charclass({string}) *charclass()*
|
|||||||
3 emoji
|
3 emoji
|
||||||
other specific Unicode class
|
other specific Unicode class
|
||||||
The class is used in patterns and word motions.
|
The class is used in patterns and word motions.
|
||||||
|
Returns 0 if {string} is not a |String|.
|
||||||
|
|
||||||
|
|
||||||
charcol({expr}) *charcol()*
|
charcol({expr}) *charcol()*
|
||||||
@ -1555,7 +1578,7 @@ col({expr}) The result is a Number, which is the byte index of the column
|
|||||||
col("$") length of cursor line plus one
|
col("$") length of cursor line plus one
|
||||||
col("'t") column of mark t
|
col("'t") column of mark t
|
||||||
col("'" .. markname) column of mark markname
|
col("'" .. markname) column of mark markname
|
||||||
< The first column is 1. 0 is returned for an error.
|
< The first column is 1. Returns 0 if {expr} is invalid.
|
||||||
For an uppercase mark the column may actually be in another
|
For an uppercase mark the column may actually be in another
|
||||||
buffer.
|
buffer.
|
||||||
For the cursor position, when 'virtualedit' is active, the
|
For the cursor position, when 'virtualedit' is active, the
|
||||||
@ -1673,6 +1696,8 @@ complete_info([{what}]) *complete_info()*
|
|||||||
|pum_getpos()|. It's also available in |v:event| during the
|
|pum_getpos()|. It's also available in |v:event| during the
|
||||||
|CompleteChanged| event.
|
|CompleteChanged| event.
|
||||||
|
|
||||||
|
Returns an empty |Dictionary| on error.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
" Get all items
|
" Get all items
|
||||||
call complete_info()
|
call complete_info()
|
||||||
@ -1758,6 +1783,7 @@ copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
|||||||
cos({expr}) *cos()*
|
cos({expr}) *cos()*
|
||||||
Return the cosine of {expr}, measured in radians, as a |Float|.
|
Return the cosine of {expr}, measured in radians, as a |Float|.
|
||||||
{expr} must evaluate to a |Float| or a |Number|.
|
{expr} must evaluate to a |Float| or a |Number|.
|
||||||
|
Returns 0.0 if {expr} is not a |Float| or a |Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo cos(100)
|
:echo cos(100)
|
||||||
< 0.862319 >
|
< 0.862319 >
|
||||||
@ -1774,6 +1800,7 @@ cosh({expr}) *cosh()*
|
|||||||
Return the hyperbolic cosine of {expr} as a |Float| in the range
|
Return the hyperbolic cosine of {expr} as a |Float| in the range
|
||||||
[1, inf].
|
[1, inf].
|
||||||
{expr} must evaluate to a |Float| or a |Number|.
|
{expr} must evaluate to a |Float| or a |Number|.
|
||||||
|
Returns 0.0 if {expr} is not a |Float| or a |Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo cosh(0.5)
|
:echo cosh(0.5)
|
||||||
< 1.127626 >
|
< 1.127626 >
|
||||||
@ -1885,6 +1912,9 @@ debugbreak({pid}) *debugbreak()*
|
|||||||
processes is undefined. See |terminal-debugger|.
|
processes is undefined. See |terminal-debugger|.
|
||||||
{only available on MS-Windows}
|
{only available on MS-Windows}
|
||||||
|
|
||||||
|
Returns |TRUE| if successfully interrupted the program.
|
||||||
|
Otherwise returns |FALSE|.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetPid()->debugbreak()
|
GetPid()->debugbreak()
|
||||||
|
|
||||||
@ -2355,6 +2385,7 @@ exp({expr}) *exp()*
|
|||||||
Return the exponential of {expr} as a |Float| in the range
|
Return the exponential of {expr} as a |Float| in the range
|
||||||
[0, inf].
|
[0, inf].
|
||||||
{expr} must evaluate to a |Float| or a |Number|.
|
{expr} must evaluate to a |Float| or a |Number|.
|
||||||
|
Returns 0.0 if {expr} is not a |Float| or a |Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo exp(2)
|
:echo exp(2)
|
||||||
< 7.389056 >
|
< 7.389056 >
|
||||||
@ -2521,7 +2552,7 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
|
|||||||
{expr2} remains unchanged.
|
{expr2} remains unchanged.
|
||||||
When {expr1} is locked and {expr2} is not empty the operation
|
When {expr1} is locked and {expr2} is not empty the operation
|
||||||
fails.
|
fails.
|
||||||
Returns {expr1}.
|
Returns {expr1}. Returns 0 on error.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
mylist->extend(otherlist)
|
mylist->extend(otherlist)
|
||||||
@ -2695,6 +2726,8 @@ finddir({name} [, {path} [, {count}]]) *finddir()*
|
|||||||
{name} in {path} instead of the first one.
|
{name} in {path} instead of the first one.
|
||||||
When {count} is negative return all the matches in a |List|.
|
When {count} is negative return all the matches in a |List|.
|
||||||
|
|
||||||
|
Returns an empty string if the directory is not found.
|
||||||
|
|
||||||
This is quite similar to the ex-command `:find`.
|
This is quite similar to the ex-command `:find`.
|
||||||
{only available when compiled with the |+file_in_path|
|
{only available when compiled with the |+file_in_path|
|
||||||
feature}
|
feature}
|
||||||
@ -2745,6 +2778,7 @@ float2nr({expr}) *float2nr()*
|
|||||||
Convert {expr} to a Number by omitting the part after the
|
Convert {expr} to a Number by omitting the part after the
|
||||||
decimal point.
|
decimal point.
|
||||||
{expr} must evaluate to a |Float| or a Number.
|
{expr} must evaluate to a |Float| or a Number.
|
||||||
|
Returns 0 if {expr} is not a |Float| or a |Number|.
|
||||||
When the value of {expr} is out of range for a |Number| the
|
When the value of {expr} is out of range for a |Number| the
|
||||||
result is truncated to 0x7fffffff or -0x7fffffff (or when
|
result is truncated to 0x7fffffff or -0x7fffffff (or when
|
||||||
64-bit Number support is enabled, 0x7fffffffffffffff or
|
64-bit Number support is enabled, 0x7fffffffffffffff or
|
||||||
@ -2772,6 +2806,7 @@ floor({expr}) *floor()*
|
|||||||
Return the largest integral value less than or equal to
|
Return the largest integral value less than or equal to
|
||||||
{expr} as a |Float| (round down).
|
{expr} as a |Float| (round down).
|
||||||
{expr} must evaluate to a |Float| or a |Number|.
|
{expr} must evaluate to a |Float| or a |Number|.
|
||||||
|
Returns 0.0 if {expr} is not a |Float| or a |Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
echo floor(1.856)
|
echo floor(1.856)
|
||||||
< 1.0 >
|
< 1.0 >
|
||||||
@ -2794,6 +2829,8 @@ fmod({expr1}, {expr2}) *fmod()*
|
|||||||
the magnitude of {expr2}. If {expr2} is zero, the value
|
the magnitude of {expr2}. If {expr2} is zero, the value
|
||||||
returned is zero. The value returned is a |Float|.
|
returned is zero. The value returned is a |Float|.
|
||||||
{expr1} and {expr2} must evaluate to a |Float| or a |Number|.
|
{expr1} and {expr2} must evaluate to a |Float| or a |Number|.
|
||||||
|
Returns 0.0 if {expr1} or {expr2} is not a |Float| or a
|
||||||
|
|Number|.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo fmod(12.33, 1.22)
|
:echo fmod(12.33, 1.22)
|
||||||
< 0.13 >
|
< 0.13 >
|
||||||
@ -2815,6 +2852,7 @@ fnameescape({string}) *fnameescape()*
|
|||||||
appears in a filename, it depends on the value of 'isfname'.
|
appears in a filename, it depends on the value of 'isfname'.
|
||||||
A leading '+' and '>' is also escaped (special after |:edit|
|
A leading '+' and '>' is also escaped (special after |:edit|
|
||||||
and |:write|). And a "-" by itself (special after |:cd|).
|
and |:write|). And a "-" by itself (special after |:cd|).
|
||||||
|
Returns an empty string on error.
|
||||||
Example: >
|
Example: >
|
||||||
:let fname = '+some str%nge|name'
|
:let fname = '+some str%nge|name'
|
||||||
:exe "edit " .. fnameescape(fname)
|
:exe "edit " .. fnameescape(fname)
|
||||||
@ -2832,7 +2870,8 @@ fnamemodify({fname}, {mods}) *fnamemodify()*
|
|||||||
:echo fnamemodify("main.c", ":p:h")
|
:echo fnamemodify("main.c", ":p:h")
|
||||||
< results in: >
|
< results in: >
|
||||||
/home/mool/vim/vim/src
|
/home/mool/vim/vim/src
|
||||||
< If {mods} is empty then {fname} is returned.
|
< If {mods} is empty or an unsupported modifier is used then
|
||||||
|
{fname} is returned.
|
||||||
Note: Environment variables don't work in {fname}, use
|
Note: Environment variables don't work in {fname}, use
|
||||||
|expand()| first then.
|
|expand()| first then.
|
||||||
|
|
||||||
@ -2889,6 +2928,7 @@ foldtext() Returns a String, to be displayed for a closed fold. This is
|
|||||||
When used to draw the actual foldtext, the rest of the line
|
When used to draw the actual foldtext, the rest of the line
|
||||||
will be filled with the fold char from the 'fillchars'
|
will be filled with the fold char from the 'fillchars'
|
||||||
setting.
|
setting.
|
||||||
|
Returns an empty string when there is no fold.
|
||||||
{not available when compiled without the |+folding| feature}
|
{not available when compiled without the |+folding| feature}
|
||||||
|
|
||||||
foldtextresult({lnum}) *foldtextresult()*
|
foldtextresult({lnum}) *foldtextresult()*
|
||||||
@ -2940,6 +2980,7 @@ funcref({name} [, {arglist}] [, {dict}])
|
|||||||
been loaded (to avoid mistakenly loading the autoload script
|
been loaded (to avoid mistakenly loading the autoload script
|
||||||
when only intending to use the function name, use |function()|
|
when only intending to use the function name, use |function()|
|
||||||
instead). {name} cannot be a builtin function.
|
instead). {name} cannot be a builtin function.
|
||||||
|
Returns 0 on error.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetFuncname()->funcref([arg])
|
GetFuncname()->funcref([arg])
|
||||||
@ -3020,6 +3061,8 @@ function({name} [, {arglist}] [, {dict}])
|
|||||||
< Invokes the function as with: >
|
< Invokes the function as with: >
|
||||||
call context.Callback('one', 500)
|
call context.Callback('one', 500)
|
||||||
<
|
<
|
||||||
|
Returns 0 on error.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetFuncname()->function([arg])
|
GetFuncname()->function([arg])
|
||||||
|
|
||||||
@ -3073,6 +3116,7 @@ get({func}, {what})
|
|||||||
"func" The function
|
"func" The function
|
||||||
"dict" The dictionary
|
"dict" The dictionary
|
||||||
"args" The list with arguments
|
"args" The list with arguments
|
||||||
|
Returns zero on error.
|
||||||
Preferably used as a |method|: >
|
Preferably used as a |method|: >
|
||||||
myfunc->get(what)
|
myfunc->get(what)
|
||||||
<
|
<
|
||||||
@ -3315,7 +3359,7 @@ getcharmod() *getcharmod()*
|
|||||||
128 command (Macintosh only)
|
128 command (Macintosh only)
|
||||||
Only the modifiers that have not been included in the
|
Only the modifiers that have not been included in the
|
||||||
character itself are obtained. Thus Shift-a results in "A"
|
character itself are obtained. Thus Shift-a results in "A"
|
||||||
without a modifier.
|
without a modifier. Returns 0 if no modifiers are used.
|
||||||
|
|
||||||
*getcharpos()*
|
*getcharpos()*
|
||||||
getcharpos({expr})
|
getcharpos({expr})
|
||||||
@ -3665,7 +3709,7 @@ getftype({fname}) *getftype()*
|
|||||||
|
|
||||||
getimstatus() *getimstatus()*
|
getimstatus() *getimstatus()*
|
||||||
The result is a Number, which is |TRUE| when the IME status is
|
The result is a Number, which is |TRUE| when the IME status is
|
||||||
active.
|
active and |FALSE| otherwise.
|
||||||
See 'imstatusfunc'.
|
See 'imstatusfunc'.
|
||||||
|
|
||||||
getjumplist([{winnr} [, {tabnr}]]) *getjumplist()*
|
getjumplist([{winnr} [, {tabnr}]]) *getjumplist()*
|
||||||
@ -3675,7 +3719,8 @@ getjumplist([{winnr} [, {tabnr}]]) *getjumplist()*
|
|||||||
With {winnr} only use this window in the current tab page.
|
With {winnr} only use this window in the current tab page.
|
||||||
{winnr} can also be a |window-ID|.
|
{winnr} can also be a |window-ID|.
|
||||||
With {winnr} and {tabnr} use the window in the specified tab
|
With {winnr} and {tabnr} use the window in the specified tab
|
||||||
page.
|
page. If {winnr} or {tabnr} is invalid, an empty list is
|
||||||
|
returned.
|
||||||
|
|
||||||
The returned list contains two entries: a list with the jump
|
The returned list contains two entries: a list with the jump
|
||||||
locations and the last used jump position number in the list.
|
locations and the last used jump position number in the list.
|
||||||
@ -3756,7 +3801,8 @@ getmarklist([{buf}]) *getmarklist()*
|
|||||||
|
|
||||||
If the optional {buf} argument is specified, returns the
|
If the optional {buf} argument is specified, returns the
|
||||||
local marks defined in buffer {buf}. For the use of {buf},
|
local marks defined in buffer {buf}. For the use of {buf},
|
||||||
see |bufname()|.
|
see |bufname()|. If {buf} is invalid, an empty list is
|
||||||
|
returned.
|
||||||
|
|
||||||
Each item in the returned List is a |Dict| with the following:
|
Each item in the returned List is a |Dict| with the following:
|
||||||
mark name of the mark prefixed by "'"
|
mark name of the mark prefixed by "'"
|
||||||
@ -3778,7 +3824,8 @@ getmatches([{win}]) *getmatches()*
|
|||||||
as |setmatches()| can restore a list of matches saved by
|
as |setmatches()| can restore a list of matches saved by
|
||||||
|getmatches()|.
|
|getmatches()|.
|
||||||
If {win} is specified, use the window with this number or
|
If {win} is specified, use the window with this number or
|
||||||
window ID instead of the current window.
|
window ID instead of the current window. If {win} is invalid,
|
||||||
|
an empty list is returned.
|
||||||
Example: >
|
Example: >
|
||||||
:echo getmatches()
|
:echo getmatches()
|
||||||
< [{'group': 'MyGroup1', 'pattern': 'TODO',
|
< [{'group': 'MyGroup1', 'pattern': 'TODO',
|
||||||
@ -3850,6 +3897,7 @@ getpos({expr}) Get the position for String {expr}. For possible values of
|
|||||||
use |getcharpos()|.
|
use |getcharpos()|.
|
||||||
A very large column number equal to |v:maxcol| can be returned,
|
A very large column number equal to |v:maxcol| can be returned,
|
||||||
in which case it means "after the end of the line".
|
in which case it means "after the end of the line".
|
||||||
|
If {expr} is invalid, returns a list with all zeros.
|
||||||
This can be used to save and restore the position of a mark: >
|
This can be used to save and restore the position of a mark: >
|
||||||
let save_a_mark = getpos("'a")
|
let save_a_mark = getpos("'a")
|
||||||
...
|
...
|
||||||
@ -6870,7 +6918,9 @@ reltime([{start} [, {end}]]) *reltime()*
|
|||||||
The item can be passed to |reltimestr()| to convert it to a
|
The item can be passed to |reltimestr()| to convert it to a
|
||||||
string or |reltimefloat()| to convert to a Float.
|
string or |reltimefloat()| to convert to a Float.
|
||||||
|
|
||||||
Without an argument reltime() returns the current time.
|
Without an argument reltime() returns the current time (the
|
||||||
|
representation is system-dependend, it can not be used as the
|
||||||
|
wall-clock time, see |localtime()| for that).
|
||||||
With one argument is returns the time passed since the time
|
With one argument is returns the time passed since the time
|
||||||
specified in the argument.
|
specified in the argument.
|
||||||
With two arguments it returns the time passed between {start}
|
With two arguments it returns the time passed between {start}
|
||||||
@ -10095,6 +10145,7 @@ winnr([{arg}]) The result is a Number, which is the number of the current
|
|||||||
current window (where |CTRL-W_l| goes to).
|
current window (where |CTRL-W_l| goes to).
|
||||||
The number can be used with |CTRL-W_w| and ":wincmd w"
|
The number can be used with |CTRL-W_w| and ":wincmd w"
|
||||||
|:wincmd|.
|
|:wincmd|.
|
||||||
|
When {arg} is invalid an error is given and zero is returned.
|
||||||
Also see |tabpagewinnr()| and |win_getid()|.
|
Also see |tabpagewinnr()| and |win_getid()|.
|
||||||
Examples: >
|
Examples: >
|
||||||
let window_count = winnr('$')
|
let window_count = winnr('$')
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 8.2. Last change: 2022 Apr 16
|
*channel.txt* For Vim version 8.2. Last change: 2022 Jun 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*popup.txt* For Vim version 8.2. Last change: 2022 May 29
|
*popup.txt* For Vim version 8.2. Last change: 2022 Jun 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -999,7 +999,7 @@ To make the four corners transparent:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. Examples *popup-examples*
|
4. Examples *popup-examples*
|
||||||
|
|
||||||
These examplese use |Vim9| script.
|
These examples use |Vim9| script.
|
||||||
|
|
||||||
TODO: more interesting examples
|
TODO: more interesting examples
|
||||||
|
|
||||||
@ -1043,6 +1043,10 @@ Extend popup_filter_menu() with shortcut keys: >
|
|||||||
" No shortcut, pass to generic filter
|
" No shortcut, pass to generic filter
|
||||||
return popup_filter_menu(a:id, a:key)
|
return popup_filter_menu(a:id, a:key)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func MyMenuHandler(id, result)
|
||||||
|
echo $'Result: {a:result}'
|
||||||
|
endfunc
|
||||||
<
|
<
|
||||||
*popup_beval_example*
|
*popup_beval_example*
|
||||||
Example for using a popup window for 'ballooneval': >
|
Example for using a popup window for 'ballooneval': >
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.2. Last change: 2022 May 10
|
*starting.txt* For Vim version 8.2. Last change: 2022 Jun 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.2. Last change: 2022 Jun 03
|
*todo.txt* For Vim version 8.2. Last change: 2022 Jun 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -40,7 +40,6 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
|
|
||||||
Prepare for Vim 9.0 release:
|
Prepare for Vim 9.0 release:
|
||||||
- Update the user manual:
|
- Update the user manual:
|
||||||
- Add import/export example to 52.1
|
|
||||||
- Add more to usr_50.txt as an "advanced section" of usr_41.txt
|
- Add more to usr_50.txt as an "advanced section" of usr_41.txt
|
||||||
- Move some from vim9.txt to the user manual? Keep the specification.
|
- Move some from vim9.txt to the user manual? Keep the specification.
|
||||||
- Use Vim9 for more runtime files.
|
- Use Vim9 for more runtime files.
|
||||||
@ -82,8 +81,8 @@ Update list of features to vote on:
|
|||||||
|
|
||||||
Popup windows:
|
Popup windows:
|
||||||
- Preview popup not properly updated when it overlaps with completion menu.
|
- Preview popup not properly updated when it overlaps with completion menu.
|
||||||
(Yegappan Lakshmanan, 2021 May 22
|
(Yegappan Lakshmanan, 2021 May 22)
|
||||||
- Srollbar thumb somtimes not visible #10492
|
- Srollbar thumb sometimes not visible #10492
|
||||||
- Add a function to redraw a specific popup window. Esp. to be used when
|
- Add a function to redraw a specific popup window. Esp. to be used when
|
||||||
editing the command line, when screen updating doesn't happen. (Shougo)
|
editing the command line, when screen updating doesn't happen. (Shougo)
|
||||||
- Add a flag to make a popup window focusable?
|
- Add a flag to make a popup window focusable?
|
||||||
@ -204,6 +203,10 @@ Terminal emulator window:
|
|||||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||||
conversions.
|
conversions.
|
||||||
|
|
||||||
|
Autoconf: must use autoconf 2.69, later version generates lots of warnings
|
||||||
|
attempt in ~/tmp/configure.ac
|
||||||
|
- try using autoconf 2.71 and fix all "obsolete" warnings
|
||||||
|
|
||||||
Can deref_func_name() and deref_function_name() be merged?
|
Can deref_func_name() and deref_function_name() be merged?
|
||||||
|
|
||||||
After patch 8.2.4915 w_botline is computed much more often. Can this be
|
After patch 8.2.4915 w_botline is computed much more often. Can this be
|
||||||
@ -217,7 +220,7 @@ Improvement in terminal configuration mess: Request the terminfo entry from
|
|||||||
the terminal itself. The $TERM value then is only relevant for whether this
|
the terminal itself. The $TERM value then is only relevant for whether this
|
||||||
feature is supported or not. Replaces the xterm mechanism to request each
|
feature is supported or not. Replaces the xterm mechanism to request each
|
||||||
entry separately. #6609
|
entry separately. #6609
|
||||||
Multiplexers (screen, tmux) can request it to the underlaying terminal, and
|
Multiplexers (screen, tmux) can request it to the underlying terminal, and
|
||||||
pass it on with modifications.
|
pass it on with modifications.
|
||||||
|
|
||||||
Can "CSI nr X" be used instead of outputting spaces? Is it faster? #8002
|
Can "CSI nr X" be used instead of outputting spaces? Is it faster? #8002
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 8.2. Last change: 2022 Jun 03
|
*usr_41.txt* For Vim version 8.2. Last change: 2022 Jun 04
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@ -66,7 +66,8 @@ The output of the example code is:
|
|||||||
count is 4 ~
|
count is 4 ~
|
||||||
|
|
||||||
In the first line the `vim9script` command makes clear this is a new, |Vim9|
|
In the first line the `vim9script` command makes clear this is a new, |Vim9|
|
||||||
script file. That matters for how the rest of the file is used.
|
script file. That matters for how the rest of the file is used. It is
|
||||||
|
recommended to put it in the very fist line, before any comments.
|
||||||
*vim9-declarations*
|
*vim9-declarations*
|
||||||
The `var i = 1` command declares the "i" variable and initializes it. The
|
The `var i = 1` command declares the "i" variable and initializes it. The
|
||||||
generic form is: >
|
generic form is: >
|
||||||
@ -1791,7 +1792,7 @@ encountered, execution of the script/function/mapping will be aborted.
|
|||||||
|
|
||||||
When the `read` command causes another error, the pattern "E484:" will not
|
When the `read` command causes another error, the pattern "E484:" will not
|
||||||
match in it. Thus this exception will not be caught and result in the usual
|
match in it. Thus this exception will not be caught and result in the usual
|
||||||
error message and excecution is aborted.
|
error message and execution is aborted.
|
||||||
|
|
||||||
You might be tempted to do this: >
|
You might be tempted to do this: >
|
||||||
|
|
||||||
|
|||||||
@ -15,8 +15,8 @@ Table of contents: |usr_toc.txt|
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*50.1* Line continuation
|
*50.1* Line continuation
|
||||||
|
|
||||||
In legacy Vim script line contination is done by preceding a contination line
|
In legacy Vim script line continuation is done by preceding a continuation
|
||||||
with a backslash: >
|
line with a backslash: >
|
||||||
let mylist = [
|
let mylist = [
|
||||||
\ 'one',
|
\ 'one',
|
||||||
\ 'two',
|
\ 'two',
|
||||||
|
|||||||
@ -1,14 +1,12 @@
|
|||||||
*usr_52.txt* For Vim version 8.2. Last change: 2022 Jun 03
|
*usr_52.txt* For Vim version 8.2. Last change: 2022 Jun 04
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
Write larger plugins
|
Write larger plugins
|
||||||
|
|
||||||
TODO: this file needs to be updated
|
|
||||||
|
|
||||||
When plugins do more than simple things, they tend to grow big. This file
|
When plugins do more than simple things, they tend to grow big. This file
|
||||||
explains how to make sure they still load fast and how to split them up in
|
explains how to make sure they still load fast and how to split them up in
|
||||||
smaller parts
|
smaller parts.
|
||||||
|
|
||||||
|52.1| Export and import
|
|52.1| Export and import
|
||||||
|52.2| Autoloading
|
|52.2| Autoloading
|
||||||
@ -29,45 +27,97 @@ functions are compiled into instructions that can be executed quickly. This
|
|||||||
makes Vim9 script a lot faster, up to a 100 times.
|
makes Vim9 script a lot faster, up to a 100 times.
|
||||||
|
|
||||||
The basic idea is that a script file has items that are private, only used
|
The basic idea is that a script file has items that are private, only used
|
||||||
inside the script file, and items that are exported, used outside of the
|
inside the script file, and items that are exported, which can be used by
|
||||||
script file. The exported items can then be used by scripts that import them.
|
scripts that import them. That makes very clear what is defined where.
|
||||||
That makes very clear what is defined where.
|
|
||||||
|
|
||||||
Let's start with an example, a script that exports one function and has one
|
Let's start with an example, a script that exports one function and has one
|
||||||
private function: >
|
private function: >
|
||||||
|
|
||||||
vim9script " This indicates a Vim9 script file.
|
vim9script
|
||||||
|
|
||||||
export def GetMessage(): string
|
export def GetMessage(count: string): string
|
||||||
let result = ''
|
var nr = str2nr(count)
|
||||||
...
|
var result = $'To {nr} we say '
|
||||||
result = GetPart(count)
|
result ..= GetReply(nr)
|
||||||
...
|
|
||||||
return result
|
return result
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
def GetPart(nr: number): string
|
def GetReply(nr: number): string
|
||||||
if nr == 4
|
if nr == 42
|
||||||
return 'yes'
|
return 'yes'
|
||||||
|
elseif nr = 22
|
||||||
|
return 'maybe'
|
||||||
else
|
else
|
||||||
return 'no'
|
return 'no'
|
||||||
endif
|
endif
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
The `vim9script` command must be the very first command in the file. Without
|
The `vim9script` command is required, `export` only works in a |Vim9| script.
|
||||||
it Vim will assume legacy script syntax.
|
|
||||||
|
|
||||||
The `export def GetMessage(): string` line starts with `export`, meaning that
|
The `export def GetMessage(...` line starts with `export`, meaning that this
|
||||||
this function can be imported and called by other scripts. The line
|
function can be called by other scripts. The line `def GetReply(...` does not
|
||||||
`def GetPart(...` does not start with `export`, this is a script-local
|
start with `export`, this is a script-local function, it can only be used
|
||||||
function, it can only be used inside this script file.
|
inside this script file.
|
||||||
|
|
||||||
In the `export def GetMessage(): string` line you will notice the colon and
|
Now about the script where this is imported. In this example we use this
|
||||||
the return type. Vim9 functions, defined with `def`, require specifying the
|
layout, which works well for a plugin below the "pack" directory:
|
||||||
type of arguments and the return type. That way Vim can compile the code
|
.../plugin/theplugin.vim
|
||||||
efficiently. The GetPart function defines an argument "nr" of type "number".
|
.../lib/getmessage.vim
|
||||||
|
|
||||||
|
Assuming the "..." directory has been added to 'runtimepath', Vim will look
|
||||||
|
for plugins in the "plugin" directory and source "theplugin.vim". Vim does
|
||||||
|
not recognize the "lib" directory, you can put any scripts there.
|
||||||
|
|
||||||
|
The above script that exports GetMessage() goes in lib/getmessage.vim. The
|
||||||
|
GetMessage() function is used in plugin/theplugin.vim: >
|
||||||
|
|
||||||
|
vim9script
|
||||||
|
|
||||||
|
import "../lib/getmessage.vim"
|
||||||
|
command -nargs=1 ShowMessage echomsg getmessage.GetMessage(<f-args>)
|
||||||
|
|
||||||
|
The `import` command uses a relative path, it starts with "../", which means
|
||||||
|
to go one directory up. For other kinds of paths see the `:import` command.
|
||||||
|
|
||||||
|
How we can try out the command that the plugin provides: >
|
||||||
|
ShowMessage 1
|
||||||
|
< To 1 we say no ~
|
||||||
|
>
|
||||||
|
ShowMessage 22
|
||||||
|
< To 22 we say maybe ~
|
||||||
|
|
||||||
|
Notice that the function GetMessage() is prefixed with the imported script
|
||||||
|
name "getmessage". That way, for every imported function used, you know what
|
||||||
|
script it was imported from. If you import several scripts each of them could
|
||||||
|
define a GetMessage() function: >
|
||||||
|
|
||||||
|
vim9script
|
||||||
|
|
||||||
|
import "../lib/getmessage.vim"
|
||||||
|
import "../lib/getother.vim"
|
||||||
|
command -nargs=1 ShowMessage echomsg getmessage.GetMessage(<f-args>)
|
||||||
|
command -nargs=1 ShowOther echomsg getother.GetMessage(<f-args>)
|
||||||
|
|
||||||
|
If the imported script name is long or you use it in many places, you can
|
||||||
|
shorten it by adding an "as" argument: >
|
||||||
|
import "../lib/getmessage.vim" as msg
|
||||||
|
command -nargs=1 ShowMessage echomsg msg.GetMessage(<f-args>)
|
||||||
|
|
||||||
|
|
||||||
|
RELOADING
|
||||||
|
|
||||||
|
One thing to keep in mind: the imported "lib/getmessage.vim" script will be
|
||||||
|
sourced only once. When it is imported a second time sourcing it will be
|
||||||
|
skipped, since the items in it have already been created. It does not matter
|
||||||
|
if this import command is in another script, or in the same script that is
|
||||||
|
sourced again.
|
||||||
|
|
||||||
|
This is efficient when using a plugin, but when still developing a plugin it
|
||||||
|
means that changing "lib/getmessage.vim" after it has been imported will have
|
||||||
|
no effect. You need to quit Vim and start it again. (Rationale: the items
|
||||||
|
defined in the script could be used in a compiled function, sourcing the
|
||||||
|
script again may break those functions).
|
||||||
|
|
||||||
TODO: import/export example
|
|
||||||
|
|
||||||
USING GLOBALS
|
USING GLOBALS
|
||||||
|
|
||||||
@ -83,8 +133,6 @@ prefix that is very unlikely to be used elsewhere. For example, if you have a
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*52.2* Autoloading
|
*52.2* Autoloading
|
||||||
|
|
||||||
TODO: autoloading with import/export
|
|
||||||
|
|
||||||
After splitting your large script into pieces, all the lines will still be
|
After splitting your large script into pieces, all the lines will still be
|
||||||
loaded and executed the moment the script is used. Every `import` loads the
|
loaded and executed the moment the script is used. Every `import` loads the
|
||||||
imported script to find the items defined there. Although that is good for
|
imported script to find the items defined there. Although that is good for
|
||||||
@ -92,27 +140,39 @@ finding errors early, it also takes time. Which is wasted if the
|
|||||||
functionality is not often used.
|
functionality is not often used.
|
||||||
|
|
||||||
Instead of having `import` load the script immediately, it can be postponed
|
Instead of having `import` load the script immediately, it can be postponed
|
||||||
until needed. >
|
until needed. Using the example above, only one change needs to be made in
|
||||||
import autoload "./LoadLater.vim"
|
the plugin/theplugin.vim script: >
|
||||||
|
import autoload "../lib/getmessage.vim"
|
||||||
|
|
||||||
Now you can use exported items as usual: "LoadLater.GetMonth(4)".
|
Nothing in the rest of the script needs to change. However, the types will
|
||||||
However, the type will not be checked. Not even the existence of the
|
not be checked. Not even the existence of the GetMessage() function is
|
||||||
GetMonth() function is checked until it is used. You will have to decide what
|
checked until it is used. You will have to decide what is more important for
|
||||||
is more important for your script. You can also add the "autoload" argument
|
your script: fast startup or getting errors early. You can also add the
|
||||||
later, after you have checked everything works.
|
"autoload" argument later, after you have checked everything works.
|
||||||
|
|
||||||
Another form is to use a script name that is not an absolute or relative
|
|
||||||
path: >
|
AUTOLOAD DIRECTORY
|
||||||
|
|
||||||
|
Another form is to use autoload with a script name that is not an absolute or
|
||||||
|
relative path: >
|
||||||
import autload "monthlib.vim"
|
import autload "monthlib.vim"
|
||||||
|
|
||||||
This will search for the script "monthlib.vim" in the autoload directories of
|
This will search for the script "monthlib.vim" in the autoload directories of
|
||||||
'runtimepath'. With Unix the directory often is "~/.vim/autoload".
|
'runtimepath'. With Unix one of the directories often is "~/.vim/autoload".
|
||||||
|
|
||||||
The main advantage of this is that this script can be shared with other
|
The main advantage of this is that this script can be easily shared with other
|
||||||
scripts. You do need to make sure that the script name is unique, since Vim
|
scripts. You do need to make sure that the script name is unique, since Vim
|
||||||
will search all the "autoload" directories in 'runtimepath', and if you are
|
will search all the "autoload" directories in 'runtimepath', and if you are
|
||||||
using several plugins, these may add several directories to 'runtimepath',
|
using several plugins with a plugin manager, it may add a directory to
|
||||||
each of which might have an "autoload" directory.
|
'runtimepath', each of which might have an "autoload" directory.
|
||||||
|
|
||||||
|
Without autoload: >
|
||||||
|
import "monthlib.vim"
|
||||||
|
|
||||||
|
Vim will search for the script "monthlib.vim" in the import directories of
|
||||||
|
'runtimepath'. Note that in this case adding or removing "autoload" changes
|
||||||
|
where the script is found. With a relative or absolute path the location does
|
||||||
|
not change.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*52.3* Autoloading without import/export
|
*52.3* Autoloading without import/export
|
||||||
@ -256,13 +316,13 @@ In some cases you have a legacy Vim script where you want to use items from a
|
|||||||
Vim9 script. For example in your .vimrc you want to initialize a plugin. The
|
Vim9 script. For example in your .vimrc you want to initialize a plugin. The
|
||||||
best way to do this is to use `:import`. For example: >
|
best way to do this is to use `:import`. For example: >
|
||||||
|
|
||||||
import Init as NiceInit from 'myNicePlugin.vim'
|
import 'myNicePlugin.vim'
|
||||||
call NiceInit('today')
|
call myNicePlugin.NiceInit('today')
|
||||||
|
|
||||||
This finds the exported function "Init" in the Vim9 script file and makes it
|
This finds the exported function "NiceInit" in the Vim9 script file and makes
|
||||||
available as script-local item "NiceInit". `:import` always uses the script
|
it available as script-local item "myNicePlugin.NiceInit". `:import` always
|
||||||
namespace, even when "s:" is not given. If "myNicePlugin.vim" was already
|
uses the script namespace, even when "s:" is not given. If "myNicePlugin.vim"
|
||||||
sourced it is not sourced again.
|
was already sourced it is not sourced again.
|
||||||
|
|
||||||
Besides avoiding putting any items in the global namespace (where name clashes
|
Besides avoiding putting any items in the global namespace (where name clashes
|
||||||
can cause unexpected errors), this also means the script is sourced only once,
|
can cause unexpected errors), this also means the script is sourced only once,
|
||||||
|
|||||||
@ -1,11 +1,14 @@
|
|||||||
" Vim plugin for using Vim as manpager.
|
" Vim plugin for using Vim as manpager.
|
||||||
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
||||||
" Last Change: 2020 Aug 05
|
" Last Change: 2022 Jun 05
|
||||||
|
|
||||||
command! -nargs=0 MANPAGER call s:ManPager() | delcommand MANPAGER
|
command! -nargs=0 MANPAGER call s:ManPager() | delcommand MANPAGER
|
||||||
|
|
||||||
function! s:ManPager()
|
function s:ManPager()
|
||||||
set nocompatible
|
" global options, keep these to a minimum to avoid side effects
|
||||||
|
if &compatible
|
||||||
|
set nocompatible
|
||||||
|
endif
|
||||||
if exists('+viminfofile')
|
if exists('+viminfofile')
|
||||||
set viminfofile=NONE
|
set viminfofile=NONE
|
||||||
endif
|
endif
|
||||||
@ -27,7 +30,7 @@ function! s:ManPager()
|
|||||||
if n > 1
|
if n > 1
|
||||||
exe "1," . n-1 . "d"
|
exe "1," . n-1 . "d"
|
||||||
endif
|
endif
|
||||||
setlocal nomodified readonly
|
setlocal nomodifiable nomodified readonly nowrite
|
||||||
|
|
||||||
syntax on
|
syntax on
|
||||||
endfunction
|
endfunction
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
" Original Author: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
|
" Original Author: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
|
||||||
" Maintainer: Quentin Hibon (github user hiqua)
|
" Maintainer: Quentin Hibon (github user hiqua)
|
||||||
" Version: 0.4
|
" Version: 0.4
|
||||||
" Last Change: 2022 May 05
|
" Last Change: 2022 Jun 05
|
||||||
|
|
||||||
" References:
|
" References:
|
||||||
" http://i3wm.org/docs/userguide.html#configuring
|
" http://i3wm.org/docs/userguide.html#configuring
|
||||||
@ -17,9 +17,6 @@ endif
|
|||||||
|
|
||||||
scriptencoding utf-8
|
scriptencoding utf-8
|
||||||
|
|
||||||
" Error
|
|
||||||
syn match i3ConfigError /.*/
|
|
||||||
|
|
||||||
" Todo
|
" Todo
|
||||||
syn keyword i3ConfigTodo TODO FIXME XXX contained
|
syn keyword i3ConfigTodo TODO FIXME XXX contained
|
||||||
|
|
||||||
@ -180,13 +177,12 @@ syn match i3ConfigDrawingMarks /^\s*show_marks\s\+\(yes\|no\)\s\?$/ contains=i3C
|
|||||||
|
|
||||||
" Group mode/bar
|
" Group mode/bar
|
||||||
syn keyword i3ConfigBlockKeyword mode bar colors i3bar_command status_command position exec mode hidden_state modifier id position output background statusline tray_output tray_padding separator separator_symbol workspace_min_width workspace_buttons strip_workspace_numbers binding_mode_indicator focused_workspace active_workspace inactive_workspace urgent_workspace binding_mode contained
|
syn keyword i3ConfigBlockKeyword mode bar colors i3bar_command status_command position exec mode hidden_state modifier id position output background statusline tray_output tray_padding separator separator_symbol workspace_min_width workspace_buttons strip_workspace_numbers binding_mode_indicator focused_workspace active_workspace inactive_workspace urgent_workspace binding_mode contained
|
||||||
syn region i3ConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
syn region i3ConfigBlock start=+^\s*[^#]*s\?{$+ end=+^\s*[^#]*}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
||||||
|
|
||||||
" Line continuation
|
" Line continuation
|
||||||
syn region i3ConfigLineCont start=/^.*\\$/ end=/^.*$/ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
syn region i3ConfigLineCont start=/^.*\\$/ end=/^.*$/ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
||||||
|
|
||||||
" Define the highlighting.
|
" Define the highlighting.
|
||||||
hi def link i3ConfigError Error
|
|
||||||
hi def link i3ConfigTodo Todo
|
hi def link i3ConfigTodo Todo
|
||||||
hi def link i3ConfigComment Comment
|
hi def link i3ConfigComment Comment
|
||||||
hi def link i3ConfigFontContent Type
|
hi def link i3ConfigFontContent Type
|
||||||
|
|||||||
352
src/po/af.po
352
src/po/af.po
File diff suppressed because it is too large
Load Diff
@ -12,6 +12,9 @@ setl nodiff
|
|||||||
silent g/^#, c-format\n#/.d
|
silent g/^#, c-format\n#/.d
|
||||||
silent g/^#\..*\n#/.d
|
silent g/^#\..*\n#/.d
|
||||||
|
|
||||||
|
" c-format comments have no effect, the check.vim scripts checks it.
|
||||||
|
silent g/^#, c-format$/d
|
||||||
|
|
||||||
silent g/^#[:~] /d
|
silent g/^#[:~] /d
|
||||||
silent g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ /
|
silent g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ /
|
||||||
silent g/^msgstr"/s//msgstr "/
|
silent g/^msgstr"/s//msgstr "/
|
||||||
|
|||||||
768
src/po/it.po
768
src/po/it.po
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user