vim-users.jp

Hack #152: VimとGVimの相違点について知る

Posted at 2010/06/05
このエントリーをはてなブックマークに追加

普段何気なく使っているVimとGVimですが、二つのVimには様々な違いがあります。違いを正しく知って、使い分けることが真のVim使いへの近道です。

Vimの利点

GUIがなくても動作する

sshでリモートログインしてVimを使用する場合、当然ですがGVimは使用できません。

screenやシェルとの連携が楽

GVimでは外部コマンドを呼び出すとDos窓が開いたり(Windows版)、細かな動作が端末時と異なったりと、連携しづらい面があります。 特にユーザーからの入力が必要な場合に厳しいです。screenと連携できるのもVimのみです。外部コマンドを別のscreenで実行しながらVimを併用するというやり方がオーソドックスでしょう。

GVimの利点

描画が高速

端末は古い仕様を引きずっているので基本的に描画が遅いですが、GVimは高速に動作します。特に、Macの端末は描画が遅いようです。

フルカラーが使用できる

特にWindowsの端末はひどく、16色しか使用できません。下線など、GVimにしかない機能もあります。GVim用のcolorschemeを256色環境で使用するには、雑多な設定が必要であるなど、手間もかかります。この辺りの設定については、[Hack #64: 256色ターミナルでVimを使用する]を参照してください。

日本語が使用しやすい

端末の場合、日本語の特殊記号の描画が乱れることがあります。 IMEとの連携も簡単です。端末の場合はそうもいかないので、skk.vimやUIMのvi協調モードを使う必要があります。

設定が簡単である

端末上のVimだと、一部に摩訶不思議な設定をしないと動作しないことがあります。

特殊なキーを利用できる

端末では使用できるキーにかなり制限があります。

複数のGVimを開くことができる

端末ではscreenを使用するか、端末のタブ機能を使うしかありません。

クリップボードを使用できる

端末でクリップボードと連携するにはkana氏の作成した、fakeclip.vimをインストールする必要があります。使い方に癖があるので、注意が必要です。

マウスとの連携

キーボード派からは邪道と言われるかもしれませんが、右クリックでポップアップメニューが使えるのは便利です。

アイコンの使用

エラー部分にxpm形式のアイコンが使用できます。表示がわかりやすくなって便利です。

自由なフォントの使用

通常のVimの場合、フォントは端末に制限されてしまいます。GVimではEmacsのように英字と日本語でフォントを変更したり、フォントの大きさを変えるのも自由自在です。ただし、Mac OS X以外ではプロポーショナルフォントは使用できません。Mac OS Xでプロポーショナルフォントを使用する方法については、次のHackを参照してください。[Hack #92: Vimでプロポーショナルフォントを使う (Mac OS X編)]

Emacsではどうか

EmacsはGUI版で画像が表示できたり、ツールチップに対応しているなど、圧倒的にGUI版が高機能であるうえに、 外部シェルとの連携やEmacsを端末化することも容易です。 よって、screenと連携したり、リモート接続する場合を除きGUI版を利用する人が多いようです。

GVim+vimshell

GVimには前述の通り、欠点もあります。しかしWindowsでは端末とシェルがしょぼすぎる上に、外部コマンドも貧弱、screenもないのでGVim一択となることでしょう。外部コマンドの連携についても、vimshellと併用することで、シェルが必要な作業の90%はこなせると思います。ただしvimshellにはパイプがまともに使えないなどのバグがあります。cursesを用いた複雑なプログラムも動作しないため、そのようなときは端末上のVimを使用せざるをえないでしょう。

筆者の使用環境

筆者はWindowsでもLinuxでも、ほぼGVimのみを使います。なぜなら筆者はVim上ですべての作業を完結させたいと考えていることに加え、端末の描画が遅いことが気になるからです。 日々のシェルを使用する作業はGVim内からvimshellの機能を用いて行います。 どうしようもなければ、時々端末も使用しますが、動作確認でもない限り端末上のVimはほとんど使用しません。

Shougo

もどる
blog comments powered by Disqus