- 2009-08-25 (火) 0:00
- Vim Hacks
問題
Hack #51: カーソル下のキーワードを検索する でカーソル下のキーワードを単語境界を考慮した上で検索することができます。 ここで検索だけではなく置換するにはどうすればいいでしょうか。
解決
~/.vimrcに以下を記述します。
nnoremap <expr> s* ':%substitute/\<' . expand('<cword>') . '\>/'
以後、s*と打鍵したあと置き換え文字列と/g<Cr>などを打鍵すると置換が行なわれます。
議論
バッファ内全体からカーソル下のキーワードをbbbという文字列に置換するには、以下のコマンドを実行します。
:exe '%s/\<' . expand('<cword>') . '\>/bbb/g'
これは以下の略称です
:execute '%substitute/\<' . expand('<cword>') . '\>/bbb/g'
もっとも、これを毎回打鍵するのは酷です。
今回は~/.vimrcファイルに上記コマンドの途中までに該当するものを入力してくれるキーマッピングを新たに定義することで、
問題を解決しました。
他にもcnoreabbrevを用いる解決方法が考えられます。
- Newer: Hack #63: 日本語のヘルプを用意する
- Older: Hack #61: カーソル下のファイル名に対応するファイルを開く
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://vim-users.jp/2009/08/hack62/trackback/
- Listed below are links to weblogs that reference
- Hack #62: カーソル下のキーワードをバッファ内全体で置換する from Vim-users.jp
- trackback from Alone Like a Rhinoceros Horn 10-07-03 (土) 4:44
-
[vim]Vim の検索/置換系キーマップを晒してみる
一連の Vim Hacks を読んでかなりパワーアップしたので、自分の vimrc から検索/置換系コマンドのキーマップを抜き出して晒してみます。 置換コマンドは eregex.vim のもの(:S)を使ってい…

