我是vim的新用户,发现宏非常有用,但我想知道是否有一种方法可以在插入模式下使用它们而不是一直切换到常规模式。这意味着我想在插入模式下开始和完成录制宏。
答案 0 :(得分:8)
由于触发宏的命令@
是正常模式命令,所以你运气不好。当然,您可以在插入模式下使用类似<c-o>
的内容来执行1个普通模式命令,然后返回插入模式。然而你想要做的事情听起来像是违背了“vim方式”。
vim方式意味着您将大部分时间花在正常模式上,并且只进入插入模式以进行短暂的突发。掌握正常模式是vim获得大部分功能的地方。普通模式允许您编写操作符和动作,以便在很少考虑的情况下对文本块进行操作,使用.
命令进行简单的重复/重做,并允许令人愉快的大块撤消历史记录。
答案 1 :(得分:2)
您可以使用Control-O退出插入模式,执行一个宏命令,然后返回插入模式。
实际上是5次按键操作:Control Shift O @ macro_key
但是可以在.vimrc文件中使用inoremap
将键重新映射到多次按键!
在我的键盘上,ù
键在实践中从未使用过,而我的.vimrc文件包含以下行:
inoremap ù <C-O>@
现在我可以通过按ù
键,然后按宏键来执行插入模式下的宏。