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

vim – 可以打开/关闭autocmd吗?

发布时间:2020-12-15 21:06:35 所属栏目:安全 来源:网络整理
导读:我已经在我的. vimrc中使用了高亮显示与当前光标相匹配的所有单词 autocmd CursorMoved * silent! exe printf('match Search /%s/',expand('cword')) 但有时它有点烦人,所以我想映射一个键来打开或关闭它,例如 F10 我怎样才能做到这一点? 解决方法 将以下
我已经在我的. vimrc中使用了高亮显示与当前光标相匹配的所有单词

autocmd CursorMoved * silent! exe printf('match Search /&;%s&;/',expand('<cword>'))

但有时它有点烦人,所以我想映射一个键来打开或关闭它,例如< F10>

我怎样才能做到这一点?

解决方法

将以下内容放在.vimrc中:

let g:toggleHighlight = 0
function! ToggleHighlight(...)
  if a:0 == 1 "toggle behaviour
    let g:toggleHighlight = 1 - g:toggleHighlight
  endif

  if g:toggleHighlight == 0 "normal action,do the hi
    silent! exe printf('match Search /&;%s&;/',expand('<cword>'))
  else
    "do whatever you need to clear the matches
    "or nothing at all,since you are not printing the matches
  endif
endfunction

autocmd CursorMoved * call ToggleHighlight()
map <F8> :call ToggleHighlight(1)<CR>

这个想法是,如果你用一个参数调用该函数,它会改变行为以打印/不打印.自动命令只使用最后一个设置,因为那里的函数没有参数调用.

(编辑:李大同)

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

    推荐文章
      热点阅读