を考える:Vimの通常のコマンドで再帰マクロを記録して実行できますか?
https://stackoverflow.com/questions/ask
を最初の文字で、通常モードから、qaqqaf/[email protected]@a
でのタイピングは、スラッシュのすべてをクリアします。
- QAQレジスタ
- Qaが記録
しかし、normal qaqqaf/[email protected]@a
を実行すると、bの後で停止します。再帰呼び出しでは、保留状態にあるようです。同じことは、あなたがコマンドをマップしようとすると起こります。
私の構文に何か問題がありますか?または、normal
で再帰マクロを記録することはできませんか?
注:私はそれがlet
で再帰的なマクロを書くことが可能であることを知っています。
let @a = "f/[email protected]"
normal @a
は:これはそれを手動で記録せずに再帰的なマクロを書くための唯一の方法である場合、私は思ったんだけど(私はこのための答えを尋ねる:Remove everything except regex match in Vim)
に応じて変更する機能。だから、あなたはあなたのコマンドをレジスタに入れることは、テキストでヤンクするようなやり方です。私はマッピングのためにこれを行う最善の方法であることを 'let 'と信じています。 –
ですが、 'normal' **で再帰マクロ**を記録することは可能ですか? – idbrii
'normal'は再帰マクロをうまく扱えないようです。私は正しく記録することができないようです。しかし、 'execute'と' feedkeys() 'を一緒に使うことができます:' exe feedkeys( "qaqqar_l @ aq @ a"、 't') 'はマクロの記録と実行の両方を行います。 –