我知道我可以使用q<char>
录制宏并使用@<char>
运行它们。我也知道我可以使用@@
运行最后使用的宏。
但是@@
是两次完整的击键!那太多了!特别是如果我经常运行那个宏。我知道<num>@<char>
,但如果我事先不知道<num>
该怎么办?
我真正想要的是像运行宏的交互式搜索和替换(请参阅Interactive search/replace regex in Vim?)。可以这样做吗?
答案 0 :(得分:2)
使用一次按键在正常模式下应用宏a:
:nnoremap , @a
然后,当您想要应用宏时可以使用“,”,或者当您想要跳到下一个搜索事件时使用“n”
以交互方式应用宏来搜索匹配项:
答案 1 :(得分:2)
我在~/.vimrc
:
" <A-@> Repeat last macro with a single key combination.
nnoremap <A-2> @@
所以,首先我像往常一样重播注册名称,例如@a
。然后我用@@
重复一遍。然后我意识到我需要多次重复(但不能使用[count]
),所以我切换到 Alt + @ (@
高于{美国英语键盘布局上的{1}}。