Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

vimでのコロンとセミコロンの強調表示

More than 5 years have passed since last update.

最近はかなりSASS/SCSSが使われるケースが増えていますが(俺調べ)、自分の周囲ではSASSガリガリ君より「CSSの延長でSCSS」という人が非常に多く(俺調べ)、というか自分です。

そうなると避けて通れないのがコロンとセミコロン、右手の小指があまりちゃんと動いてくれない人なので結構押し間違えるんですよこの2つ1。なので vim のハイライトで見分けられるようにこういう風に書きました。

.vimrc
function! StyleHighlight()
    highlight colon ctermbg=0 ctermfg=45
    highlight endSemicolon ctermbg=54 ctermfg=122
endfunction
if has('syntax')
    augroup AddHighlights
        au!
        autocmd ColorScheme * call StyleHighlight()
        autocmd VimEnter,WinEnter,BufRead * let w:m1=matchadd('colon',':')
        autocmd VimEnter,WinEnter,BufRead * let w:m2=matchadd('endSemicolon',';\{1}$')
    augroup END
    call StyleHighlight()
endif
  • matchでやると最後の一つしか適用されないのでmatchaddで複数登録した。
  • セミコロンは行末の一個だけに適用した。切った貼ったしてるウチに複数並んでたりするのは特にチェックとかしない。しないったら。
  • 色は自分のカラースキーマに合わせて変えて下さい、自分の場合は「とりあえず目立たせる」が目的なので結構変な色です。
  • gvimは使ってないのでそれ関連の指定はゴニョゴニョして下さい。

「行末の空白を強調表示」ってサンプルは沢山あるんだけど「コロンとセミコロンを別の色に、.vimrcがとっ散らからないように一箇所で指定」というケースがなかなか見つけられなかったのでココに残しておこうという程度の内容です。

vimscript をバリバリ書ける哲人でもなんでもない素人がアチコチ調べながら書いた物なので、「もっとシンプルに書けるやん」「ココこう書くと問題が出るかも知らんから○○使ったほうがええで」みたいな話がありましたらご教示頂けると幸いです。

おわり。


  1. そういう人間がvim使うって冷静に考えると選択ミスでは。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away