vim でタブ文字と改行文字を見やすくする方法 (Unicode編)

簡単なんだけど、よく忘れるのでメモ。

f:id:kikuchan98:20140604024905p:plain

まず、端末が UTF-8 を表示できることが前提。

~/.vimrc に以下のように記載。

set encoding=utf-8
scriptencoding utf-8
set listchars=tab:→\ ,eol:↲
set list

" お好みに応じて、適切な場所で色設定
hi SpecialKey ctermfg=237 guifg=#3a3a3a
hi NonText ctermfg=66 guifg=#5f8787

「→」と「↲」は、INSERTモード中にそれぞれ <C-v>uffeb および <C-v>u21b2 で入力できる。

これの難点は、コピペするときに改行文字とかが混入すること、かな。
コピーする前に :set nolist で消せば、だいじょーぶ。

ちなみに EUC-JP に(そんなもの無いけど無理やり)外字として「→」と「↲」を登録しておいて、iconv 自体を改造して UTF-8 とのマッピングを定義してあげれば set termencoding=euc-jp でも動くよ。