你能用vim做交互式宏或录音吗?

eve*_*992 6 vim macros

我想定义一个在特定时间打破用户输入的vim宏,这可能吗?

编辑:结果我记录(q),而不是宏

可以在录音中使用输入命令,但它比它的价值更麻烦.

我首先将插入输入转义映射到一个键

:map <F2> a<C-R>=input('input: ')<CR>
Run Code Online (Sandbox Code Playgroud)

然后我在q寄存器中进行了录音

name: 
Run Code Online (Sandbox Code Playgroud)

并将其粘贴到新标签中

iname: ^[
Run Code Online (Sandbox Code Playgroud)

在最后的逃脱后,我按下了<C-V><F2>这条线:

iname ^[^[OQ
Run Code Online (Sandbox Code Playgroud)

我猛拉回q缓冲区然后使用宏,让我使用输入函数.它很有效,但非常糟糕.

for*_*rk0 3

是的。参见函数input({prompt}, [, {text} [, {completion}] ])。甚至还有 inputdialog({prompt} [, {text} [, {cancelreturn}]]), 用于弹出对话框。