4

私のvimrcファイルには次の行があります:

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

これらの行は、スペースとタブ以外の文字を含まないすべての行を強調表示します。空白の強調表示を切り替える関数を追加したいと思います。

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

自分で書こうとしましたが、うまくいきませんでした。誰かがこれを達成するための機能を提案してもらえますか?また、デフォルトでマッチングをオンにしたいと思います。

4

1 に答える 1

6

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>
于 2012-06-29T21:36:05.860 に答える