加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 22:40:18 所属栏目:安全 来源:网络整理
导读:例如,我们的文字是: hello worldabcd hello worldhello world 在eclipse中,当光标位于某个单词时,单词hello在当前文件中自动高亮显示.当您在正常模式下键入ww时,光标位于当前文件中将突出显示的其他单词世界中,hello会自动取消突出显示.这个功能对用户来说
例如,我们的文字是:

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 /(或你指定的任何快捷方式)以后再关闭它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读