コマンドは
nnoremap <leader>; :execute "normal! mqA;\<esc>`q"
次にを押すと<leader>;
、がE114: Missing quote: "normal! mqA;\
続きますE15: Invalid expression: "normal! mqA;\
。どうしてこれなの?コマンドラインに直接入力すると、コマンドは正常に機能します。
このコマンドは;
、カーソル位置を変更せずに、現在の行の終わりにa を追加します。
私は私がnnoremap <leader>; mqA;<esc>`q
どれが機能するかをただ実行できることを理解しています、問題は上記が機能しない理由、そしてそれを実行正規形で機能させるために何ができるかです。
私の推測では、ネストされたエスケープのある程度のレベルが必要ですが、うまくいくものを見つけることができませんでした。
:h <>
。関連する部分は次のとおりです。<>表記は<lt>を使用して、キー名の特別な意味をエスケープします。バックスラッシュの使用も機能しますが、「cpoptions」に「B」フラグが含まれていない場合のみです。したがって、B
フラグがにない場合はcpotions
、を使用\<Esc>
して<Esc>
キーを表すことができます。