vimエディタのgd検索は検索履歴が入らない。ならば、自分で入れてしまえ。
vimエディタで愛用している機能の一つに
gdによるローカル変数宣言の検索があるんだけど、
この機能で気に入らない点がある。
(気に入らないと同時に、良い点でもある。)
それは、gdで検索したテキストが検索履歴に追加されないため、
直前にgdで検索していたテキストを再度検索しようとすると、検索できないこと。
探したいワードは複数ある方が普通なのだから、これは面倒だ。
というわけで、ちょっとスクリプトを組んでみた。
" mappingを上書き nnoremap gd :call GD()<CR> " カーソル下テキストを検索 " 検索履歴を追加 " 最後の検索ワードを置き換え " 検索してマッチした位置に移動 function! GD() let cword = expand("<cword>") if cword == "" echohl ErrorMsg | echo "E349: カーソルの位置には識別子がありません" | echohl None return endif call histadd("/", '\<'.cword.'\>') let @/ = '\<'.cword.'\>' call searchdecl(cword) endfunction
とりあえず、こんな感じだろうか。
使う場合は、.vimrc設定ファイルに上のコードを追加してくださいね。