12
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-10-09

最近はかなり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使うって冷静に考えると選択ミスでは。

12
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?