ちなみに

火曜日の空は僕を押しつぶした。

行末のスペースを可視化する


こんな感じ。

うじひささんに教えてもらったのですが、行末のスペースを表示してやると、無駄なスペースが減るうえに見た目にもスペースの位置が分かるので可読性があがります。ujihisa++

具体的にはvimの'list'を有効にしたうえで、'listchars'を設定します。

set list
set listchars=eol:\ ,trail:-

などと.vimrcに加えておくと行末のスペースが'-'と表示されます。eolは行末の改行なのですが、僕の環境ではデフォルトで'$'が設定されていたのでスペースにして消しておきました。なんだかこれが入ると逆に見にくくなるので。

(追記:この設定だとタブが表示されてしまうので、
:set listchars=tab;\ \ ,eol:\ ,trail:-
にしました)

'listchars'では以下の6つの文字を設定できます。
':'の前が設定する項目で、あとが設定する文字です。'c'が1文字で後述する'tab'の'xy'2文字です。

  • eol:c - 行末の改行文字
  • tab:c - タブ
  • trail:xy - 行末のスペース
  • extends:c - 折り返した行の行末
  • precedes:c - 折り返してきた行の行頭
  • nbsp:c - ノンブレーカブル・スペースとかいうの(良く分かってない
:set listchars=tab:>-,trail:-

などと言う風に','で区切って複数していできます。
'tab'以外は1文字で指定するのですが、'tab'だけは2文字で指定するようになっていて、1文字目はタブの始まり、2文字目はそれ以降の部分を表します。

詳しい情報はヘルプを読むようにしてください。

" 'list'オプションについて
:h 'list'
" 'listchars'オプションについて
:h 'listchrs'

今週末は大阪でvim勉強会があります。某有名vim使いの方も参加予定ですので興味のある方は是非。
vim勉強会#2 http://cotocoto.jp/event/26513