vim撤消(删除)由imap写的字符!

sfr*_*nky 5 vim

在vim中,有没有办法可以删除由ai(no)重映射或iab写的文本块?例如,说我有

inoremap xx\hat {x}

在我的.vimrc文件中,我希望能够通过一两次击键删除\ hat {x}(但不是^ w或dB ..我可以有两个连续的iab只包含文本,所以我需要能够在中间切abababcdcdcd,如果cdcdcd是一个iab,比方说,"cc")

有任何想法吗?

seh*_*ehe 2

最后一个干净的解决方案

inoremap xx ^Gu\hat{x}^Gu
Run Code Online (Sandbox Code Playgroud)

(就C-g在那里)

不再有奇怪的效果。您甚至可以选择是否要在两端或仅在开头隔离撤消项目(^Gu如果您不介意 hat-x 与其后面的内容一起撤消,则保留尾部)

现在我使用的抢救信息最终变得微不足道:

:he undo|/break/;+3p
Run Code Online (Sandbox Code Playgroud)

输出:

要执行相反的操作,请将更改分成两个撤消块,在插入模式下使用 CTRL-G u。如果您希望在零件中可撤消插入命令,这非常有用。例如,对于每个句子。|i_CTRL-G_u|