8.73. Vim-9.1.0660

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

概算ビルド時間: 2.9 SBU
必要ディスク容量: 245 MB
[ヒント]

Vim の代替ソフトウェア

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

8.73.1. Vim のインストール

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

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

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

./configure --prefix=/usr

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

make

コンパイル結果をテストするために、tester ユーザーがソースツリーに書き込みできるようにします。

chown -R tester .

tester ユーザーによりテストを実行します。

su tester -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \
   &> vim-test.log

このテストスイートは数多くのバイナリデータを端末画面上に出力します。 これは端末画面の設定によっては問題を引き起こします。 (特にテストスイートの要請を満たすため TERM 変数を上書きしている場合などです。) これを避けるには、上に示すように出力をリダイレクトしてログファイルに出力するようにしてください。 テストが成功すれば、ログファイルの最後に ALL DONE と表示されます。

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

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-9.1.0660 へアクセスしてもドキュメントが参照できるようにし、他のパッケージが配置するドキュメントの場所と整合を取ります。

ln -sv ../vim/vim91/doc /usr/share/doc/vim-9.1.0660

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

8.73.2. Vim の設定

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

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

" Ensure defaults are set before customizing settings, not after
source $VIMRUNTIME/defaults.vim
let skip_defaults_vim=1

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

" End /etc/vimrc
EOF

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

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

vim -c ':options'
[注記]

注記

Vim がインストールするスペルチェックファイルはデフォルトでは英語に対するものだけです。 必要とする言語のスペルチェックファイルをインストールするなら runtime/spell から、特定の言語、エンコーディングによる *.spl ファイル、またオプションとして *.sug ファイルを /usr/share/vim/vim91/spell/ にコピーしてください。

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

set spelllang=en,ru
set spell

詳しくは runtime/spell/README.txt を参照してください。

8.73.3. Vim の構成

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

概略説明

ex

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

rview

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

rvim

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

vi

vim へのリンク。

view

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

vim

エディター。

vimdiff

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

vimtutor

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

xxd

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