vimでカーソル位置の単語とヤンクした文字列を置換する
個人的によくやるのがこれです。
nnoremap <silent> ciy ciw<C-r>0<ESC>:let@/=@1<CR>:noh<CR> nnoremap <silent> cy ce<C-r>0<ESC>:let@/=@1<CR>:noh<CR> vnoremap <silent> cy c<C-r>0<ESC>:let@/=@1<CR>:noh<CR>
- 置換に使いたい文字列をヤンクしておきます。
- 置換したい単語まで移動します。
- cyかciyを実行します。
- カーソル位置の単語がヤンクした文字列に置換されます。
- 必要ならn.で繰り返します。
cy | カーソル位置以降の文字列とヤンクした単語を置換します。 |
ciy | テキストオブジェクト的にカーソルが単語内の何処にあってもヤンクした文字列と置換します。 |
一度cyやciyを実行した後、n.で繰り返せる用に、検索レジスタが置換された文字列と置き換わります。
n.で繰り返せるのが地味に便利です。