読者です 読者をやめる 読者になる 読者になる

mabulog

このブログは、mabuの平凡な日常を淡々と描く物です。 過度な期待はしないでください。 あと、部屋は明るくして、 モニターから3メートルは離れて見やがってください。

check Vim about newline character , end line space, Tab space, 全角 space

背景 Background

レガシーコードを修正する事、HPから処理をコピペする事
そんな良くある日常に潜む罠を回避する方法『視覚化』を行います。

本処理は行末のスペースを削除しない方向で進めています。
理由は単純で、既に動いているコードを自分の責任で
削除する有機...勇気を私は持ち合わせていません。

目標 Goal

  • タブスペースの可視化
  • 想定外の改行コードの可視化
  • 行末のスペースを可視化
  • 全角スペースの可視化

環境 Environment

手順 Operation

$ vi .vimrc
augroup AdditionalHighlights
  autocmd!
  autocmd ColorScheme * highlight TabString cterm=reverse ctermfg=lightyellow
  autocmd VimEnter,WinEnter * let w:m1 = matchadd("TabString", '\t')
  autocmd ColorScheme * highlight CrString cterm=reverse ctermfg=darkred
  autocmd VimEnter,WinEnter * let w:m2 = matchadd("CrString", '\r')
  autocmd ColorScheme * highlight CrlfString cterm=reverse ctermfg=darkmagenta
  autocmd VimEnter,WinEnter * let w:m3 = matchadd("CrlfString", '\r\n')
  autocmd ColorScheme * highlight WhitespaceEOL cterm=reverse ctermfg=lightmagenta
  autocmd VimEnter,WinEnter * let w:m4 = matchadd("WhitespaceEOL", '\s\+$')
  autocmd ColorScheme * highlight ZenkakuSpace cterm=reverse ctermfg=lightred
  autocmd VimEnter,WinEnter * let w:m5 = matchadd("ZenkakuSpace", ' ')
augroup END

参考サイト Reference