Vimの設定

/

Vim

Unix系の環境で古くから使われているテキストエディタのVimは軽量で起動が速いためちょっとしたテキストの編集にも良く使われますが、設定を編集して自分好みにカスタムする事でより本格的なテキストの編集にも威力を発揮します。

Vimの設定

設定ファイル

vimの設定には.vimrcファイルが必要になります。
すでにhomeディレクトリに.vimrcがあればそれを編集すれば大丈夫ですが、なければhomeディレクリにファイルを作る必要があります。

$ ls ~/.vimrc
/home/user_name/.vimrcにアクセスできません:そのようなファイルやディレクトリはありません。

$ vi ~/.vimrc

設定ファイルの書き方

vimの設定の書き方は set [option] という形になります。

例えば編集するファイルの行ごとに番号を表示したい場合は

set number

というように書く事でVimに設定が反映されます。

実は設定ファイルを用意しなくともこのsetコマンドはVimで開いたファイル毎にノーマルモードから :set number とコマンドを入力する事が出来るので、その開いたファイルだけを対象に設定を一時的に変更する事も出来ます。しかしこの方法だとファイルを開くたびに同じコマンド毎回打ちこまなくてはならないため、あらかじめユーザー毎の.vimrcに必要なコマンドを記述しておけばそのユーザーがVimを起動するたびに設定を読み込んでくれるようになります。

設定をOFFにする

設定をファイルに書き込んでおけば毎回setコマンドを実行する必要はなくなりますが、特定のファイルを開いた際に設定しておいた機能をOFFにしたいという事もあります。そういった場合には設定した機能の前にnoをつけてとsetコマンドを打つと設定をがOFFになります。

:set nonumber

一度OFFにした機能は再び:set numberというように入力することで再度設定がONになります。

Vimの各設定

Vimの設定のための情報はネットで調べればたくさん出てきますが、設定しておくとVimが現在の標準的なテキストエディタと似た操作性になりVimに慣れていない人でも敷居が少し下がる(かもしれない)設定があります。

set nocompatible (互換モードのOFF)

Vimではインサートモードに変更した際に十字キーでカーソルを動かそうとすると、カーソルが動く代わりにABCDが入力されてしまうことがあります。これはVimを実行した際に標準で互換モードで起動されてしまうためですが、このままでは一般的なエディタとは操作性が大分変わってしまうので使いづらいと感じる場合には設定で互換モードをOFFにします。

set backspace=indent,eol,start (backspaceでの消去)

互換モードをOFFにすると今度はbackspaceでの消去が出来なくなる事があります。そのためのこのオプションを設定して互換モードをOFFにしていても文字の消去が出来るようにします。

上の二つオプションを設定するとインサートモードの際に十字キーでカーソルを動かしながら文字を編集するという、一般的なエディタと同じ使い方が出来るようになるのでVimに慣れていない人でも使いやすくなると思います。

追記:2016/10/13

上記のオプションについてVimのマニュアルのサイトで取り上げているところがあったので、互換モードなどが気になる人は参照してみてください。
usr_05 – Vim日本語ドキュメント

僕は他に以下のような設定を使っています。

set number

Vimはデフォルトのままだと行ごとに番号がふられていません。サーバーの設定などで解説サイトを参考にした際に「xxxという設定ファイルの300行あたりある設定を書き換える」という表現に出くわすことがありますが、行数を目視数えると大変なので行番号を表示してあります。

set mouse=a

Vimのマウスでの操作が出来るようになります。

set tabstop

インデントの幅をスペース二つ分に設定します。

set cursorline

カーソルがある行全体にラインが表示されます。

終わりに

vimはそのままでもシンプルで軽いというメリットのあるテキストエディタですが、標準だとシンプル過ぎる事も多いので本格的なテキスト編集に使うためには設定をしたほうが使いやすくなります。設定自体は簡単ですがオプションが多いので初めは戸惑いますが、とりあえずはnocompatibleやnumberを設定しておくと最近のエディタに近い操作感になるのと思います。
あとは知り合いや職場の技術がある人に設定を見せてもらうと仕事の進め方なんかも想像出来て勉強になる事も多いんじゃないかと思います。

参照

help – Vim日本語ドキュメント