vimマッピングについて、imapと再帰などの2つの部分で質問があります。Vimでは、マッピングは右再帰でも左再帰でも右再帰でもありませんが、左再帰にすることはできませんよね?なぜだめですか?次の例をテストして、意味を説明しました。
(左再帰)実行すると
:imap x xyz
次に、挿入モードで「x」と入力します。バッファに入力されるのは次のとおりです。
xyz
私の知る限り、この動作は、imapの代わりにinoremapを使用した場合に発生する動作と区別がつきません。
(左にも右にも再帰的ではありません)実行すると
:imap x yxz
次に、挿入モードで「x」と入力します。バッファに入れられる(試行される)内容は次のとおりです。
y...yz
(右再帰)実行すると
:imap x yzx
次に、挿入モードで「x」と入力します。バッファに入れられる(試行される)内容は次のとおりです。
yzyzyzyzyzyz...
(相互再帰)実行すると
:imap x abc :imap a x
次に、挿入モードで「x」と入力すると、「E223:再帰的マッピング」が表示されます。
Vimが左再帰マッピングと相互再帰マッピングを禁止していることを示したようですが、確認したいと思います:Vimで(おそらく相互に)再帰マッピングを定義するためのルールは何ですか?