2010年07月18日

vim7.2インストールメモ for Debian(lenny)

Debian(lenny)のリポジトリにあるvimのバージョンはvim7.1なので、最新版を使いたい場合はvimの公式サイトからダウンロードしたソースファイルをコンパイルする必要があります。
とはいえ、ソースからのインストールは慣れないと非常に困難な作業となります。

私は本格的にソースからインストールしたのは今回が初めてだったので、かなり時間がかかりましたが、苦労した分だけ収穫は大きかったと思います。

そこで、今回はこの経験を忘れないようにvim7.2のインストールについて自分なりにまとめておくことにしました。



【1】必要なアプリケーションをインストール


まず、Debain(lenny)を最小構成でインストールした場合、コンパイルに必要なアプリケーションが入っていないので、まず以下のものをインストールしておきます。


・Make (vimのコンパイルとインストールはMakefileの実行によって行うのでmakeコマンドを使用する)

・gcc (vimのソースはC言語で記述されているのでCコンパイラが必要)

・libncurses5-dev (ターミナル処理用のライブラリ)

・patch (パッチを適用するためのアプリケーション。通常デフォルトでインストールされているようですが、入っていない場合はインストール)


これらはDebianでは以下のようにインストールできます。


#apt-get install make gcc libncurses5-dev




【2】vim7.2のソースのダウンロード


vim関連のソースファイルは以下の公式サイトでダウンロードすることができます。


vim online
http://www.vim.org/download.php#unix



このページから以下の3つのファイルをダウンロードします。


・vim-7.2.tar.bz
・vim-7.2-extra.tar.gz
・vim-7.2-lang.tar.gz


なお、端末からwgetダウンローダを使用して、ダウンロードするとより素早くダウンロードできます。


$wget ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
$wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
$wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz


ダウンロードが完了したらそのディレクトリに移動して以下のコマンドを実行して解凍します。


$bzip2 -dc vim-7.2.tar.bz2 |tar vxf -
($tar jxvf vim-7.2.tar.bz2)
$tar zxvf vim-7.2-extra.tar.gz
$tar zxvf vim-7.2-lang.tar.gz


これにより、カレントディレクトリに、コンパイルに必要なファイルがすべて解凍された「vim72」というディレクトリが作成されます。



【3】パッチの適用


vimをソースでインストールするときには、まずソースファイルにパッチ(修正プログラムとの差分ファイル)を当てて最新の状態する必要があります。

ソースファイルは日々修正され、公式サイトのディレクトリにアップロードされているので、常に一定数というわけではありません。
また、パッチファイルは細分化されているため、多数のファイルをダウンロードする必要があり、一つ一つファイルをダウンロードするのは煩雑な作業となり時間がかかってしまいます。
このため、パッチをダウンロードするときには端末からwgetを使用したほうが効率がよいといえます。
なお、以下のコマンドは、vim72のアーカイブを解凍したディレクトリをカレントディレクトリとしています。


$mkdir ./vim72/patches
(パッチ用ディレクトリの作成)


$cd ./vim72/patches
(そのディレクトリに移動)


$wget -r -A 7.2* -np -nd http://ftp.vim.org/pub/vim/patches/7.2


(ここでは、-r(再帰的にダウンロード)、-A(後の文字列にマッチしたファイルだけをダウンロード),-np(親ディレクトリを除外)、-nd(ディレクトリを作成しない)の4つのオプションを付加してvim7.2のパッチファイルのみをダウンロードしています。)


なお、このコマンドでダウンロードすると、「.gz」のつく圧縮ファイル(おそらくパッチファイルをまとめたもの)も一緒にダウンロードされてしまうので、このファイルを削除($rm *.gz)してから以下のコマンドを実行します。



パッチファイルはpatchコマンドで適用できますが、一つ一つ適用すると膨大な時間がかかるので、まずcatコマンドでpatchファイルを一つにまとめたものを適用します。


$cd ../ (./vim72/patchから、./vim72に移動)

$cat ./patch/7.2* | patch -p0


(patchコマンドの「-p」オプションはパッチを適用するディレクトリの階層を詳細に指定するためのものですが、今回のパッチファイルは「./vim72」ディレクトリ内でpatchコマンドを実行するように作られているので、「./vim72」への移動後に「-p0」オプションをつけて実行しています)


なお、上記のコマンドではパイプを使っているので少し分かりにくくなっていますが、以下のようにパッチファイルを作成してからパッチを適用する操作と等価です。


$cat ./patch/7.2* > vim72.patch
$patch -p0 < vim72.patch


以上によりVimのソースファイルにパッチが適用されて最新の状態に更新されます。


【4】vim7.2のコンパイル


配布されているソースコードには、コンパイルを円滑に行うためのスクリプトやMakefileが付属してるのが一般的なようで、vimも例外ではないようです。
コンパイルとインストールは、このスクリプトを正しく実行することにより、自動的に行ってくれます。


[コンパイルの手順]


1.「configure」スクリプトを任意のオプションをつけて実行する。


2.「make」コマンドでvim7.2をコンパイルする。


3.「make install」コマンドでコンパイルしたバイナリファイルをインストールする。


(vim7.2の「configure」スクリプトは、必要なライブラリの有無を調べてインストールする環境でアプリケーションが動作するかを確認したり、コンパイルに必要なMakefileやスクリプトを自動生成したりする機能を持つようです)


なお、使えるオプションは「./configure --help」で確認できるので、必要な機能に応じて付加します。


日本語環境で最低限必要なオプションは以下のとおりです、


・ --with-tlib=ncurses (ターミナルの画像処理ライブラリの指定)
・ --enable-multibyte (マルチバイト文字の編集を有効にする)
・ --enable-xim (XIM〔X Input Method〕のサポートを有効にする)
・ --enable-fontset (Xフォントセットのサポートを有効にする)
・ --disable-selinux (selinuxを使用していないときには無効にしたほうがよい)



また、vimの構成を次のオプションで指定することができます。(左から順に大きい構成でデフォルトはnormal)


・ --with-features='tiny'or'small'or'normal'or'big'or'huge'



さらに、vimにスクリプト言語のインタプリタを組み込みたいときには以下のオプションをつけます。


・ --enable-perlinterp (perlのインタプリタ)
・ --enable-pythoninterp (pythonのインタプリタ)
・ --enable-tclinterp (tclのインタプリタ)
・ --enable-rubyinterp (rubyのインタプリタ)




今回はインタプリタは組み込まないで、最大構成(huge)でインストールしてみることにします。(以下は「./vim72」がカレントディレクトリのときに実行したものとする)



$./configure --with-features=huge --enable-multibyte --enable-xim --enable-fontset --disable-selinux --with-tlib=ncurses



無事configureが成功すると、エラーメッセージを表示せずに終了するので、即座にmakeコマンドを実行してコンパイルします。


$make


そして、コンパイルが無事終了したら「make install」コマンドで完成したバイナリファイル及びその他の設定ファイルをインストールします。
(インストール先によってはルートユーザとしてログインする必要がある)


#make install


なお、デフォルトでは「/usr/local」以下のディレクトリにインストールされますが、configureスクリプトの実行時に「--prefix」オプションでインストール先を指定すれば任意のディレクトリにインストールできます。



以上でvim7.2のインストールは完了です。



このあと、必要に応じてパスを通しておきます。
デフォルトのインストール先である「/usr/local/bin」はDebian(lenny)では最初からパスが通っている上、PATH環境変数の最初に記述されているので、パスを通さなくても端末で「vim」と入力するだけで起動することができます。



ただし、vimが環境変数のEDITORに設定されているときには、そこに指定されたvimが優先されるので注意が必要です。
(たとえば「$HOME/.bashrc」に「export EDITOR=/usr/local/bin/vim」を記述しておくと新しいvimがvimコマンドで起動するようになります。)
また、「$HOME/.bashrc」に「alias vi='/usr/local/vim'」のように記述してエイリアスを作成しておくと、viコマンドでvimを起動できるので便利です。


※今回は最大構成のhugeでインストールしましたが、デフォルト(normal)との違いは判別できませんでした。「/usr/local/bin」のファイル数に違いはなかったので、初期のプラグインの数などが少し異なるのかも知れません。
posted by mechanical_doll at 03:17| Comment(0) | Debian | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。