我希望您能定义一个vim宏,以便在特定时间点为用户输入而中断,这是可能的吗?
编辑:事实证明我所指的是录制(q),而不是宏。
在录制中使用input命令是可行的,但是这比它值得的麻烦多了。
我首先将插入输入逃脱键映射到一个键上。
然后我将这个记录保存在 q 寄存器中。
编辑:事实证明我所指的是录制(q),而不是宏。
在录制中使用input命令是可行的,但是这比它值得的麻烦多了。
我首先将插入输入逃脱键映射到一个键上。
:map <F2> a<C-R>=input('input: ')<CR>
然后我将这个记录保存在 q 寄存器中。
name:
将其复制并粘贴到一个新标签页中
iname: ^[
在最终逃脱之后,我按下了<C-V><F2>
,使得该行变成:
iname ^[^[OQ
我将其拉回到q缓冲区,然后使用宏,让我可以使用输入函数。虽然可行,但效果很差。
Ctrl-R=input('prompt: ')
也不行),但如果您可以使用普通映射或函数,它将很好地完成工作。 - mogelbrodqq i<C-R>=input('>')<CR>test<CR><ESC>q
当播放时会插入test
,因为它是宏的一部分 :(编辑:结果发现我所谓的宏在Vim中被称为录制,我的错 :) - mogelbrod