让我说我有一些功能让我进入插入模式,我想添加一个清除函数,一旦我离开插入模式就被调用。 我会做这样的事情:
function! s:Foo(arg)
augroup cleanup_group
autocmd!
autocmd InsertLeave * call <sid>cleanup(a:arg)
augroup END
" ...
endfunction
为什么我不能这样做?另外,我无法在a:arg
内使用remaps
,我有点得到,但为什么这也不可能?
你怎么会这样做呢?
答案 0 :(得分:1)
如果您想传递arg
(来自s:Foo
),则可以使用:exe
。
类似的东西:
...
exe 'autocmd InsertLeave * call <sid>cleanup('.string(a:arg).')'
...