在vim的插入模式下使用宏

3

我是vim的新用户,发现宏非常有用,但我想知道是否有一种方法可以在插入模式下使用它们,而不是一直切换到正常模式。这意味着我想在插入模式下开始和结束记录宏。

2个回答

9
作为触发宏的命令,@ 是正常模式命令,所以你没有办法。当然,你可以在插入模式下使用像 <c-o> 这样的命令来执行 1 个正常模式命令,然后返回到插入模式。但是你想做的听起来像是违背了 "vim 方式"。
"vim 方式" 意味着你大部分时间都在正常模式下工作,只有短暂地进入插入模式。掌握正常模式是 vim 发挥其强大功能的关键。正常模式允许你组合运算符和动作,在很少思考的情况下对文本块进行操作,使用 . 命令可以实现简单的重复/重做,并且可以提供令人愉快的块状撤销历史记录。

2

您可以使用Control-O退出插入模式,执行一个宏命令,然后再返回插入模式。

实际上需要按5个键:Control Shift O @ macro_key

但是可以在您的.vimrc文件中使用inoremap将一个键映射到多个按键操作!

在我的键盘上,实际上从不使用ù键,因此我的.vimrc文件包含以下行:

inoremap ù <C-O>@

现在,我可以通过按下ù键,然后按下宏键,在插入模式下执行宏。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接