1
我有兩部分關於vim映射的問題,例如imap和遞歸。在Vim中,映射既可以是右遞歸也可以是左遞歸或右遞歸,但不允許左遞歸,對吧?爲什麼不?我測試了以下實施例以說明我的意思:有關Vim映射中遞歸的規則是什麼?
(左遞歸)當我執行
:imap x xyz
然後在插入模式的「x」,什麼被輸入到緩衝器
xyz
據我所知,這種行爲與我使用inoremap而不是imap時會發生的情況沒有區別。
(既不左也不是,右遞歸)當我執行
:imap x yxz
然後在插入模式下輸入 「X」,是什麼(未遂是)放在緩衝區
y...yz
(右遞歸)當我執行
:imap x yzx
然後在插入模式下輸入「X」是什麼放於緩衝液(試圖定)是
yzyzyzyzyzyz...
(相互遞歸)當我執行
:imap x abc :imap a x
然後在插入模式 「X」 時,收到 「E223:遞歸映射」。
看來,我已經證明,Vim的禁止左遞歸映射和相互遞歸映射,但是我想驗證:哪些規則中定義的Vim(可能相互)遞歸映射?
但是...爲什麼?遞歸映射的唯一有效用法是使其適用,直到它在緩衝區末尾出錯。 – 2013-03-11 07:46:43
@IngoKarkat,爲什麼不呢? Vim允許它,所以我想知道它們是如何工作的。你確定你給的用例是* only *有效使用(可能是相互)遞歸映射嗎? – BlueBomber 2013-03-11 20:12:50