微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何自动突出显示vim中的当前单词?

例如,我们的文字是:

hello world
abcd hello world
hello world

在eclipse中,当光标位于某个单词时,单词hello在当前文件自动高亮显示.当您在正常模式下键入ww时,光标位于当前文件中将突出显示的其他单词世界中,hello会自动取消突出显示.这个功能用户来说非常方便.

vim是否可以使用某些插件执行此操作?

解决方法

vim.wikia.com上有一个脚本来完成这个.它等待,直到您停止移动光标,然后突出显示当前单词的所有实例.然后,您可以使用n和N在它们之间跳转,就像通常使用搜索结果一样.

在这里复制它以防链接断开:

" 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

如该页面上的注释所述,如果您始终需要此功能,则可以在定义后从vimrc调用功能.这样你可以使用z /(或你指定的任何快捷方式)以后再关闭它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐