wil*_*ell 187
在普通模式下:
:set hlsearch
Run Code Online (Sandbox Code Playgroud)
然后搜索与所述命令的图形/
在正常模式下,或者<Ctrl>o
随后/
在插入模式.*
在普通模式下,将搜索光标下的下一个单词.hlsearch
如果设置,该选项将突出显示所有这些选项.#
将搜索该单词的上一个出现位置.
要删除上一个搜索的突出显示:
:nohlsearch
Run Code Online (Sandbox Code Playgroud)
您可能希望映射:nohlsearch<CR>
到某个方便的键.
sle*_*ate 108
该*
键将突出显示光标下所有出现的单词.
cla*_*ccs 22
我知道这不是一个非常古老的问题,但如果有人对此功能感兴趣,可以查看此代码 http://vim.wikia.com/wiki/Auto_highlight_current_word_when_idle
" Highlight all instances of word under cursor, when idle.
" Useful when studying strange source code.
" Type z/ to toggle highlighting on/off.
nnoremap z/ :if AutoHighlightToggle()<Bar>set hls<Bar>endif<CR>
function! AutoHighlightToggle()
let @/ = ''
if exists('#auto_highlight')
au! auto_highlight
augroup! auto_highlight
setl updatetime=4000
echo 'Highlight current word: off'
return 0
else
augroup auto_highlight
au!
au CursorHold * let @/ = '\V\<'.escape(expand('<cword>'), '\').'\>'
augroup end
setl updatetime=500
echo 'Highlight current word: ON'
return 1
endif
endfunction
Run Code Online (Sandbox Code Playgroud)
Ser*_*ujo 18
最简单的方法,键入正常模式 *
我也有这些映射启用和禁用
"highligh search enabled by default
set hlsearch
"now you can toggle it
nnoremap <S-F11> <ESC>:set hls! hls?<cr>
inoremap <S-F11> <C-o>:set hls! hls?<cr>
vnoremap <S-F11> <ESC>:set hls! hls?<cr> <bar> gv
Run Code Online (Sandbox Code Playgroud)
通过单击选择单词
set mouse=a "Enables mouse click
nnoremap <silent> <2-LeftMouse> :let @/='\V\<'.escape(expand('<cword>'), '\').'\>'<cr>:set hls<cr>
Run Code Online (Sandbox Code Playgroud)
额外奖励:CountWordFunction
fun! CountWordFunction()
try
let l:win_view = winsaveview()
let l:old_query = getreg('/')
let var = expand("<cword>")
exec "%s/" . var . "//gn"
finally
call winrestview(l:win_view)
call setreg('/', l:old_query)
endtry
endfun
" Bellow we set a command "CountWord" and a mapping to count word
" change as you like it
command! -nargs=0 CountWord :call CountWordFunction()
nnoremap <f3> :CountWord<CR>
Run Code Online (Sandbox Code Playgroud)
用鼠标选择单词并立即计算出现次数:OBS:请注意,在这个版本中我们最后有"CountWord"命令
nnoremap <silent> <2-LeftMouse> :let @/='\V\<'.escape(expand('<cword>'), '\').'\>'<cr>:set hls<cr>:CountWord<cr>
Run Code Online (Sandbox Code Playgroud)
基于搜索的解决方案(*,/...)移动光标,这可能是不幸的.
另一种方法是使用增强的mark.vim插件,然后完成你.vimrc
的双击触发器突出显示(我不知道键盘选择如何触发命令):
"Use Mark plugin to highlight selected word
map <2-leftmouse> \m
Run Code Online (Sandbox Code Playgroud)
它允许多个突出显示,持久性等.
要删除突出显示,请:
:Mark
(关闭直到下一个选择):MarkClear
归档时间: |
|
查看次数: |
128402 次 |
最近记录: |