
linux系OSのテキストエディタ、「vi」と「vim」。
「vi」は、VIsual editorの略。
「vim」は、Vi IMprovedの略。
Wikipediaより抜粋。
- キーボードのみで操作されることを前提としていたため、キーボードのみですべての操作が可能になっている
- 他のエディタとは操作方法がまるで異なるため、一通りのテキスト編集作業ができるようになるまで慣れが必要となる。
- 一旦慣れてしまえばメモ帳などとは比較にならないほどのテキスト編集速度を得ることができるため、数多くのVim愛好家が存在する
「vi」を使いやすいように機能を拡張したものが「vim」。
「vi」は現在ではほとんど使われておらず、「vi」のつもりでも実は「vim」をつかっていたりする。
環境:Ubuntu 16.04
標準でインストールされている vim の確認
Ubuntu では、標準で「vim-tiny」という簡易版がインストールされている。
$ which vi |
「vi」を実行すると、「vim-tiny」が実行される。
起動画面
$ vi

日本語化はされていない。
詳細情報を確認してみる。
$ vim.tiny --version |
「vim」から機能を削ぎ落した簡易版であり、もともとの「vi」とほぼ同じ機能といえる。
インストールできるVimの種類
$ vim |
このうち、"-py2" と付いたものは、
VIM は python3 をデフォルトとします
標準のVIMパッケージはpython2ではなくpython3用にビルドされています。つまりpython2インタープリターを必要とするVIMプラグインもはや動作しないということです。この問題に対応するため、たとえばvim-gnome-py2のように、python2をサポートした代替のVIMパッケージを用意しています。これらのパッケージはalternativesシステムを用いて、既定のvimコマンドに設定できます。
・sudo update-alternatives --set vim /usr/bin/vim.gnome-py2
引用:Ubuntu 16.04 LTS (Xenial Xerus) リリースノート(日本語)
ということで、vim種類に対してpython2をサポートがあるだけなので、とりあずは無視しておく。
そのため、種類としては以下の通り。
* vim
* vim-gnome
* vim-tiny(標準版)
* vim-athena
* vim-gtk
* vim-gtk3
* vim-nox
vim
単なる「vim」は、「vim.basic」のこと。
起動画面
$ vim

日本語化はされている。
詳細情報を確認してみる。
$ vim.basic --version |
vim-athena

日本語化はされている。
詳細情報を確認してみる。
$ vim.athena --version |
X11-Athena GUI付き。Xawかな。
「vim」のGUI版は「gVim」

文字化けがあるが、それより気になるのはGUIとして、いまいち美しくない。

vim-gtk

日本語化はされている。
詳細情報を確認してみる。
$ vim.gtk --version |
GTK2 GUI付き。
「gVim」。

vim-gtk3

日本語化はされている。
詳細情報を確認してみる。
$ vim.gtk3 --version |
GTK3 GUI付き。
「gVim」。

vim-gnome

日本語化はされている。
詳細情報を確認してみる。
$ vim.gnome --version |
GTK2-GNOME GUI付き。
「gVim」。

vim-nox

日本語化はされている。
詳細情報を確認してみる。
$ vim.nox --version |
GUI無し。
機能の違い
「vim」機能が決定される方法のひとつとして、コンパイル時に指定する方法。
指定しなければ、"normal"となる。
タイプ | 説明 | vimの種類 |
---|---|---|
tiny | 多くの機能を無効にしてコンパイル | - |
small | 一部の機能を無効にしてコンパイル | vim-tiny |
big | 多くの機能を有効にしてコンパイル | - |
huge | ほとんどの機能を有効にしてコンパイル | vim vim-gnome vim-athena vim-gtk vim-gtk3 vim-nox |
どのような機能が含まれるかは、feature-list を参照。
GUI版「gVim」の有無
タイプ | vimの種類 |
---|---|
GUI無し | vim-tiny vim vim-nox |
GUI有り | vim-gnome vim-athena vim-gtk vim-gtk3 |
機能比較(「vim-tiny」は機能が限定的なので除く)
少数派の機能設定をマーキング。
"GUI無し版"内で設定が異なる
"GUI有り版"内で設定が異なる
"GUI無し版"と"GUI有り版"で設定が異なる
種類 | 機能 |
---|---|
vim | +acl +farsi +mouse_netterm +tag_binary |
vim-nox | +acl +farsi +mouse_netterm +tag_binary |
vim-athena | +acl +farsi +mouse_netterm +tag_binary |
vim-gtk | +acl +farsi +mouse_netterm +tag_binary |
vim-gtk3 | +acl +farsi +mouse_netterm +tag_binary |
vim-gnome | +acl +farsi +mouse_netterm +tag_binary |
依存するライブラリが異なる違いはあるが「vim-gtk」「vim-gtk3」「vim-gnome」は機能設定としては違いがない。
まとめ
結局、どれをインストールするのかと言うと、「vim」と他のアプリとでクリップボード連携が必要であれば、GUI付きを選ぶしかない(clipboard機能)。
もしストレージの容量がかつかつで、インストール時の容量が気になるのであれば、容量を優先して標準の「vim-tiny」のままでよいだろう。
それ以外は、機能設定として多数派にあたる「vim-gtk」「vim-gtk3」「vim-gnome」のどれか。ウィンドウマネージャがgnomeなら「vim-gnome」、それ以外なら「vim-gtk」「vim-gtk3」。どのGUIが好みかで決定すればよい。『SSH接続がほとんどで、GUIエディタ「gVim」は必要ない』としても大は小を兼ねるの方針でこの3つから選べばよいだろう。