【问题标题】:Toggling a match in vimrc在 vimrc 中切换匹配
【发布时间】:2012-07-01 09:57:24
【问题描述】:

我的 vimrc 文件中有以下几行:

hi ExtraWhitespace cterm=NONE ctermbg=green ctermfg=green guibg=green guifg=green
match ExtraWhitespace /\s\+$\|\t/

这些行将突出显示除空格之外没有其他字符的所有行以及任何制表符。 我想添加一个函数来切换突出显示空白。

map <F8> :call ToggleWhitespaceMatching()<cr>

我尝试自己编写,但无法使其正常工作。有人可以建议一个功能来实现这一点。另外,我希望默认情况下启用匹配。

【问题讨论】:

    标签: linux vim vi


    【解决方案1】:

    与 kev's 类似的想法,但切换了高亮而不是匹配

    let s:hilightws = 1
    
    hi ExtraWhitespace cterm=NONE ctermbg=green ctermfg=green guibg=green guifg=green
    hi link MaybeExtraWhitespace ExtraWhitespace
    match MaybeExtraWhitespace /\s\+$/    
    
    fun ToggleWhitespaceMatching()
      if s:hilightws
        hi link MaybeExtraWhitespace NONE
        let s:hilightws = 0
      else
        hi link MaybeExtraWhitespace ExtraWhitespace
        let s:hilightws = 1
      endif
    endfun
    
    map <F8> :call ToggleWhitespaceMatching()<CR>
    

    【讨论】:

    • 太好了,谢谢你们...我选择了这个版本,因为我喜欢只切换突出显示的想法。
    猜你喜欢
    • 2011-12-28
    • 2012-09-14
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 2022-01-08
    • 2010-12-25
    • 2020-04-24
    • 1970-01-01
    相关资源
    最近更新 更多