6.58. Vim-7.2

Vim パッケージは強力なテキストエディタを提供します。

概算ビルド時間: 1.0 SBU
必要ディスク容量: 79 MB
[ティップ]

Vim の代替ソフトウェア

もし Emacs、Joe、Nano など他のエディタを用いたい場合は http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html に示される手順に従ってインストールしてください。

6.58.1. Vim のインストール

まず2つのアーカイブ vim-7.2.tar.bz2vim-7.2-lang.tar.gz を同一ディレクトリに解凍します。 (2つめのアーカイブを用いるのは任意です。)

Vim-7.2 の初期版リリース以降に開発者によって発見された種々の問題を解消するために、以下のパッチを適用します。

patch -Np1 -i ../vim-7.2-fixes-5.patch

設定ファイル vimrc がインストールされるデフォルトディレクトリを /etc に変更します。

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h

Vim をコンパイルするための準備をします。

./configure --prefix=/usr --enable-multibyte

configure オプションの意味:

--enable-multibyte

このオプションは、マルチバイトエンコーディングによるファイルの編集をサポートする指示を行います。 マルチバイト文字を用いるロケールにとってはこれが必要です。 例えば Fedora Core のようにデフォルトで UTF-8 を採用している Linux ディストリビューションにおいては、新規に生成するテキストファイルを編集できるようにするために、このオプションを指定することが有用です。

パッケージをコンパイルします。

make

コンパイル結果をテストするには以下を実行します。

make test

このテストスイートは数多くのバイナリデータを端末画面上に出力します。 これは端末画面の設定によっては問題を引き起こします。 これを避けるには出力をリダイレクトしてログファイルに出力するようにしてください。

パッケージをインストールします。

make install

たいていのユーザーは vim ではなく vi を使うようです。 vi を入力しても vim が実行されるように、実行モジュールに対するシンボリックリンクを作成します。 さらに指定された言語による man ページへのシンボリックリンクも作成します。

ln -sv vim /usr/bin/vi
for L in  /usr/share/man/{,*/}man1/vim.1; do
    ln -sv vim.1 $(dirname $L)/vi.1
done

デフォルトでは Vim のドキュメントが /usr/share/vim にインストールされます。 以下のようなシンボリックリンクを生成することで /usr/share/doc/vim-7.2 へアクセスしてもドキュメントが参照できるようにし、他のパッケージが配置するドキュメントの場所と整合を取ります。

ln -sv ../vim/vim72/doc /usr/share/doc/vim-7.2

LFS システムに対して X ウィンドウシステムをインストールする場合 X のインストールの後で Vim を再コンパイルする必要があります。 Vim には GUI 版があり X や他のライブラリがインストールされていて 初めて構築できるためです。 この作業の詳細については Vim のドキュメントと BLFS ブックの http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html#postlfs-editors-vim に示されている Vim のインストール説明のページを参照してください。

6.58.2. Vim の設定

デフォルトで vim は Vi 非互換モード (vi-incompatible mode) で起動します。 他のエディタを使ってきたユーザーにとっては、よく分からないものかもしれません。 以下の設定における 「nocompatible」 (非互換) は、Vi の新しい機能を利用することを意味しています。 もし 「compatible」 (互換) モードに変更したい場合は、この設定ファイルの冒頭にて行っておくことが必要です。 このモード設定は他の設定を置き換えるものとなることから、まず初めに行っておかなければならないものだからです。 以下のコマンドを実行して vim の設定ファイルを生成します。

cat > /etc/vimrc << "EOF"
" Begin /etc/vimrc

set nocompatible
set backspace=2
syntax on
if (&term == "iterm") || (&term == "putty")
  set background=dark
endif

" End /etc/vimrc
EOF

set nocompatible と設定しておくと vi 互換モードでの動作に比べて有用な動作となります。 (これがデフォルトになっています。) その設定の記述から 「no」 の文字を取り除けば、旧来の vi コマンドの動作となります。 set backspace=2 を設定しておくと、行を超えてもバックスペースキーによる編集が可能となります。 またインデントが自動的に行われ、コマンド起動時には自動的に挿入モードとなります。 syntax on パラメータを指定すれば vim の文法ハイライト (syntax highlighting) 機能が有効になります。 最後にある if 文は、set background=dark を指定した場合に、特定の端末エミュレータ上において vim が背景色を誤って認識しないようにするためのものです。 エミュレータの背景色が黒色であった場合に、より適切なハイライトが実現できます。

この他に利用できるオプションについては、以下のコマンドを実行することで出力される説明を参照してください。

vim -c ':options'
[注意]

注意

Vim がインストールするスペルファイル (spell files) はデフォルトでは英語に対するものだけです。 必要とする言語のスペルファイルをインストールするなら ftp://ftp.vim.org/pub/vim/runtime/spell/ から、特定の言語、エンコーディングによる *.spl ファイル、またオプションとして *.sug ファイルをダウンロードしてください。 そしてそれらのファイルを /usr/share/vim/vim72/spell/ ディレクトリに保存してください。

スペルファイルを利用するには /etc/vimrc ファイルにて、例えば以下のような設定が必要になります。

set spelllang=en,ru
set spell

詳しくは、上で説明した URL にて提供されている README ファイルを参照してください。

6.58.3. Vim の構成

インストールプログラム: ex (vim へのリンク), rview (vim へのリンク), rvim (vim へのリンク), vi (vim へのリンク), view (vim へのリンク), vim, vimdiff (vim へのリンク), vimtutor, xxd

概略説明

ex

vim を ex モードで起動します。

rview

view の機能限定版。 シェルは起動できず、サスペンドも行うことはできません。

rvim

vim の機能限定版。 シェルは起動できず、サスペンドも行うことはできません。

vi

vim へのリンク。

view

vim を読み込み専用モード (read-only mode) で起動します。

vim

エディタ。

vimdiff

vim により、同一ファイルにおける2つまたは3つの版を同時に編集し、差異を表示します。

vimtutor

vim の基本的なキー操作とコマンドについて教えてくれます。

xxd

指定されたファイルの内容を 16進数ダンプとして変換します。 逆の変換も行うことができるため、バイナリパッチにも利用されます。