VIMで、それを再入力することなく、代替句で選択したテキストを使用することは可能でしょうか?
-
16-09-2019 - |
質問
のは、私はビジュアルモードで選択した単語があるとしましょう。私はsで//を使用して、ファイルにその単語に置換し、その単語の他のすべてのインスタンスを実行したいと思います。それを再入力することなく、s/<here>/stuff/
部分の強調表示されたテキストを使用する方法はありますか?
解決
確かに。あなたはそれは、単に「Y」ANKの単語を選択し、次に入力した場合:
:%s/<ctrl-r>"/something else/g
ここで、RキーとCtrlキーを押し、文字 "ただで" されます。
すべてのキー押下ます:
y:%s/<ctrl-r>"/what to put/g<enter>
他のヒント
あなたが使用する前に、あなたのテキストで検索した場合、
CTRL-R /
あなたの検索で最後の検索項目を挿入し、文字列を置換します。
あなたは他の同様のトリックのために、このページをチェックすることができます:
あなたは、その後、単語をヤンク単語にカーソルを置くとする必要はありません。
:%s/<C-r><C-w>/bar/g
コマンドラインからレジスタの内容にアクセスするための別の方法は@
変数を経由しています。デフォルトのレジスタにテキストをヤンクのであれば、それは@"
という変数になります。
:exe '%s/' . @" . '/stuff/'
ここで入力するには、このを容易にするマッピングがあります:
vmap <Leader>s y:exe '%s/' . @" . '//g'<Left><Left><Left>
さて、あなたは、ビジュアルモード、型\s
で何かを強調表示し、あなたの交換を入力してEnter
を打つことができます。 depesz ののバージョンも良いマッピングを(彼はそれを入力したほぼ正確通り)になります:
vmap <Leader>s y:%s/<c-r>"//g<Left><Left>
所属していません StackOverflow