Vim
Mac
MacOSX
Terminal
vimrc

Macのターミナル上(とVim上)で全角記号の幅がおかしい問題を解決する

背景

Macのターミナルを本格的に使用しはじめて、「ターミナル上で表示される全角記号の幅がおかしい」と気付きましたが、最近まで特に対応していませんでした。
しかし、Vimでファイルを編集している際に全角記号があると編集箇所がわかりにくい!とストレスが溜まるので解決策を調べて解決したお話です。

現象

Macのターミナル上やVim上では、全角記号の幅がおかしくなります。
before.png

問題を解決するための設定

1. ターミナルの環境設定

ターミナル > 環境設定 > (デフォルトに指定しているプロファイルを選択して)し右ペインの詳細タブ >最下部のUnicode 東アジアA(曖昧)の文字幅をW(広)にするにチェック
(Vimを使用しない場合であれば、この設定だけで完了です)

スクリーンショット 2017-07-18 11.08.40.png

2. .vimrcの編集

.vimrcへ以下を追記する

.vimrc
"" Macのターミナルで全角記号の表示がずれる問題への対応                                       
set ambiwidth=double

VimプラグインYggdroot/indentLineを使用している場合

私の.vimrcの場合、上記の設定をしてもカーソル行だけインデント表記がずれる、という問題が発生したのでその対応。
インデント視覚化の文字に全角記号を使用していると発生しました。

.vimrc
"" インデント視覚化に半角|を使用
let g:indentLine_char = '|'

結果

全角記号も正しく表示されるようになりました。
after.png

おまけ

今回始めて知ったんですが、Qiitaのコードハイライトって.vimrcにも対応しているんですね。
マークダウンで ```vim:.vimrc で記載するとコードハイライトされました。素敵!