在Vim的feedkeys()
文档中,模式t
的说明如下:
't' Handle keys as if typed; otherwise they are handled as
if coming from a mapping. This matters for undo,
opening folds, etc.
这有什么区别?来自映射的键在哪些方面表现不同,为什么这种差异对于撤消,打开折叠等都很重要?
答案 0 :(得分:1)
映射序列被雾化以进行撤销。
如果使用many命令更改文本,则undo将通过更改撤消更改。
如果将相同的命令序列映射到映射,并尝试撤消它,它将在运行映射之前恢复状态更改。
例如:你有文字'12345',光标在2.你3次点击'x'。你需要3次点击'u'来恢复文本。
如果您进行映射:
:map q xxx
按q后,只需按一下“u”即可恢复更改。
同样来自:h map-undo
:
如果在映射序列中包含undo命令,则会在执行宏之前将文本恢复到该状态。这与之兼容 原来的Vi