マクロの記録は問題ありませんが、.vimrc にこれがあり、非常に便利です。
""""""""""""""""""""""""""""""""""""""""""""""""
" ,p prepares and ,a applies a pattern
" $x = array("@@@"=>"@@@"); (type ,p here)
" text (type ,a here)
" gives you:
" $x = array("text"=>"text");
" and moves to the next line to repeat
""""""""""""""""""""""""""""""""""""""""""""""""
nnoremap ,p "ryy
nnoremap ,a "edd"rPV:s/@@@/<C-r>e<Backspace>/g<CR>j
これに慣れると、(少なくとも私にとっては) マクロを記録するよりもはるかに高速です。
私の質問は:
これを変更して、異なるパラメータを認識できるようにできますか? 現在の置換は 1 つだけ (現在の行全体) を認識し、その場所に配置し@@@
ます。
次のように改善したいと思います。
$x = array("{{1}}"=>"{{2}}"); // {{3}} (type ,p here)
key, value, some explanation (type ,a here)
そしてそれを使用して、次のようなものを取得します。
$x = array("key"=>"value"); // some explanation
私はvimscriptや非常に動的な正規表現(つまり、変数や文字列をキャプチャする)にあまり精通していません。誰かが私を正しい方向に向けることができますか?