【GVim】Proggy + Osakaで快適コーディング


vim_guifontwide.png

Windows版のGVimでフォントを指定するときは「guifont」「guifontwide」の二種類を指定する必要がある……というのを今日初めて知った。前者は半角、後者は全角のフォントを指定する。今までは前者しか指定してなかったので、全角文字についてはレジストリをいじってFontLinkを使うことで対処していた。

Windows 2000/XPのFont Link機能(Font Linking)の紹介
http://blue.ribbon.to/~akene/fontlink.htm

これでも機能的には十分なのだが、変更するのにレジストリエディタを起動するのは億劫だし、OSを再起動しないと有効にならないのが困りもの。でも、わざわざこんな苦労することなかったのだ。

Gvim on Windows: フォント設定: まじかんと雑記
http://magicant.txt-nifty.com/main/2009/03/gvim-on-windows.html

ここに詳細に書かれているのだが、指定すべきオプションは3つある。

guifont

半角フォントの指定。「フォント名:オプション:オプション……」の形式で指定する(オプションは省略可能)。フォント名には日本語名及び英語名が使えるが、日本語名の場合「set encoding=cp932」環境じゃないと正常に動かない。英語名を使った方が無難。

例:「MS ゴシック」→「MS_Gothic」(空白を含む場合はこの例のようにアンダーバーを使えばよい。)

その他のオプション
hxx xx」にはフォントの高さを数字で指定する。
wxx xx」にはフォントの幅を数字で指定する。
b/i/u/s それぞれ太字斜体下線付き打ち消し線付きを表す。
cXX 文字セットを指定する。日本語環境では「cDEFAULT」以外を使う必要はないだろう。
guifontwide
全角フォントの指定。書式はguifontと同じだ。

ambiwidth

特殊文字の表示にどちらのフォントを使うか指定する。半角フォントならば「single」、全角フォントならば「double」と書く。

最後のambiwidthは少しわかりにくい。「特殊文字」というのはマニュアルによると「ユーロ、登録商標記号、著作権記号、ギリシャ文字、キリル文字など」とあるが、句読点や引用符も該当する。実際に文書を書くときに困るのはむしろこっちだろう。例えば以下のものが当てはまる。

‘’ シングル引用符
“” ダブル引用符
三点リーダー
二点リーダー

この辺の文字が初期設定の「single」では半角フォントで表示されてしまう。半角フォントがちゃんと対応するグリフを持っていればいいのだが、プログラミング向けのフォントとかだとこのような文字はばっさり切り捨ててある場合が多いので注意する必要がある。

以上を踏まえて、_gvimrcに次のように書き込んだ(リンク先には「set encoding=utf8」すると文字化け云々という記述があるが、少なくとも香り屋の最新版ではそのようなことはなかった。)

" フォント名に日本語名を使うので、一時的に文字コードを変える
set encoding=cp932
set guifont=ProggyCleanTTSZBP:h12
set guifontwide=Osaka-等幅:h9
set ambiwidth=double
" 文字コードを元に戻す
set encoding=utf8

使用したフォントは以下の通り。

Proggy Programming Fonts
http://www.proggyfonts.com/

WindowsでOsakaフォントを使おう!
http://osaka.is.land.to/

いろいろ試したけど、この2つの組み合わせが最強だ。Osakaフォントは定番中の定番だが、「Proggy」フォントの方はマイナーかも。今回使用した「Proggy Clean (Slashed Zero, Bold Punc)」フォントは、

  • 「¥」の代わりにバックスラッシュ。(英語フォントだから当然)
  • 「0」にスラッシュが入ってる。
  • 記号類「’"(){}[],.;:」が常に太字。

というまさにコーディングのためのフォント。ただ、先に書いた三点リーダーなどの記号類は含まれていないのでambiwidthオプションは必須だ。

expanded.png

今回はTrueType版を使っているのでClearTypeによるスムージングも行われている。そのため半角文字は薄い緑に見え、Osakaフォントの文字と区別が付くようになっている。単なる副作用だけどこれはこれで便利かもね。

One thought on “【GVim】Proggy + Osakaで快適コーディング

  1. Pingback: Gvimに様々なフォントを使用する Windows編 | 健巳創作

コメントを残す