微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim – 如何确定InsertLeave是否是更改的结果

在Vim中,基本上有两种类型的命令可以使它进入插入模式:

添加一些内容的命令,例如:i,I,a,A(除了使用退格键).
或者,这也删除了一段文本,例如:c [motion],C,s,v [motion] s.

我想挂钩InsertLeave事件,但在我的代码中,我需要知道它是哪种类型的更改(像i这样的插入,或像cw这样的更改).有没有办法找到它?

解决方法

将< BS>< BS>< BS>条计算为插入或更改?如果是后者,您可以:撤消InsertLeave上的更改,存储受其影响的行(即'[,’]),:redo,然后比较两个集合.如果有“只是更多的文字”,那就是插入,否则就是改变.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐