forked from aniani/vim
Update runtime files
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2021 Jul 27
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2021 Aug 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -76,7 +76,7 @@ and in a `:def` function) then {cmd} will be executed as in Vim9
|
||||
script. Thus this depends on where the autocmd is defined, not where it is
|
||||
triggered.
|
||||
|
||||
{cmd} can use a block, like with `:command`, see |:command-repl|. Example: >
|
||||
{cmd} can be a block, like with `:command`, see |:command-repl|. Example: >
|
||||
au BufReadPost *.xml {
|
||||
setlocal matchpairs+=<:>
|
||||
/<start
|
||||
|
||||
@@ -536,7 +536,7 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
|
||||
GetChannel()->ch_evalraw(rawstring)
|
||||
|
||||
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
|
||||
Get the buffer number that {handle} is using for {what}.
|
||||
Get the buffer number that {handle} is using for String {what}.
|
||||
{handle} can be a Channel or a Job that has a Channel.
|
||||
{what} can be "err" for stderr, "out" for stdout or empty for
|
||||
socket output.
|
||||
@@ -586,8 +586,8 @@ ch_info({handle}) *ch_info()*
|
||||
|
||||
|
||||
ch_log({msg} [, {handle}]) *ch_log()*
|
||||
Write {msg} in the channel log file, if it was opened with
|
||||
|ch_logfile()|.
|
||||
Write String {msg} in the channel log file, if it was opened
|
||||
with |ch_logfile()|.
|
||||
When {handle} is passed the channel number is used for the
|
||||
message.
|
||||
{handle} can be a Channel or a Job that has a Channel. The
|
||||
@@ -625,7 +625,7 @@ ch_open({address} [, {options}]) *ch_open()*
|
||||
Open a channel to {address}. See |channel|.
|
||||
Returns a Channel. Use |ch_status()| to check for failure.
|
||||
|
||||
{address} has the form "hostname:port", e.g.,
|
||||
{address} is a String and has the form "hostname:port", e.g.,
|
||||
"localhost:8765".
|
||||
|
||||
When using an IPv6 address, enclose it within square brackets.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2021 May 30
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2021 Aug 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -170,7 +170,12 @@ CTRL-R {register} *c_CTRL-R* *c_<C-R>*
|
||||
too.
|
||||
When the result is a Float it's automatically
|
||||
converted to a String.
|
||||
See |registers| about registers.
|
||||
Note that when you only want to move the
|
||||
cursor and not insert anything, you must make
|
||||
sure the expression evaluates to an empty
|
||||
string. E.g.: >
|
||||
<C-R><C-R>=setcmdpos(2)[-1]<CR>
|
||||
< See |registers| about registers.
|
||||
Implementation detail: When using the |expression| register
|
||||
and invoking setcmdpos(), this sets the position before
|
||||
inserting the resulting string. Use CTRL-R CTRL-R to set the
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2021 Apr 07
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2021 Aug 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2021 Jul 05
|
||||
*insert.txt* For Vim version 8.2. Last change: 2021 Jul 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1194,7 +1194,7 @@ match to the total list. These matches should then not appear in the returned
|
||||
list! Call |complete_check()| now and then to allow the user to press a key
|
||||
while still searching for matches. Stop searching when it returns non-zero.
|
||||
|
||||
*E839* *E840*
|
||||
*E840*
|
||||
The function is allowed to move the cursor, it is restored afterwards.
|
||||
The function is not allowed to move to another window or delete text.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2021 Aug 01
|
||||
*map.txt* For Vim version 8.2. Last change: 2021 Aug 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
*message.txt* For Vim version 8.2. Last change: 2021 Jul 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -774,6 +774,14 @@ a user-defined command.
|
||||
This can only happen when changing the source code, when adding a command in
|
||||
src/ex_cmds.h. The lookup table then needs to be updated, by running: >
|
||||
make cmdidxs
|
||||
<
|
||||
*E928* *E889* *E839* >
|
||||
E928: String required
|
||||
E889: Number required
|
||||
E839: Bool required
|
||||
|
||||
These happen when a value or expression is used that does not have the
|
||||
expected type.
|
||||
|
||||
==============================================================================
|
||||
3. Messages *messages*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2021 Feb 21
|
||||
*popup.txt* For Vim version 8.2. Last change: 2021 Aug 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -904,6 +904,8 @@ Some recommended key actions:
|
||||
cursor keys select another entry
|
||||
Tab accept current suggestion
|
||||
|
||||
When CTRL-C is pressed the popup is closed, the filter will not be invoked.
|
||||
|
||||
A mouse click arrives as <LeftMouse>. The coordinates can be obtained with
|
||||
|getmousepos()|.
|
||||
|
||||
|
||||
@@ -451,13 +451,13 @@ sign_getdefined([{name}]) *sign_getdefined()*
|
||||
Can also be used as a |method|: >
|
||||
GetSignList()->sign_getdefined()
|
||||
|
||||
sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
||||
sign_getplaced([{buf} [, {dict}]]) *sign_getplaced()*
|
||||
Return a list of signs placed in a buffer or all the buffers.
|
||||
This is similar to the |:sign-place-list| command.
|
||||
|
||||
If the optional buffer name {expr} is specified, then only the
|
||||
If the optional buffer name {buf} is specified, then only the
|
||||
list of signs placed in that buffer is returned. For the use
|
||||
of {expr}, see |bufname()|. The optional {dict} can contain
|
||||
of {buf}, see |bufname()|. The optional {dict} can contain
|
||||
the following entries:
|
||||
group select only signs in this group
|
||||
id select sign with this identifier
|
||||
@@ -515,12 +515,12 @@ sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
||||
GetBufname()->sign_getplaced()
|
||||
<
|
||||
*sign_jump()*
|
||||
sign_jump({id}, {group}, {expr})
|
||||
Open the buffer {expr} or jump to the window that contains
|
||||
{expr} and position the cursor at sign {id} in group {group}.
|
||||
sign_jump({id}, {group}, {buf})
|
||||
Open the buffer {buf} or jump to the window that contains
|
||||
{buf} and position the cursor at sign {id} in group {group}.
|
||||
This is similar to the |:sign-jump| command.
|
||||
|
||||
For the use of {expr}, see |bufname()|.
|
||||
For the use of {buf}, see |bufname()|.
|
||||
|
||||
Returns the line number of the sign. Returns -1 if the
|
||||
arguments are invalid.
|
||||
@@ -533,9 +533,9 @@ sign_jump({id}, {group}, {expr})
|
||||
GetSignid()->sign_jump()
|
||||
<
|
||||
*sign_place()*
|
||||
sign_place({id}, {group}, {name}, {expr} [, {dict}])
|
||||
sign_place({id}, {group}, {name}, {buf} [, {dict}])
|
||||
Place the sign defined as {name} at line {lnum} in file or
|
||||
buffer {expr} and assign {id} and {group} to sign. This is
|
||||
buffer {buf} and assign {id} and {group} to sign. This is
|
||||
similar to the |:sign-place| command.
|
||||
|
||||
If the sign identifier {id} is zero, then a new identifier is
|
||||
@@ -546,12 +546,12 @@ sign_place({id}, {group}, {name}, {expr} [, {dict}])
|
||||
and |sign-group| for more information.
|
||||
|
||||
{name} refers to a defined sign.
|
||||
{expr} refers to a buffer name or number. For the accepted
|
||||
{buf} refers to a buffer name or number. For the accepted
|
||||
values, see |bufname()|.
|
||||
|
||||
The optional {dict} argument supports the following entries:
|
||||
lnum line number in the file or buffer
|
||||
{expr} where the sign is to be placed.
|
||||
{buf} where the sign is to be placed.
|
||||
For the accepted values, see |line()|.
|
||||
priority priority of the sign. See
|
||||
|sign-priority| for more information.
|
||||
|
||||
@@ -2307,6 +2307,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:command-nargs map.txt /*:command-nargs*
|
||||
:command-range map.txt /*:command-range*
|
||||
:command-register map.txt /*:command-register*
|
||||
:command-repl map.txt /*:command-repl*
|
||||
:command-verbose map.txt /*:command-verbose*
|
||||
:comment cmdline.txt /*:comment*
|
||||
:comp quickfix.txt /*:comp*
|
||||
@@ -3983,6 +3984,9 @@ E121 eval.txt /*E121*
|
||||
E1214 eval.txt /*E1214*
|
||||
E122 eval.txt /*E122*
|
||||
E123 eval.txt /*E123*
|
||||
E1231 map.txt /*E1231*
|
||||
E1232 eval.txt /*E1232*
|
||||
E1233 eval.txt /*E1233*
|
||||
E124 eval.txt /*E124*
|
||||
E125 eval.txt /*E125*
|
||||
E126 eval.txt /*E126*
|
||||
@@ -4740,7 +4744,7 @@ E835 options.txt /*E835*
|
||||
E836 if_pyth.txt /*E836*
|
||||
E837 if_pyth.txt /*E837*
|
||||
E838 netbeans.txt /*E838*
|
||||
E839 insert.txt /*E839*
|
||||
E839 message.txt /*E839*
|
||||
E84 windows.txt /*E84*
|
||||
E840 insert.txt /*E840*
|
||||
E841 map.txt /*E841*
|
||||
@@ -4793,6 +4797,7 @@ E885 sign.txt /*E885*
|
||||
E886 starting.txt /*E886*
|
||||
E887 if_pyth.txt /*E887*
|
||||
E888 pattern.txt /*E888*
|
||||
E889 message.txt /*E889*
|
||||
E89 message.txt /*E89*
|
||||
E890 syntax.txt /*E890*
|
||||
E891 eval.txt /*E891*
|
||||
@@ -4835,7 +4840,7 @@ E924 quickfix.txt /*E924*
|
||||
E925 quickfix.txt /*E925*
|
||||
E926 quickfix.txt /*E926*
|
||||
E927 eval.txt /*E927*
|
||||
E928 eval.txt /*E928*
|
||||
E928 message.txt /*E928*
|
||||
E929 starting.txt /*E929*
|
||||
E93 windows.txt /*E93*
|
||||
E930 eval.txt /*E930*
|
||||
@@ -5165,6 +5170,10 @@ TabNew autocmd.txt /*TabNew*
|
||||
Tcl if_tcl.txt /*Tcl*
|
||||
TermChanged autocmd.txt /*TermChanged*
|
||||
TermResponse autocmd.txt /*TermResponse*
|
||||
TermdebugStartPost terminal.txt /*TermdebugStartPost*
|
||||
TermdebugStartPre terminal.txt /*TermdebugStartPre*
|
||||
TermdebugStopPost terminal.txt /*TermdebugStopPost*
|
||||
TermdebugStopPre terminal.txt /*TermdebugStopPre*
|
||||
Terminal-Job terminal.txt /*Terminal-Job*
|
||||
Terminal-Normal terminal.txt /*Terminal-Normal*
|
||||
Terminal-mode terminal.txt /*Terminal-mode*
|
||||
@@ -6312,6 +6321,7 @@ execute-menus gui.txt /*execute-menus*
|
||||
exepath() eval.txt /*exepath()*
|
||||
exim starting.txt /*exim*
|
||||
exists() eval.txt /*exists()*
|
||||
exists_compiled() eval.txt /*exists_compiled()*
|
||||
exiting starting.txt /*exiting*
|
||||
exiting-variable eval.txt /*exiting-variable*
|
||||
exp() eval.txt /*exp()*
|
||||
@@ -6942,6 +6952,7 @@ g:tar_nomax pi_tar.txt /*g:tar_nomax*
|
||||
g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
|
||||
g:tar_secure pi_tar.txt /*g:tar_secure*
|
||||
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||
g:termdebugger terminal.txt /*g:termdebugger*
|
||||
g:terminal_ansi_colors terminal.txt /*g:terminal_ansi_colors*
|
||||
g:tex_comment_nospell syntax.txt /*g:tex_comment_nospell*
|
||||
g:tex_conceal syntax.txt /*g:tex_conceal*
|
||||
@@ -7770,6 +7781,7 @@ lua-funcref if_lua.txt /*lua-funcref*
|
||||
lua-list if_lua.txt /*lua-list*
|
||||
lua-luaeval if_lua.txt /*lua-luaeval*
|
||||
lua-vim if_lua.txt /*lua-vim*
|
||||
lua-vim-variables if_lua.txt /*lua-vim-variables*
|
||||
lua-window if_lua.txt /*lua-window*
|
||||
lua.vim syntax.txt /*lua.vim*
|
||||
luaeval() eval.txt /*luaeval()*
|
||||
@@ -9646,6 +9658,7 @@ termcap-title term.txt /*termcap-title*
|
||||
termdebug-commands terminal.txt /*termdebug-commands*
|
||||
termdebug-communication terminal.txt /*termdebug-communication*
|
||||
termdebug-customizing terminal.txt /*termdebug-customizing*
|
||||
termdebug-events terminal.txt /*termdebug-events*
|
||||
termdebug-example terminal.txt /*termdebug-example*
|
||||
termdebug-prompt terminal.txt /*termdebug-prompt*
|
||||
termdebug-starting terminal.txt /*termdebug-starting*
|
||||
@@ -10176,7 +10189,12 @@ vim-raku ft_raku.txt /*vim-raku*
|
||||
vim-script-intro usr_41.txt /*vim-script-intro*
|
||||
vim-use intro.txt /*vim-use*
|
||||
vim-variable eval.txt /*vim-variable*
|
||||
vim.b if_lua.txt /*vim.b*
|
||||
vim.g if_lua.txt /*vim.g*
|
||||
vim.t if_lua.txt /*vim.t*
|
||||
vim.v if_lua.txt /*vim.v*
|
||||
vim.vim syntax.txt /*vim.vim*
|
||||
vim.w if_lua.txt /*vim.w*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim8 version8.txt /*vim8*
|
||||
vim9 vim9.txt /*vim9*
|
||||
@@ -10189,6 +10207,7 @@ vim9-declarations usr_46.txt /*vim9-declarations*
|
||||
vim9-differences vim9.txt /*vim9-differences*
|
||||
vim9-export vim9.txt /*vim9-export*
|
||||
vim9-final vim9.txt /*vim9-final*
|
||||
vim9-function-defined-later vim9.txt /*vim9-function-defined-later*
|
||||
vim9-gotchas vim9.txt /*vim9-gotchas*
|
||||
vim9-ignored-argument vim9.txt /*vim9-ignored-argument*
|
||||
vim9-import vim9.txt /*vim9-import*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Feb 13
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1352,6 +1352,33 @@ Other commands ~
|
||||
*:Asm* jump to the window with the disassembly, create it if there
|
||||
isn't one
|
||||
|
||||
Events ~
|
||||
*termdebug-events*
|
||||
Four autocommands can be used: >
|
||||
au User TermdebugStartPre echomsg 'debugging starting'
|
||||
au User TermdebugStartPost echomsg 'debugging started'
|
||||
au User TermdebugStopPre echomsg 'debugging stopping'
|
||||
au User TermdebugStopPost echomsg 'debugging stopped'
|
||||
<
|
||||
*TermdebugStartPre*
|
||||
TermdebugStartPre Before starting debugging.
|
||||
Not triggered if the debugger is already
|
||||
running or |g:termdebugger| cannot be
|
||||
executed.
|
||||
*TermdebugStartPost*
|
||||
TermdebugStartPost After debugging has initialized.
|
||||
If a "!" bang is passed to `:Termdebug` or
|
||||
`:TermdebugCommand` the event is triggered
|
||||
before running the provided command in gdb.
|
||||
*TermdebugStopPre*
|
||||
TermdebugStopPre Before debugging ends, when gdb is terminated,
|
||||
most likely after issuing a "quit" command in
|
||||
the gdb window.
|
||||
*TermdebugStopPost*
|
||||
TermdebugStopPost After debugging has ended, gdb-related windows
|
||||
are closed, debug buffers wiped out and
|
||||
the state before the debugging was restored.
|
||||
|
||||
|
||||
Prompt mode ~
|
||||
*termdebug-prompt*
|
||||
@@ -1396,11 +1423,11 @@ communication channel.
|
||||
|
||||
Customizing ~
|
||||
|
||||
GDB command *termdebug-customizing*
|
||||
|
||||
To change the name of the gdb command, set the "termdebugger" variable before
|
||||
GDB command *termdebug-customizing*
|
||||
*g:termdebugger*
|
||||
To change the name of the gdb command, set the "g:termdebugger" variable before
|
||||
invoking `:Termdebug`: >
|
||||
let termdebugger = "mygdb"
|
||||
let g:termdebugger = "mygdb"
|
||||
< *gdb-version*
|
||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||
interface. The "new-ui" command requires gdb version 7.12 or later. if you
|
||||
|
||||
@@ -446,7 +446,7 @@ assert_notmatch({pattern}, {actual} [, {msg}])
|
||||
|
||||
|
||||
assert_report({msg}) *assert_report()*
|
||||
Report a test failure directly, using {msg}.
|
||||
Report a test failure directly, using String {msg}.
|
||||
Always returns one.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 Jul 26
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 Aug 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,14 +38,9 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Try out callgrind with kcachegrind.
|
||||
|
||||
Vim9 - Make everything work:
|
||||
- Check TODO items in vim9compile.c and vim9execute.c
|
||||
- use CheckLegacyAndVim9Success(lines) in many more places
|
||||
This doesn't work - Test_list_assign():
|
||||
var l = [0]
|
||||
l[:] = [1, 2]
|
||||
- Check TODO items in vim9compile.c and vim9execute.c
|
||||
- For builtin functions using tv_get_string*() use check_for_string() to be
|
||||
more strict about the argument type (not a bool).
|
||||
done: balloon_()
|
||||
@@ -60,6 +55,7 @@ Vim9 - Make everything work:
|
||||
defined.
|
||||
- Unexpected error message when using "var x: any | x.key = 9", because "x" is
|
||||
given the type number. Can we use VAR_ANY?
|
||||
- Check performance with callgrind and kcachegrind.
|
||||
|
||||
Once Vim9 is stable:
|
||||
- Add the "vim9script" feature, can use has('vim9script')
|
||||
@@ -75,6 +71,8 @@ Further Vim9 improvements, possibly after launch:
|
||||
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
||||
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
|
||||
Give an error if compilation fails. (#7625)
|
||||
Alternatively: Detect a compiled function call and skip the expression
|
||||
evaluation.
|
||||
Use the location where the option was set for deciding whether it's to be
|
||||
evaluated in Vim9 script context.
|
||||
- implement :type, "import type"
|
||||
@@ -235,7 +233,6 @@ Valgrind reports overlapping memcpy in
|
||||
test_normal
|
||||
test_popupwin.35 et al.
|
||||
test_search_stat
|
||||
Using uninitialized value in test_crypt (can't explain why).
|
||||
Memory leak in test_debugger
|
||||
Memory leak in test_paste, using XtOpenDisplay several times
|
||||
OLD:
|
||||
@@ -291,8 +288,6 @@ Scroll doesn't work correctly, why?
|
||||
glob() and globfile() do not always honor 'wildignorecase'. #8350
|
||||
globpath() does not use 'wildignorecase' at all?
|
||||
|
||||
":find" incorrectly searches parent directory of path (#8533)
|
||||
|
||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||
with 'termguicolors'. #1740
|
||||
|
||||
@@ -305,9 +300,6 @@ Missing filetype test for bashrc, PKGBUILD, etc.
|
||||
Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co
|
||||
changes.
|
||||
|
||||
MS-Windows: instead of "edit with multiple Vims" use "Edit with Vim in
|
||||
multiple tabs". #8404
|
||||
|
||||
When using ":bwipe!" also get rid of references to be buffer, e.g. in the
|
||||
jumplist and alternate file.
|
||||
|
||||
@@ -724,9 +716,6 @@ tab page. (Ingo Karkat, #4324)
|
||||
This modeline throws unexpected errors: (#4165)
|
||||
vim: syn=nosyntax
|
||||
|
||||
":doau SomeEvent" gives "No matching autocommands". This message doesn't give
|
||||
a hint about how to fix it. (#4300)
|
||||
|
||||
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
|
||||
#2948. (related to #1512?)
|
||||
Also see #2352, want better control over balloon, perhaps set the position.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2021 Jul 19
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2021 Aug 08
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2021 Jul 28
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2021 Aug 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -324,19 +324,19 @@ used: >
|
||||
This is especially useful in a user command: >
|
||||
|
||||
command -range Rename {
|
||||
| var save = @a
|
||||
| @a = 'some expression'
|
||||
| echo 'do something with ' .. @a
|
||||
| @a = save
|
||||
|}
|
||||
var save = @a
|
||||
@a = 'some expression'
|
||||
echo 'do something with ' .. @a
|
||||
@a = save
|
||||
}
|
||||
|
||||
And with autocommands: >
|
||||
|
||||
au BufWritePre *.go {
|
||||
| var save = winsaveview()
|
||||
| silent! exe ':%! some formatting command'
|
||||
| winrestview(save)
|
||||
|}
|
||||
var save = winsaveview()
|
||||
silent! exe ':%! some formatting command'
|
||||
winrestview(save)
|
||||
}
|
||||
|
||||
Although using a :def function probably works better.
|
||||
|
||||
@@ -351,8 +351,8 @@ with `:unlet`.
|
||||
`:lockvar` does not work on local variables. Use `:const` and `:final`
|
||||
instead.
|
||||
|
||||
The `exists()` function does not work on local variables or arguments. These
|
||||
are visible at compile time only, not at runtime.
|
||||
The `exists()` and `exists_compiled()` functions do not work on local variables
|
||||
or arguments.
|
||||
|
||||
Variables, functions and function arguments cannot shadow previously defined
|
||||
or imported variables and functions in the same script file.
|
||||
@@ -373,6 +373,32 @@ called without "g:". >
|
||||
echo GlobalFunc()
|
||||
The "g:" prefix is not needed for auto-load functions.
|
||||
|
||||
*vim9-function-defined-later*
|
||||
Although global functions can be called without the "g:" prefix, they must
|
||||
exist when compiled. By adding the "g:" prefix the function can be defined
|
||||
later. Example: >
|
||||
def CallPluginFunc()
|
||||
if exists('g:loaded_plugin')
|
||||
g:PluginFunc()
|
||||
endif
|
||||
enddef
|
||||
|
||||
If you would do it like this you get an error at compile time that
|
||||
"PluginFunc" does not exist, even when "g:loaded_plugin" does not exist: >
|
||||
def CallPluginFunc()
|
||||
if exists('g:loaded_plugin')
|
||||
PluginFunc() # Error - function not found
|
||||
endif
|
||||
enddef
|
||||
|
||||
You can use exists_compiled() to avoid the error, but then the function would
|
||||
not be called, even when "g:loaded_plugin" is defined later: >
|
||||
def CallPluginFunc()
|
||||
if exists_compiled('g:loaded_plugin')
|
||||
PluginFunc() # Function may never be called
|
||||
endif
|
||||
enddef
|
||||
|
||||
Since `&opt = value` is now assigning a value to option "opt", ":&" cannot be
|
||||
used to repeat a `:substitute` command.
|
||||
*vim9-unpack-ignore*
|
||||
@@ -940,7 +966,8 @@ evaluates to false: >
|
||||
use-feature
|
||||
endif
|
||||
enddef
|
||||
< *vim9-user-command*
|
||||
The `exists_compiled()` function can also be used for this.
|
||||
*vim9-user-command*
|
||||
Another side effect of compiling a function is that the presence of a user
|
||||
command is checked at compile time. If the user command is defined later an
|
||||
error will result. This works: >
|
||||
@@ -1407,8 +1434,7 @@ The script name after `import` can be:
|
||||
- A path not being relative or absolute. This will be found in the
|
||||
"import" subdirectories of 'runtimepath' entries. The name will usually be
|
||||
longer and unique, to avoid loading the wrong file.
|
||||
Note that "after/import" is not used, unless it is explicitly added in
|
||||
'runtimepath'.
|
||||
Note that "after/import" is not used.
|
||||
|
||||
Once a vim9 script file has been imported, the result is cached and used the
|
||||
next time the same script is imported. It will not be read again.
|
||||
|
||||
Reference in New Issue
Block a user