2016年12月13日(火) [長年日記]
■ [vim] Vim 8でフォントを綺麗に表示する
Vim 8で追加されたWindows での DirectX サポート機能を試したら、フォントが綺麗に表示されるようになったのでメモ。
VimはKaoriYaで配布されているもののGUI版を使う。バージョンは8.0.82。
renderoptionsオプションの設定
renderoptionsオプションを設定すると、テキストレンダリングにDirectXを使えるようになる。renderoptionsオプションはパラメータが色々あって難しいのだけれど、
:set renderoptions=type:directx,renmode:5
と設定することでまあ満足な表示になった。
が、この設定だけだと駄目で、以下の設定も行った。
UTF-8化
renderoptionsのヘルプのdirectxの項に
MS-Windows の Vista 以降のバージョンで 'encoding' が "utf-8" である必要がある。
とある通り、エンコーディングをUTF-8に設定する必要がある。KaoriYa版のデフォルトのエンコーディングはcp932になっているようだけれど、 switches\catalog にある utf-8.vim を switches\enabled に移動すればエンコーディングをutf-8に変更できる。
ここまでで、renderoptions未指定だと
という感じだったのが、renderoptionsを上記のように設定すると
という感じになる。下が綺麗かは微妙だけれど、字が太くなった!
guifontオプションの指定
GVimのデフォルトのフォントはMSゴシックのようだが、これをConsolasを使うようにしたい。Consolasには和文用にMSゴシックをリンクする設定を別途行っている(フォントのリンクについての説明は割愛)。
フォントはguifontオプションで設定する。cXXやqXXは何を設定すべきかわからないので未指定とし、
:set guifont=Consolas:h12
と設定すると、
となった。日本語の表示が崩れてしまう。
guifontwideオプションの指定
GVimにはguifontwideというオプションもあるのでこれを指定してみる。
:set guifontwide=MS_Gothic:h12
と設定すると、
となった。うん、これでいいのではないだろうか。
IME動作時の表示が変
未解決の問題があって、漢字変換中に表示される文字の見栄えが確定後の見栄えと違ってしまって違和感がある。
見栄えは妥協したとしても文字幅が変わっちゃうのは困るよなあ。
追記
KaoriYaさんに解説記事が出ていたのでメモ。
- renderoptions の設定のしかた (KaoriYa)