let s:RangeAsterisk__reg = ''
function! s:RangeAsterisk__keepReg()
let s:RangeAsterisk__reg = @*
endfunction
function! s:RangeAsterisk__restoreReg()
let @* = s:RangeAsterisk__reg
endfunction
vnoremap * :callRangeAsterisk__keepReg() gv"*y/ * :call RangeAsterisk__restoreReg()
vnoremap # :callRangeAsterisk__keepReg() gv"*y? * :call RangeAsterisk__restoreReg()
通常、* と # は (ビジュアルモード中であっても) カーソル直下の単語を検索しますが、これはあまり直感的とは言えません。
いちいちコピーしてから / で (貼り付けして) 検索するのも煩わしいものです。
現在 vimrc は 325 行...
もうちょっと外に追い出したいなぁ。