gvimの設定でハマったところ

By | 2015年11月24日

この記事はVim Advent Calendar 2015の15日目の記事です。

vimといえば端末の中で開いて使う人が多いですが、私はgvimユーザーの一人です。以前は端末内で使っていたのですが、いろいろとプラグインを入れてIDEみたいにするうちに、ウインドウが別になっているほうが使いやすくなるだろうと思ったのでgvimを使うことにしました。KaoriYaさんのGVimを使うことにしたのですが、今まで使っていた端末内vimと同じように設定するとうまくいかないところが幾つかあったので紹介させていただきます。また、私はCygwinを使っているので、Cygwin環境から呼び出したりする人にはとくに参考になるかもしれません。間違いや指摘大歓迎です。

 

Cygwinの環境変数を引き継がせるとおかしなことになる

Cygwinからgvimのバイナリを実行すると、Cygwinの環境変数が引き継がれて、HOMEやPATH、そしてTEMPがおかしくなります。このままだとまともに使えないので、環境変数を引き継がないようにgvimを起動する必要があります。Cygwinから環境変数を引き継がせずにStartする方法はこちらの記事にまとめたので、ご覧ください。ちなみに、HOMEやPATHのみ引き継がないようにしてgvimを起動すると一見ちゃんと動いているようですが、NeoBundleがエラーを吐いたり、tmpを利用する一部のプラグインが動かなかったりします。

 

.vimrcではなく_vimrc, _gvimrcを使う

まず、設定ファイルが2つに分かれています。普通のvimとは違いますね。gvim.exeが入っているのと同じフォルダに_vimrcと_gvimrcを置いて設定していきます。Cygwinのホームフォルダに.vimrcを置いても意味がないので気を付けましょう。

 

プラグイン管理のためにCygwinではなくWindowsにgitを入れる

バージョン管理をする必要があるときは普段はCygwin内のgitを使っていますが、gvimはCygwinとは独立しているので、もしNeoBundleを利用するなら、Windowsにgitを入れる必要があります。PATHを通すのをお忘れなく。

 

 GUIに関する設定は_gvimrcに、それ以外は_vimrcに書く

普通のvimなら、すべての設定を.vimrcに書いて動きますが、gvimだと幾つかの設定は分ける必要があります。例えば、今まで.vimrcに書いていたcolorschemeやbackgroundやcursorlineなどの設定は_gvimrcに書く必要があります。また、端末に依存している訳ではないので、マウスでクリックしたときの挙動やフォントの設定、そして透明度の設定も_gvimrcに書くことになります。メニューバーやスクロールバーを表示させない設定もこちらに書きます。gvimrc特有の設定の参考として、現在使っている_gvimrcを晒しておきます。

 

日本語のないフォントを使用すると文字サイズを大きくしたときにおかしくなる

プログラミング時はInconsolataを使うのが好きです。Windowsのレジストリでフォントリンクの設定などを行うことで日本語を入力した時でも問題なく表示されるのですが、フォントサイズを大きくすると表示が崩れることがあります。特に、Vimの画面をプロジェクタで移したりする際は文字サイズを思い切り大きくしたいのですが、Inconsolataのままだと画面が崩れます。プログラミング時は文字サイズが小さいのでそんなに問題はないのですが…  色々と試行錯誤していると、MigMix 1Mというフォントだとフォントサイズを大きくしても問題ないことが分かりました。今では、文字サイズを大きくしたい時には以下を有効にしています。もちろん、_gvimrcに設定する必要があります。

フォント名に半角が入っている場合、こんなふうにバックスラッシュを入れる必要があります。

いかがでしたか。windowsのgvim設定で悩んでいる人のお助けになれば幸いです。


コメントを残す

メールアドレスが公開されることはありません。