mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
Runtime file updates
This commit is contained in:
parent
de8f0f47f6
commit
e46a440505
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.2. Last change: 2020 Jun 17
|
*eval.txt* For Vim version 8.2. Last change: 2020 Jun 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -157,7 +157,7 @@ You will not get an error if you try to change the type of a variable.
|
|||||||
|
|
||||||
|
|
||||||
1.2 Function references ~
|
1.2 Function references ~
|
||||||
*Funcref* *E695* *E718*
|
*Funcref* *E695* *E718*
|
||||||
A Funcref variable is obtained with the |function()| function, the |funcref()|
|
A Funcref variable is obtained with the |function()| function, the |funcref()|
|
||||||
function or created with the lambda expression |expr-lambda|. It can be used
|
function or created with the lambda expression |expr-lambda|. It can be used
|
||||||
in an expression in the place of a function name, before the parenthesis
|
in an expression in the place of a function name, before the parenthesis
|
||||||
@ -2511,13 +2511,15 @@ getjumplist([{winnr} [, {tabnr}]])
|
|||||||
List list of jump list items
|
List list of jump list items
|
||||||
getline({lnum}) String line {lnum} of current buffer
|
getline({lnum}) String line {lnum} of current buffer
|
||||||
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
||||||
getloclist({nr} [, {what}]) List list of location list items
|
getloclist({nr}) List list of location list items
|
||||||
|
getloclist({nr}, {what}) Dict get specific location list properties
|
||||||
getmarklist([{expr}]) List list of global/local marks
|
getmarklist([{expr}]) List list of global/local marks
|
||||||
getmatches([{win}]) List list of current matches
|
getmatches([{win}]) List list of current matches
|
||||||
getmousepos() Dict last known mouse position
|
getmousepos() Dict last known mouse position
|
||||||
getpid() Number process ID of Vim
|
getpid() Number process ID of Vim
|
||||||
getpos({expr}) List position of cursor, mark, etc.
|
getpos({expr}) List position of cursor, mark, etc.
|
||||||
getqflist([{what}]) List list of quickfix items
|
getqflist() List list of quickfix items
|
||||||
|
getqflist({what}) Dict get specific quickfix list properties
|
||||||
getreg([{regname} [, 1 [, {list}]]])
|
getreg([{regname} [, 1 [, {list}]]])
|
||||||
String or List contents of a register
|
String or List contents of a register
|
||||||
getreginfo([{regname}]) Dict information about a register
|
getreginfo([{regname}]) Dict information about a register
|
||||||
@ -2756,12 +2758,15 @@ setcmdpos({pos}) Number set cursor position in command-line
|
|||||||
setenv({name}, {val}) none set environment variable
|
setenv({name}, {val}) none set environment variable
|
||||||
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
|
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
|
||||||
setline({lnum}, {line}) Number set line {lnum} to {line}
|
setline({lnum}, {line}) Number set line {lnum} to {line}
|
||||||
setloclist({nr}, {list} [, {action} [, {what}]])
|
setloclist({nr}, {list} [, {action}])
|
||||||
Number modify location list using {list}
|
Number modify location list using {list}
|
||||||
|
setloclist({nr}, {list}, {action}, {what})
|
||||||
|
Number modify specific location list props
|
||||||
setmatches({list} [, {win}]) Number restore a list of matches
|
setmatches({list} [, {win}]) Number restore a list of matches
|
||||||
setpos({expr}, {list}) Number set the {expr} position to {list}
|
setpos({expr}, {list}) Number set the {expr} position to {list}
|
||||||
setqflist({list} [, {action} [, {what}]])
|
setqflist({list} [, {action}]) Number modify quickfix list using {list}
|
||||||
Number modify quickfix list using {list}
|
setqflist({list}, {action}, {what})
|
||||||
|
Number modify specific quickfix list props
|
||||||
setreg({n}, {v} [, {opt}]) Number set register to value and type
|
setreg({n}, {v} [, {opt}]) Number set register to value and type
|
||||||
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
||||||
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
||||||
@ -3635,7 +3640,7 @@ complete_check() *complete_check()*
|
|||||||
|
|
||||||
*complete_info()*
|
*complete_info()*
|
||||||
complete_info([{what}])
|
complete_info([{what}])
|
||||||
Returns a Dictionary with information about Insert mode
|
Returns a |Dictionary| with information about Insert mode
|
||||||
completion. See |ins-completion|.
|
completion. See |ins-completion|.
|
||||||
The items are:
|
The items are:
|
||||||
mode Current completion mode name string.
|
mode Current completion mode name string.
|
||||||
@ -4862,7 +4867,7 @@ getbufinfo([{dict}])
|
|||||||
Without an argument information about all the buffers is
|
Without an argument information about all the buffers is
|
||||||
returned.
|
returned.
|
||||||
|
|
||||||
When the argument is a Dictionary only the buffers matching
|
When the argument is a |Dictionary| only the buffers matching
|
||||||
the specified criteria are returned. The following keys can
|
the specified criteria are returned. The following keys can
|
||||||
be specified in {dict}:
|
be specified in {dict}:
|
||||||
buflisted include only listed buffers.
|
buflisted include only listed buffers.
|
||||||
@ -5393,7 +5398,7 @@ getline({lnum} [, {end}])
|
|||||||
< To get lines from another buffer see |getbufline()|
|
< To get lines from another buffer see |getbufline()|
|
||||||
|
|
||||||
getloclist({nr} [, {what}]) *getloclist()*
|
getloclist({nr} [, {what}]) *getloclist()*
|
||||||
Returns a list with all the entries in the location list for
|
Returns a |List| with all the entries in the location list for
|
||||||
window {nr}. {nr} can be the window number or the |window-ID|.
|
window {nr}. {nr} can be the window number or the |window-ID|.
|
||||||
When {nr} is zero the current window is used.
|
When {nr} is zero the current window is used.
|
||||||
|
|
||||||
@ -5415,6 +5420,14 @@ getloclist({nr} [, {what}]) *getloclist()*
|
|||||||
|location-list-file-window| for more
|
|location-list-file-window| for more
|
||||||
details.
|
details.
|
||||||
|
|
||||||
|
Returns an empty Dictionary if there is no location list for
|
||||||
|
the window {nr} or the window is not present.
|
||||||
|
|
||||||
|
Examples (See also |getqflist-examples|): >
|
||||||
|
:echo getloclist(3, {'all': 0})
|
||||||
|
:echo getloclist(5, {'filewinid': 0})
|
||||||
|
|
||||||
|
|
||||||
getmarklist([{expr}] *getmarklist()*
|
getmarklist([{expr}] *getmarklist()*
|
||||||
Without the {expr} argument returns a |List| with information
|
Without the {expr} argument returns a |List| with information
|
||||||
about all the global marks. |mark|
|
about all the global marks. |mark|
|
||||||
@ -5459,7 +5472,7 @@ getmatches([{win}]) *getmatches()*
|
|||||||
:unlet m
|
:unlet m
|
||||||
<
|
<
|
||||||
getmousepos() *getmousepos()*
|
getmousepos() *getmousepos()*
|
||||||
Returns a Dictionary with the last known position of the
|
Returns a |Dictionary| with the last known position of the
|
||||||
mouse. This can be used in a mapping for a mouse click or in
|
mouse. This can be used in a mapping for a mouse click or in
|
||||||
a filter of a popup window. The items are:
|
a filter of a popup window. The items are:
|
||||||
screenrow screen row
|
screenrow screen row
|
||||||
@ -5679,12 +5692,12 @@ getregtype([{regname}]) *getregtype()*
|
|||||||
|
|
||||||
gettabinfo([{arg}]) *gettabinfo()*
|
gettabinfo([{arg}]) *gettabinfo()*
|
||||||
If {arg} is not specified, then information about all the tab
|
If {arg} is not specified, then information about all the tab
|
||||||
pages is returned as a List. Each List item is a Dictionary.
|
pages is returned as a |List|. Each List item is a |Dictionary|.
|
||||||
Otherwise, {arg} specifies the tab page number and information
|
Otherwise, {arg} specifies the tab page number and information
|
||||||
about that one is returned. If the tab page does not exist an
|
about that one is returned. If the tab page does not exist an
|
||||||
empty List is returned.
|
empty List is returned.
|
||||||
|
|
||||||
Each List item is a Dictionary with the following entries:
|
Each List item is a |Dictionary| with the following entries:
|
||||||
tabnr tab page number.
|
tabnr tab page number.
|
||||||
variables a reference to the dictionary with
|
variables a reference to the dictionary with
|
||||||
tabpage-local variables
|
tabpage-local variables
|
||||||
@ -5712,7 +5725,7 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
|||||||
When {varname} is empty a dictionary with all window-local
|
When {varname} is empty a dictionary with all window-local
|
||||||
variables is returned.
|
variables is returned.
|
||||||
When {varname} is equal to "&" get the values of all
|
When {varname} is equal to "&" get the values of all
|
||||||
window-local options in a Dictionary.
|
window-local options in a |Dictionary|.
|
||||||
Otherwise, when {varname} starts with "&" get the value of a
|
Otherwise, when {varname} starts with "&" get the value of a
|
||||||
window-local option.
|
window-local option.
|
||||||
Note that {varname} must be the name without "w:".
|
Note that {varname} must be the name without "w:".
|
||||||
@ -5767,16 +5780,16 @@ gettagstack([{nr}]) *gettagstack()*
|
|||||||
GetWinnr()->gettagstack()
|
GetWinnr()->gettagstack()
|
||||||
|
|
||||||
getwininfo([{winid}]) *getwininfo()*
|
getwininfo([{winid}]) *getwininfo()*
|
||||||
Returns information about windows as a List with Dictionaries.
|
Returns information about windows as a |List| with Dictionaries.
|
||||||
|
|
||||||
If {winid} is given Information about the window with that ID
|
If {winid} is given Information about the window with that ID
|
||||||
is returned, as a List with one item. If the window does not
|
is returned, as a |List| with one item. If the window does not
|
||||||
exist the result is an empty list.
|
exist the result is an empty list.
|
||||||
|
|
||||||
Without {winid} information about all the windows in all the
|
Without {winid} information about all the windows in all the
|
||||||
tab pages is returned.
|
tab pages is returned.
|
||||||
|
|
||||||
Each List item is a Dictionary with the following entries:
|
Each List item is a |Dictionary| with the following entries:
|
||||||
botline last displayed buffer line
|
botline last displayed buffer line
|
||||||
bufnr number of buffer in the window
|
bufnr number of buffer in the window
|
||||||
height window height (excluding winbar)
|
height window height (excluding winbar)
|
||||||
@ -5804,7 +5817,7 @@ getwininfo([{winid}]) *getwininfo()*
|
|||||||
GetWinnr()->getwininfo()
|
GetWinnr()->getwininfo()
|
||||||
|
|
||||||
getwinpos([{timeout}]) *getwinpos()*
|
getwinpos([{timeout}]) *getwinpos()*
|
||||||
The result is a List with two numbers, the result of
|
The result is a |List| with two numbers, the result of
|
||||||
|getwinposx()| and |getwinposy()| combined:
|
|getwinposx()| and |getwinposy()| combined:
|
||||||
[x-pos, y-pos]
|
[x-pos, y-pos]
|
||||||
{timeout} can be used to specify how long to wait in msec for
|
{timeout} can be used to specify how long to wait in msec for
|
||||||
@ -5859,7 +5872,7 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
|
|||||||
'suffixes' affect the ordering of matches.
|
'suffixes' affect the ordering of matches.
|
||||||
'wildignorecase' always applies.
|
'wildignorecase' always applies.
|
||||||
|
|
||||||
When {list} is present and it is |TRUE| the result is a List
|
When {list} is present and it is |TRUE| the result is a |List|
|
||||||
with all matching files. The advantage of using a List is,
|
with all matching files. The advantage of using a List is,
|
||||||
you also get filenames containing newlines correctly.
|
you also get filenames containing newlines correctly.
|
||||||
Otherwise the result is a String and when there are several
|
Otherwise the result is a String and when there are several
|
||||||
@ -5922,7 +5935,7 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
|||||||
one of the patterns in 'wildignore' will be skipped and
|
one of the patterns in 'wildignore' will be skipped and
|
||||||
'suffixes' affect the ordering of matches.
|
'suffixes' affect the ordering of matches.
|
||||||
|
|
||||||
When {list} is present and it is |TRUE| the result is a List
|
When {list} is present and it is |TRUE| the result is a |List|
|
||||||
with all matching files. The advantage of using a List is, you
|
with all matching files. The advantage of using a List is, you
|
||||||
also get filenames containing newlines correctly. Otherwise
|
also get filenames containing newlines correctly. Otherwise
|
||||||
the result is a String and when there are several matches,
|
the result is a String and when there are several matches,
|
||||||
@ -7281,7 +7294,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
|
|||||||
|
|
||||||
*max()*
|
*max()*
|
||||||
max({expr}) Return the maximum value of all items in {expr}.
|
max({expr}) Return the maximum value of all items in {expr}.
|
||||||
{expr} can be a List or a Dictionary. For a Dictionary,
|
{expr} can be a |List| or a |Dictionary|. For a Dictionary,
|
||||||
it returns the maximum of all values in the Dictionary.
|
it returns the maximum of all values in the Dictionary.
|
||||||
If {expr} is neither a List nor a Dictionary, or one of the
|
If {expr} is neither a List nor a Dictionary, or one of the
|
||||||
items in {expr} cannot be used as a Number this results in
|
items in {expr} cannot be used as a Number this results in
|
||||||
@ -7352,7 +7365,7 @@ menu_info({name} [, {mode}]) *menu_info()*
|
|||||||
|
|
||||||
< *min()*
|
< *min()*
|
||||||
min({expr}) Return the minimum value of all items in {expr}.
|
min({expr}) Return the minimum value of all items in {expr}.
|
||||||
{expr} can be a List or a Dictionary. For a Dictionary,
|
{expr} can be a |List| or a |Dictionary|. For a Dictionary,
|
||||||
it returns the minimum of all values in the Dictionary.
|
it returns the minimum of all values in the Dictionary.
|
||||||
If {expr} is neither a List nor a Dictionary, or one of the
|
If {expr} is neither a List nor a Dictionary, or one of the
|
||||||
items in {expr} cannot be used as a Number this results in
|
items in {expr} cannot be used as a Number this results in
|
||||||
@ -8014,7 +8027,7 @@ readdirex({directory} [, {expr} [, {dict}]]) *readdirex()*
|
|||||||
If {expr} results in 1 then this entry will be added
|
If {expr} results in 1 then this entry will be added
|
||||||
to the list.
|
to the list.
|
||||||
The entries "." and ".." are always excluded.
|
The entries "." and ".." are always excluded.
|
||||||
Each time {expr} is evaluated |v:val| is set to a Dictionary
|
Each time {expr} is evaluated |v:val| is set to a |Dictionary|
|
||||||
of the entry.
|
of the entry.
|
||||||
When {expr} is a function the entry is passed as the argument.
|
When {expr} is a function the entry is passed as the argument.
|
||||||
For example, to get a list of files ending in ".txt": >
|
For example, to get a list of files ending in ".txt": >
|
||||||
@ -8263,7 +8276,7 @@ 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 the item.
|
return the item.
|
||||||
With {end}: Remove items from {idx} to {end} (inclusive) and
|
With {end}: Remove items from {idx} to {end} (inclusive) and
|
||||||
return a List with these items. When {idx} points to the same
|
return a |List| with these items. When {idx} points to the same
|
||||||
item as {end} a list with one item is returned. When {end}
|
item as {end} a list with one item is returned. When {end}
|
||||||
points to an item before {idx} this is an error.
|
points to an item before {idx} this is an error.
|
||||||
See |list-index| for possible values of {idx} and {end}.
|
See |list-index| for possible values of {idx} and {end}.
|
||||||
@ -8400,7 +8413,7 @@ screenchar({row}, {col}) *screenchar()*
|
|||||||
GetRow()->screenchar(col)
|
GetRow()->screenchar(col)
|
||||||
|
|
||||||
screenchars({row}, {col}) *screenchars()*
|
screenchars({row}, {col}) *screenchars()*
|
||||||
The result is a List of Numbers. The first number is the same
|
The result is a |List| of Numbers. The first number is the same
|
||||||
as what |screenchar()| returns. Further numbers are
|
as what |screenchar()| returns. Further numbers are
|
||||||
composing characters on top of the base character.
|
composing characters on top of the base character.
|
||||||
This is mainly to be used for testing.
|
This is mainly to be used for testing.
|
||||||
@ -8565,7 +8578,7 @@ searchcount([{options}]) *searchcount()*
|
|||||||
without the "S" flag in 'shortmess'. This works even if
|
without the "S" flag in 'shortmess'. This works even if
|
||||||
'shortmess' does contain the "S" flag.
|
'shortmess' does contain the "S" flag.
|
||||||
|
|
||||||
This returns a Dictionary. The dictionary is empty if the
|
This returns a |Dictionary|. The dictionary is empty if the
|
||||||
previous pattern was not set and "pattern" was not specified.
|
previous pattern was not set and "pattern" was not specified.
|
||||||
|
|
||||||
key type meaning ~
|
key type meaning ~
|
||||||
@ -8647,7 +8660,7 @@ searchcount([{options}]) *searchcount()*
|
|||||||
" search again
|
" search again
|
||||||
call searchcount()
|
call searchcount()
|
||||||
<
|
<
|
||||||
{options} must be a Dictionary. It can contain:
|
{options} must be a |Dictionary|. It can contain:
|
||||||
key type meaning ~
|
key type meaning ~
|
||||||
recompute |Boolean| if |TRUE|, recompute the count
|
recompute |Boolean| if |TRUE|, recompute the count
|
||||||
like |n| or |N| was executed.
|
like |n| or |N| was executed.
|
||||||
@ -9186,10 +9199,12 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
|||||||
setreg({regname}, {value} [, {options}])
|
setreg({regname}, {value} [, {options}])
|
||||||
Set the register {regname} to {value}.
|
Set the register {regname} to {value}.
|
||||||
If {regname} is "" or "@", the unnamed register '"' is used.
|
If {regname} is "" or "@", the unnamed register '"' is used.
|
||||||
|
|
||||||
{value} may be any value returned by |getreg()| or
|
{value} may be any value returned by |getreg()| or
|
||||||
|getreginfo()|, including a |List| or |Dict|.
|
|getreginfo()|, including a |List| or |Dict|.
|
||||||
If {options} contains "a" or {regname} is upper case,
|
If {options} contains "a" or {regname} is upper case,
|
||||||
then the value is appended.
|
then the value is appended.
|
||||||
|
|
||||||
{options} can also contain a register type specification:
|
{options} can also contain a register type specification:
|
||||||
"c" or "v" |characterwise| mode
|
"c" or "v" |characterwise| mode
|
||||||
"l" or "V" |linewise| mode
|
"l" or "V" |linewise| mode
|
||||||
@ -9220,7 +9235,7 @@ setreg({regname}, {value} [, {options}])
|
|||||||
register: >
|
register: >
|
||||||
:let var_a = getreginfo()
|
:let var_a = getreginfo()
|
||||||
:call setreg('a', var_a)
|
:call setreg('a', var_a)
|
||||||
< or:
|
< or: >
|
||||||
:let var_a = getreg('a', 1, 1)
|
:let var_a = getreg('a', 1, 1)
|
||||||
:let var_amode = getregtype('a')
|
:let var_amode = getregtype('a')
|
||||||
....
|
....
|
||||||
@ -9697,13 +9712,13 @@ state([{what}]) *state()*
|
|||||||
something is busy:
|
something is busy:
|
||||||
m halfway a mapping, :normal command, feedkeys() or
|
m halfway a mapping, :normal command, feedkeys() or
|
||||||
stuffed command
|
stuffed command
|
||||||
o operator pending or waiting for a command argument,
|
o operator pending, e.g. after |d|
|
||||||
e.g. after |f|
|
|
||||||
a Insert mode autocomplete active
|
a Insert mode autocomplete active
|
||||||
x executing an autocommand
|
x executing an autocommand
|
||||||
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
|
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
|
||||||
ch_readraw() when reading json.
|
ch_readraw() when reading json
|
||||||
S not triggering SafeState or SafeStateAgain
|
S not triggering SafeState or SafeStateAgain, e.g. after
|
||||||
|
|f| or a count
|
||||||
c callback invoked, including timer (repeats for
|
c callback invoked, including timer (repeats for
|
||||||
recursiveness up to "ccc")
|
recursiveness up to "ccc")
|
||||||
s screen has scrolled for messages
|
s screen has scrolled for messages
|
||||||
@ -9884,7 +9899,7 @@ string({expr}) Return {expr} converted to a String. If {expr} is a Number,
|
|||||||
List [item, item]
|
List [item, item]
|
||||||
Dictionary {key: value, key: value}
|
Dictionary {key: value, key: value}
|
||||||
|
|
||||||
When a List or Dictionary has a recursive reference it is
|
When a |List| or |Dictionary| has a recursive reference it is
|
||||||
replaced by "[...]" or "{...}". Using eval() on the result
|
replaced by "[...]" or "{...}". Using eval() on the result
|
||||||
will then fail.
|
will then fail.
|
||||||
|
|
||||||
@ -10175,7 +10190,7 @@ synIDtrans({synID}) *synIDtrans()*
|
|||||||
:echo synID(line("."), col("."), 1)->synIDtrans()->synIDattr("fg")
|
:echo synID(line("."), col("."), 1)->synIDtrans()->synIDattr("fg")
|
||||||
|
|
||||||
synconcealed({lnum}, {col}) *synconcealed()*
|
synconcealed({lnum}, {col}) *synconcealed()*
|
||||||
The result is a List with currently three items:
|
The result is a |List| with currently three items:
|
||||||
1. The first item in the list is 0 if the character at the
|
1. The first item in the list is 0 if the character at the
|
||||||
position {lnum} and {col} is not part of a concealable
|
position {lnum} and {col} is not part of a concealable
|
||||||
region, 1 if it is.
|
region, 1 if it is.
|
||||||
@ -10220,7 +10235,7 @@ synstack({lnum}, {col}) *synstack()*
|
|||||||
|
|
||||||
system({expr} [, {input}]) *system()* *E677*
|
system({expr} [, {input}]) *system()* *E677*
|
||||||
Get the output of the shell command {expr} as a string. See
|
Get the output of the shell command {expr} as a string. See
|
||||||
|systemlist()| to get the output as a List.
|
|systemlist()| to get the output as a |List|.
|
||||||
|
|
||||||
When {input} is given and is a string this string is written
|
When {input} is given and is a string this string is written
|
||||||
to a file and passed as stdin to the command. The string is
|
to a file and passed as stdin to the command. The string is
|
||||||
@ -10482,7 +10497,7 @@ timer_info([{id}])
|
|||||||
returned.
|
returned.
|
||||||
When {id} is omitted information about all timers is returned.
|
When {id} is omitted information about all timers is returned.
|
||||||
|
|
||||||
For each timer the information is stored in a Dictionary with
|
For each timer the information is stored in a |Dictionary| with
|
||||||
these items:
|
these items:
|
||||||
"id" the timer ID
|
"id" the timer ID
|
||||||
"time" time the timer was started with
|
"time" time the timer was started with
|
||||||
@ -10716,7 +10731,7 @@ undotree() *undotree()*
|
|||||||
undo blocks.
|
undo blocks.
|
||||||
|
|
||||||
The first item in the "entries" list is the oldest undo item.
|
The first item in the "entries" list is the oldest undo item.
|
||||||
Each List item is a Dictionary with these items:
|
Each List item is a |Dictionary| with these items:
|
||||||
"seq" Undo sequence number. Same as what appears in
|
"seq" Undo sequence number. Same as what appears in
|
||||||
|:undolist|.
|
|:undolist|.
|
||||||
"time" Timestamp when the change happened. Use
|
"time" Timestamp when the change happened. Use
|
||||||
@ -10928,7 +10943,7 @@ win_splitmove({nr}, {target} [, {options}]) *win_splitmove()*
|
|||||||
|
|
||||||
Returns zero for success, non-zero for failure.
|
Returns zero for success, non-zero for failure.
|
||||||
|
|
||||||
{options} is a Dictionary with the following optional entries:
|
{options} is a |Dictionary| with the following optional entries:
|
||||||
"vertical" When TRUE, the split is created vertically,
|
"vertical" When TRUE, the split is created vertically,
|
||||||
like with |:vsplit|.
|
like with |:vsplit|.
|
||||||
"rightbelow" When TRUE, the split is made below or to the
|
"rightbelow" When TRUE, the split is made below or to the
|
||||||
@ -12093,8 +12108,9 @@ An assignment leaves out the `:let` command. |vim9-declaration|
|
|||||||
text...
|
text...
|
||||||
text...
|
text...
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Set internal variable {var-name} to a List containing
|
Set internal variable {var-name} to a |List|
|
||||||
the lines of text bounded by the string {endmarker}.
|
containing the lines of text bounded by the string
|
||||||
|
{endmarker}.
|
||||||
{endmarker} must not contain white space.
|
{endmarker} must not contain white space.
|
||||||
{endmarker} cannot start with a lower case character.
|
{endmarker} cannot start with a lower case character.
|
||||||
The last line should end only with the {endmarker}
|
The last line should end only with the {endmarker}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*if_lua.txt* For Vim version 8.2. Last change: 2020 May 17
|
*if_lua.txt* For Vim version 8.2. Last change: 2020 Jun 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Luis Carvalho
|
VIM REFERENCE MANUAL by Luis Carvalho
|
||||||
|
@ -3894,6 +3894,7 @@ E103 diff.txt /*E103*
|
|||||||
E104 digraph.txt /*E104*
|
E104 digraph.txt /*E104*
|
||||||
E1042 vim9.txt /*E1042*
|
E1042 vim9.txt /*E1042*
|
||||||
E105 mbyte.txt /*E105*
|
E105 mbyte.txt /*E105*
|
||||||
|
E1050 vim9.txt /*E1050*
|
||||||
E107 eval.txt /*E107*
|
E107 eval.txt /*E107*
|
||||||
E108 eval.txt /*E108*
|
E108 eval.txt /*E108*
|
||||||
E109 eval.txt /*E109*
|
E109 eval.txt /*E109*
|
||||||
@ -10002,6 +10003,7 @@ vim9-declaration vim9.txt /*vim9-declaration*
|
|||||||
vim9-declarations usr_46.txt /*vim9-declarations*
|
vim9-declarations usr_46.txt /*vim9-declarations*
|
||||||
vim9-differences vim9.txt /*vim9-differences*
|
vim9-differences vim9.txt /*vim9-differences*
|
||||||
vim9-export vim9.txt /*vim9-export*
|
vim9-export vim9.txt /*vim9-export*
|
||||||
|
vim9-gotchas vim9.txt /*vim9-gotchas*
|
||||||
vim9-import vim9.txt /*vim9-import*
|
vim9-import vim9.txt /*vim9-import*
|
||||||
vim9-rationale vim9.txt /*vim9-rationale*
|
vim9-rationale vim9.txt /*vim9-rationale*
|
||||||
vim9-scopes vim9.txt /*vim9-scopes*
|
vim9-scopes vim9.txt /*vim9-scopes*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.2. Last change: 2020 Jun 21
|
*todo.txt* For Vim version 8.2. Last change: 2020 Jun 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -40,12 +40,31 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
|
|
||||||
Include src/po/vim.pot ?
|
Include src/po/vim.pot ?
|
||||||
|
|
||||||
See if resizing a terminal can be fixed.
|
|
||||||
|
|
||||||
Vim9 script:
|
Vim9 script:
|
||||||
|
- line continuation at script level:
|
||||||
|
eval_to_string_skip(), test with :throw
|
||||||
|
eval1_emsg(), pass "eap", test with :execute, :echomsg, :echoerr
|
||||||
|
handle_subscript() - call_func_rettv() - get_func_tv()
|
||||||
|
func(
|
||||||
|
args arg)
|
||||||
|
callers of get_func_tv():
|
||||||
|
eval_func()
|
||||||
|
ex_call()
|
||||||
|
function arguments, test assert_equal() with lambda, test :function
|
||||||
|
:import:
|
||||||
|
others
|
||||||
|
eval_index()
|
||||||
|
- test:
|
||||||
|
[1,
|
||||||
|
2,
|
||||||
|
3]->Func()
|
||||||
|
|
||||||
Making everything work:
|
Making everything work:
|
||||||
|
- "nr += 4" gives "already defined" error.
|
||||||
- Error for "g:var: string = 'value'"
|
- Error for "g:var: string = 'value'"
|
||||||
- Make func()->append('$') work - value is last argument, not first. #6305
|
- Make func()->append('$') work - value is last argument, not first. #6305
|
||||||
|
- in Vim9 script expressions are evaluated differently, not using a type.
|
||||||
|
e.g. "'' == 0" does not give an error and evaluates to true.
|
||||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||||
- memory leaks in test_vim9_expr
|
- memory leaks in test_vim9_expr
|
||||||
- memory leaks in test_vim9_script
|
- memory leaks in test_vim9_script
|
||||||
@ -134,12 +153,6 @@ Further improvements:
|
|||||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||||
|
|
||||||
Popup windows:
|
Popup windows:
|
||||||
- With some sequence get get hidden finished terminal buffer. (#5768)
|
|
||||||
Cannot close popup terminal (#5744)
|
|
||||||
Buffer can't be wiped, gets status "aF". (#5764)
|
|
||||||
Is buf->nwindows incorrect?
|
|
||||||
- popup_clear() and popup_close() should close the terminal popup, and
|
|
||||||
make the buffer hidden. #5745
|
|
||||||
- Cursor not updated before a redraw, making it jump. (#5943)
|
- Cursor not updated before a redraw, making it jump. (#5943)
|
||||||
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
|
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
|
||||||
- Fire some autocommand event after a new popup window was created and
|
- Fire some autocommand event after a new popup window was created and
|
||||||
@ -274,6 +287,13 @@ The buffer list and windows are locked, no changes possible
|
|||||||
How about removing Atari MiNT support?
|
How about removing Atari MiNT support?
|
||||||
src/Make_mint.mak, src/os_mint.h, matches with __MINT__
|
src/Make_mint.mak, src/os_mint.h, matches with __MINT__
|
||||||
|
|
||||||
|
Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
|
||||||
|
replace this:
|
||||||
|
let left = GetLeftFunc()
|
||||||
|
let right = GetRightFunc()
|
||||||
|
let res = left < right ? lower : left == right ? equal : upper
|
||||||
|
by:
|
||||||
|
let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper
|
||||||
Patch to make :q work with local arglist. (Christian Brabandt, #6286)
|
Patch to make :q work with local arglist. (Christian Brabandt, #6286)
|
||||||
|
|
||||||
Patch to fix drawing error with DirectX. (James Grant, #5688)
|
Patch to fix drawing error with DirectX. (James Grant, #5688)
|
||||||
@ -495,9 +515,6 @@ window 2. User expects 10 to be added to size of window 2. (Daniel Steinberg,
|
|||||||
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
||||||
t:diffexpr_option t:diffopt_option? (#4782)
|
t:diffexpr_option t:diffopt_option? (#4782)
|
||||||
|
|
||||||
v:register isn't reset early enough, may be used by next command.
|
|
||||||
(Andy Massimino, #5294, possible fix in #5305)
|
|
||||||
|
|
||||||
Internal diff doesn't handle binary file like external diff does. (Mike
|
Internal diff doesn't handle binary file like external diff does. (Mike
|
||||||
Williams, 2018 Oct 30)
|
Williams, 2018 Oct 30)
|
||||||
|
|
||||||
@ -580,9 +597,6 @@ buffer didn't change at all.
|
|||||||
Line numbers in profile are off when function was defined with ":execute".
|
Line numbers in profile are off when function was defined with ":execute".
|
||||||
(Daniel Hahler, #4511)
|
(Daniel Hahler, #4511)
|
||||||
|
|
||||||
Add a way to create an empty, hidden buffer. Like doing ":new|hide".
|
|
||||||
":let buf = bufcreate('name')
|
|
||||||
|
|
||||||
Session file contains absolute paths when "curdir" is removed form
|
Session file contains absolute paths when "curdir" is removed form
|
||||||
'sessionoptions', making it impossible to have a session with a relative path.
|
'sessionoptions', making it impossible to have a session with a relative path.
|
||||||
(#4450)
|
(#4450)
|
||||||
@ -1199,8 +1213,8 @@ Make a function to check for function-like type?
|
|||||||
Screen updated delayed when using CTRL-O u in Insert mode.
|
Screen updated delayed when using CTRL-O u in Insert mode.
|
||||||
(Barlik, #1191) Perhaps because status message?
|
(Barlik, #1191) Perhaps because status message?
|
||||||
|
|
||||||
Implement named arguments for functions:
|
Implement named arguments for functions with optional arguments:
|
||||||
func Foo(start, count = 1 all = 1)
|
func Foo(start, count = 1, all = 1)
|
||||||
call Foo(12, all = 0)
|
call Foo(12, all = 0)
|
||||||
|
|
||||||
Add a command to take a range of lines, filter them and put the output
|
Add a command to take a range of lines, filter them and put the output
|
||||||
@ -1393,8 +1407,6 @@ Did maintainer reply?
|
|||||||
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
|
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
|
||||||
Also with latest version.
|
Also with latest version.
|
||||||
|
|
||||||
Cannot delete a file with square brackets with delete(). (#696)
|
|
||||||
|
|
||||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||||
Jul 25, #948)
|
Jul 25, #948)
|
||||||
|
|
||||||
@ -1403,8 +1415,6 @@ names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
|||||||
Assume the system converts between the actual encoding of the filesystem to
|
Assume the system converts between the actual encoding of the filesystem to
|
||||||
the system encoding (usually utf-8).
|
the system encoding (usually utf-8).
|
||||||
|
|
||||||
'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
|
|
||||||
|
|
||||||
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
||||||
Otherwise task flickers in taskbar.
|
Otherwise task flickers in taskbar.
|
||||||
|
|
||||||
@ -1416,8 +1426,6 @@ Have a way to get the call stack, in a function and from an exception.
|
|||||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||||
|
|
||||||
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
|
|
||||||
|
|
||||||
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
||||||
|
|
||||||
Patch to improve map documentation. Issue #799.
|
Patch to improve map documentation. Issue #799.
|
||||||
@ -1436,8 +1444,6 @@ Reject the value? #710.
|
|||||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||||
|
|
||||||
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
|
|
||||||
|
|
||||||
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
||||||
No test, needs some work to include.
|
No test, needs some work to include.
|
||||||
|
|
||||||
@ -1507,20 +1513,10 @@ If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
|||||||
Patch to avoid redrawing tabline when the popup menu is visible.
|
Patch to avoid redrawing tabline when the popup menu is visible.
|
||||||
(Christian Brabandt, 2016 Jan 28)
|
(Christian Brabandt, 2016 Jan 28)
|
||||||
|
|
||||||
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
|
|
||||||
|
|
||||||
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
||||||
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
||||||
Do not trigger the event?
|
Do not trigger the event?
|
||||||
|
|
||||||
Using ":windo" to set options in all windows has the side effect that it
|
|
||||||
changes the window layout and the current window. Make a variant that saves
|
|
||||||
and restores. Use in the matchparen plugin.
|
|
||||||
Perhaps we can use ":windo <restore> {cmd}"?
|
|
||||||
Patch to add <restore> to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan
|
|
||||||
6, 2nd message)
|
|
||||||
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
|
|
||||||
|
|
||||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||||
@ -1549,10 +1545,6 @@ Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
|||||||
|
|
||||||
Comparing nested structures with "==" uses a different comparator than when
|
Comparing nested structures with "==" uses a different comparator than when
|
||||||
comparing individual items.
|
comparing individual items.
|
||||||
Also, "'' == 0" evaluates to true, which isn't nice.
|
|
||||||
Add "===" to have a strict comparison (type and value match).
|
|
||||||
Add "==*" (?) to have a value match, but no automatic conversion, and v:true
|
|
||||||
equals 1 and 1.0, v:false equals 0 and 0.0.?
|
|
||||||
|
|
||||||
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
|
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
|
||||||
|
|
||||||
@ -1723,8 +1715,6 @@ arguments.
|
|||||||
|
|
||||||
Problem with transparent and matchgroup. Issue #475
|
Problem with transparent and matchgroup. Issue #475
|
||||||
|
|
||||||
Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)
|
|
||||||
|
|
||||||
Spell files use a latin single quote. Unicode also has another single quote:
|
Spell files use a latin single quote. Unicode also has another single quote:
|
||||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||||
New OpenOffice spell files support this with ICONV. But they are not
|
New OpenOffice spell files support this with ICONV. But they are not
|
||||||
@ -1751,8 +1741,11 @@ from?
|
|||||||
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||||
2014 Jun 8)
|
2014 Jun 8)
|
||||||
|
|
||||||
Include a plugin manager with Vim? Neobundle seems to be the best currently.
|
Include a plugin manager with Vim? vim-plug seems to be the best currently:
|
||||||
|
https://github.com/junegunn/vim-plug.
|
||||||
Also Vundle: https://github.com/gmarik/vundle
|
Also Vundle: https://github.com/gmarik/vundle
|
||||||
|
Or minpac: https://github.com/k-takata/minpac, since it leverages the builtin
|
||||||
|
package feature.
|
||||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||||
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||||
User view:
|
User view:
|
||||||
@ -1807,6 +1800,7 @@ instead. (Samuel Ferencik, 2013 Sep 28)
|
|||||||
|
|
||||||
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
|
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
|
||||||
Remark on the docs. Should not be a compile time feature. But then what?
|
Remark on the docs. Should not be a compile time feature. But then what?
|
||||||
|
Also see #2034.
|
||||||
|
|
||||||
Completion of ":e" is ":earlier", should be ":edit". Complete to the matching
|
Completion of ":e" is ":earlier", should be ":edit". Complete to the matching
|
||||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
command instead of doing this alphabetically. (Mikel Jorgensen)
|
||||||
@ -1868,6 +1862,10 @@ Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
|||||||
|
|
||||||
Exception caused by argument of return is not caught by try/catch.
|
Exception caused by argument of return is not caught by try/catch.
|
||||||
(David Barnett, 2013 Nov 19)
|
(David Barnett, 2013 Nov 19)
|
||||||
|
Bug in try/catch: return with invalid compare throws error that isn't caught.
|
||||||
|
(ZyX, 2011 Jan 26)
|
||||||
|
try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
|
||||||
|
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
|
||||||
|
|
||||||
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||||
2013 Mar 19, later message)
|
2013 Mar 19, later message)
|
||||||
@ -1903,6 +1901,8 @@ process that is running. It might actually be some other program, e.g. after
|
|||||||
a reboot.
|
a reboot.
|
||||||
|
|
||||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||||
|
Patch to add "combine" to :syntax, combines highlight attributes. (Nate
|
||||||
|
Soares, 2012 Dec 3)
|
||||||
|
|
||||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
not correctly updated. (Paul Harris, 2012 Feb 27)
|
||||||
@ -2090,9 +2090,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
|
|||||||
|
|
||||||
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
||||||
|
|
||||||
Bug in try/catch: return with invalid compare throws error that isn't caught.
|
|
||||||
(ZyX, 2011 Jan 26)
|
|
||||||
|
|
||||||
When setting a local option value from the global value, add a script ID that
|
When setting a local option value from the global value, add a script ID that
|
||||||
indicates this, so that ":verbose set" can give a hint. Check with options in
|
indicates this, so that ":verbose set" can give a hint. Check with options in
|
||||||
the help file.
|
the help file.
|
||||||
@ -2281,9 +2278,6 @@ Add local time at start of --startuptime output.
|
|||||||
Requires configure check for localtime().
|
Requires configure check for localtime().
|
||||||
Use format year-month-day hr:min:sec.
|
Use format year-month-day hr:min:sec.
|
||||||
|
|
||||||
Patch to add "combine" to :syntax, combines highlight attributes. (Nate
|
|
||||||
Soares, 2012 Dec 3)
|
|
||||||
|
|
||||||
Patch to make ":hi link" also take arguments. (Nate Soares, 2012 Dec 4)
|
Patch to make ":hi link" also take arguments. (Nate Soares, 2012 Dec 4)
|
||||||
|
|
||||||
Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
|
Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
|
||||||
@ -2478,6 +2472,9 @@ Sergey Khorev)
|
|||||||
|
|
||||||
Consider making YankRing or something else that keeps a list of yanked text
|
Consider making YankRing or something else that keeps a list of yanked text
|
||||||
part of standard Vim. The "1 to "9 registers are not sufficient.
|
part of standard Vim. The "1 to "9 registers are not sufficient.
|
||||||
|
6 When yanking into the unnamed registers several times, somehow make the
|
||||||
|
previous contents also available (like it's done for deleting). What
|
||||||
|
register names to use? g"1, g"2, etc.?
|
||||||
|
|
||||||
After doing "su" $HOME can be the old user's home, thus ~root/file is not
|
After doing "su" $HOME can be the old user's home, thus ~root/file is not
|
||||||
correct. Don't use it in the swap file.
|
correct. Don't use it in the swap file.
|
||||||
@ -2684,10 +2681,6 @@ Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
|
|||||||
In the swapfile dialog, add a H(elp) option that gives more info about what
|
In the swapfile dialog, add a H(elp) option that gives more info about what
|
||||||
each choice does. Similar to ":help swap-exists-choices"
|
each choice does. Similar to ":help swap-exists-choices"
|
||||||
|
|
||||||
try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
|
|
||||||
|
|
||||||
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
|
|
||||||
|
|
||||||
":tab help" always opens a new tab, while ":help" re-uses an existing window.
|
":tab help" always opens a new tab, while ":help" re-uses an existing window.
|
||||||
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
|
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
|
||||||
|
|
||||||
@ -3257,7 +3250,7 @@ Quickfix/Location List:
|
|||||||
":grep" and ":helpgrep".
|
":grep" and ":helpgrep".
|
||||||
More generic solution: support a filter (e.g., by calling a function).
|
More generic solution: support a filter (e.g., by calling a function).
|
||||||
7 Add a command that goes back to the position from before jumping to the
|
7 Add a command that goes back to the position from before jumping to the
|
||||||
first quickfix location. ":cbefore"?
|
first quickfix location.
|
||||||
|
|
||||||
Vi incompatibility:
|
Vi incompatibility:
|
||||||
- Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
|
- Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
|
||||||
@ -3294,7 +3287,6 @@ Vi incompatibility:
|
|||||||
7 The ":map" command output overwrites the command. Perhaps it should keep
|
7 The ":map" command output overwrites the command. Perhaps it should keep
|
||||||
the ":map" when it's used without arguments?
|
the ":map" when it's used without arguments?
|
||||||
7 CTRL-L is not the end of a section? It is for Posix! Make it an option.
|
7 CTRL-L is not the end of a section? It is for Posix! Make it an option.
|
||||||
7 Implement 'prompt' option. Init to off when stdin is not a tty.
|
|
||||||
7 Add a way to send an email for a crashed edit session. Create a file when
|
7 Add a way to send an email for a crashed edit session. Create a file when
|
||||||
making changes (containing name of the swap file), delete it when writing
|
making changes (containing name of the swap file), delete it when writing
|
||||||
the file. Supply a program that can check for crashed sessions (either
|
the file. Supply a program that can check for crashed sessions (either
|
||||||
@ -3472,8 +3464,6 @@ GUI:
|
|||||||
Solaris 2.6. (Marley)
|
Solaris 2.6. (Marley)
|
||||||
9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim
|
9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim
|
||||||
is started from, causes empty lines below the cmdline. (raf)
|
is started from, causes empty lines below the cmdline. (raf)
|
||||||
8 X11 GUI: When menu is disabled by excluding 'm' from 'guioptions', ALT key
|
|
||||||
should not be used to trigger a menu (like the Win32 version).
|
|
||||||
8 When setting 'langmenu', it should be effective immediately. Store both
|
8 When setting 'langmenu', it should be effective immediately. Store both
|
||||||
the English and the translated text in the menu structure. Re-generate
|
the English and the translated text in the menu structure. Re-generate
|
||||||
the translation when 'langmenu' has changed.
|
the translation when 'langmenu' has changed.
|
||||||
@ -3512,10 +3502,6 @@ GUI:
|
|||||||
When the "+0+0" is omitted it works.
|
When the "+0+0" is omitted it works.
|
||||||
8 When starting an external command, and 'guipty' set, BS and DEL are mixed
|
8 When starting an external command, and 'guipty' set, BS and DEL are mixed
|
||||||
up. Set erase character somehow?
|
up. Set erase character somehow?
|
||||||
8 A dead circumflex followed by a space should give the '^' character
|
|
||||||
(Rommel). Look how xterm does this.
|
|
||||||
Also: Bednar has some code for dead key handling.
|
|
||||||
Also: Nedit 5.0.2 with USE_XMIM does it right. (Gaya)
|
|
||||||
8 The compose key doesn't work properly (Cepas). Both for Win32 and X11.
|
8 The compose key doesn't work properly (Cepas). Both for Win32 and X11.
|
||||||
7 The cursor in an inactive window should be hollow. Currently it's not
|
7 The cursor in an inactive window should be hollow. Currently it's not
|
||||||
visible.
|
visible.
|
||||||
@ -3612,17 +3598,8 @@ Macintosh:
|
|||||||
|
|
||||||
|
|
||||||
"Small" problems:
|
"Small" problems:
|
||||||
- Can't disable terminal flow control, to enable the use of CTRL-S and
|
|
||||||
CTRL-Q. Add an option for it?
|
|
||||||
- When using e_secure in do_one_cmd() mention the command being executed,
|
- When using e_secure in do_one_cmd() mention the command being executed,
|
||||||
otherwise it's not clear where it comes from.
|
otherwise it's not clear where it comes from.
|
||||||
- When the quickfix window is open and executing ":echo 'hello'" using the
|
|
||||||
Command-line window, the text is immediately removed by the redrawing.
|
|
||||||
(Michael Henry, 2008 Nov 1)
|
|
||||||
Generic solution: When redrawing while there is a message on the
|
|
||||||
cmdline, don't erase the display but draw over the existing text.
|
|
||||||
Other solution, redraw after closing the cmdline window, before executing
|
|
||||||
the command.
|
|
||||||
9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
|
9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
|
||||||
functions for characters below 0x80. (Sertacyildiz)
|
functions for characters below 0x80. (Sertacyildiz)
|
||||||
9 When the last edited file is a help file, using '0 in a new Vim doesn't
|
9 When the last edited file is a help file, using '0 in a new Vim doesn't
|
||||||
@ -4082,8 +4059,6 @@ Spell checking:
|
|||||||
- Considering Hunspell 1.1.4:
|
- Considering Hunspell 1.1.4:
|
||||||
What does MAXNGRAMSUGS do?
|
What does MAXNGRAMSUGS do?
|
||||||
Is COMPLEXPREFIXES necessary when we have flags for affixes?
|
Is COMPLEXPREFIXES necessary when we have flags for affixes?
|
||||||
- Support spelling words in CamelCase as if they were two separate words.
|
|
||||||
Requires some option to enable it. (Timothy Knox)
|
|
||||||
- There is no Finnish spell checking file. For openoffice Voikko is now
|
- There is no Finnish spell checking file. For openoffice Voikko is now
|
||||||
used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
|
used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
|
||||||
(Teemu Likonen)
|
(Teemu Likonen)
|
||||||
@ -4458,8 +4433,6 @@ Vim script language:
|
|||||||
7 Execute a function with standard option values. No need to save and
|
7 Execute a function with standard option values. No need to save and
|
||||||
restore option values. Especially useful for new options. Problem: how
|
restore option values. Especially useful for new options. Problem: how
|
||||||
to avoid a performance penalty (esp. for string options)?
|
to avoid a performance penalty (esp. for string options)?
|
||||||
8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
|
|
||||||
":let &t_xx =". Useful for making portable mappings.
|
|
||||||
- range for ":exec", pass it on to the executed command. (Webb)
|
- range for ":exec", pass it on to the executed command. (Webb)
|
||||||
8 ":{range}source": source the lines from the current file.
|
8 ":{range}source": source the lines from the current file.
|
||||||
You can already yank lines and use :@" to execute them.
|
You can already yank lines and use :@" to execute them.
|
||||||
@ -4690,8 +4663,6 @@ Messages:
|
|||||||
- Delete message after new command has been entered and have waited for key.
|
- Delete message after new command has been entered and have waited for key.
|
||||||
Perhaps after ten seconds?
|
Perhaps after ten seconds?
|
||||||
- Make message history available in "msg" variables: msg1, msg2, .. msg9.
|
- Make message history available in "msg" variables: msg1, msg2, .. msg9.
|
||||||
8 When reading from stdin allow suppressing the "reading from stdin"
|
|
||||||
message.
|
|
||||||
9 Check handling of overwriting of messages and delays:
|
9 Check handling of overwriting of messages and delays:
|
||||||
Very wrong: errors while redrawing cause endless loop.
|
Very wrong: errors while redrawing cause endless loop.
|
||||||
When switching to another file and screen scrolls because of the long
|
When switching to another file and screen scrolls because of the long
|
||||||
@ -5979,9 +5950,6 @@ Registers:
|
|||||||
8 Add put command that overwrites existing text. Should also work for
|
8 Add put command that overwrites existing text. Should also work for
|
||||||
blocks. Useful to move text around in a table. Works like using "R ^R r"
|
blocks. Useful to move text around in a table. Works like using "R ^R r"
|
||||||
for every line.
|
for every line.
|
||||||
6 When yanking into the unnamed registers several times, somehow make the
|
|
||||||
previous contents also available (like it's done for deleting). What
|
|
||||||
register names to use? g"1, g"2, etc.?
|
|
||||||
- When appending to a register, also report the total resulting number of
|
- When appending to a register, also report the total resulting number of
|
||||||
lines. Or just say "99 more lines yanked", add the "more".
|
lines. Or just say "99 more lines yanked", add the "more".
|
||||||
- When inserting a register in Insert mode with CTRL-R, don't insert comment
|
- When inserting a register in Insert mode with CTRL-R, don't insert comment
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*vim9.txt* For Vim version 8.2. Last change: 2020 Jun 22
|
*vim9.txt* For Vim version 8.2. Last change: 2020 Jun 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -378,6 +378,49 @@ string. >
|
|||||||
In Vim9 script one can use "true" for v:true and "false" for v:false.
|
In Vim9 script one can use "true" for v:true and "false" for v:false.
|
||||||
|
|
||||||
|
|
||||||
|
What to watch out for ~
|
||||||
|
*vim9-gotchas*
|
||||||
|
Vim9 was designed to be closer to often used programming languages, but at the
|
||||||
|
same time tries to support the legacy Vim commands. Some compromises had to
|
||||||
|
be made. Here is a summary of what might be unexpected.
|
||||||
|
|
||||||
|
Ex command ranges need to be prefixed with a colon. >
|
||||||
|
-> " legacy Vim: shifts the previous line to the right
|
||||||
|
->func() " Vim9: method call
|
||||||
|
:-> " Vim9: shifts the previous line to the right
|
||||||
|
|
||||||
|
%s/a/b " legacy Vim: substitute on all lines
|
||||||
|
x = alongname
|
||||||
|
% another " Vim9: line continuation without a backslash
|
||||||
|
:%s/a/b " Vim9: substitute on all lines
|
||||||
|
|
||||||
|
Functions defined with `:def` compile the whole function. Legacy functions
|
||||||
|
can bail out, and the following lines are not parsed: >
|
||||||
|
func Maybe()
|
||||||
|
if !has('feature')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
use-feature
|
||||||
|
endfunc
|
||||||
|
Vim9 functions are compiled as a whole: >
|
||||||
|
def Maybe()
|
||||||
|
if !has('feature')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
use-feature " May give compilation error
|
||||||
|
enddef
|
||||||
|
For a workaround, split it in two functions: >
|
||||||
|
func Maybe()
|
||||||
|
if has('feature')
|
||||||
|
call MaybyInner()
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
if has('feature')
|
||||||
|
def MaybeInner()
|
||||||
|
use-feature
|
||||||
|
enddef
|
||||||
|
endif
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
3. New style functions *fast-functions*
|
3. New style functions *fast-functions*
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2020 Jun 15
|
" Last Change: 2020 Jun 25
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user