我想制作一个自定义单键Vim映射,可用于开始将宏记录到未命名的寄存器(q"
)并停止记录宏(q
)。
如果Vim处于录制模式,我可以从Vim脚本中检测到吗?
如果可以检测录制模式,如果在录制模式下唤醒我的功能(停止录制)会有问题吗?我的意思是,是否可以将函数调用记录在宏内?
答案 0 :(得分:1)
嗯,我不推荐这个,因为开始录音只有两个 按键,您可以灵活选择寄存器。
那就是说,你可以做到这一点。我不知道直接的方法 检测录制模式,但您可以创建将重新映射的映射 本身在每个按键上,因此在启动和停止之间交替 记录:
" Helper mappings
nnoremap @{ :nmap ; @}<CR>qq
nnoremap @} q:nmap ; @{<CR>
" Toggle recording
nmap ; @{
" Playback
nnoremap , @q
选择您自己的地图键,最适合您。
另外,我建议不要将"
用于录音寄存器:它也是
容易被覆盖。
答案 1 :(得分:0)
您可以使用映射到q"<esc>
。假设您只在正常模式下开始录制(并且未设置insertmode
),这将完全符合您的要求。