JVimには,細かい挙動の設定項目が数多くあります
ここでは,設定の変更方法や,基本的な設定項目について解説します
同時に,起動時に読み込まれる設定ファイルについても書きます
例えば, :set number と打ってみましょう. 画面の左側に
常時「行番号」が表示されるようになります. 今の操作で,「JVimの状態を
変化させた」わけです
JVimには「オプション」とか「パラメーター」と呼ばれる「変数みたいなモノ」が
いくつもあって, この変数の状態を変更することで挙動を変更できます. 今
変更したのは number という名前のオプションです. この number と
いうオプションは「画面に常時行番号を表示されるかどうか」を覚えておく場所
(変数みたいなもの)なのです
この number というオプションは 「必ずいつも"ON"か"OFF"の状態のどちらか」の
状態でいます. そして"ON"の状態の時は行番号が表示され,"OFF"の時は表示は
出ません
と打つと,"ON"の状態になったというわけです
これを"OFF"の状態にするには
と打ちます. すると行番号表示が消えますね
このように,設定を変更するということは「オプションの状態を変更すること」です
そして,数あるオプションの一つの項目である numberは
:set number で"ON"になり, :set nonumber で"OFF"の状態となるわけです
数多くあるオプションの中でも,この number のように「"ON"か"OFF"の状態だけをとる」 性質のものは非常に多く, 一般的に
:set (オプション名)で,"ON"の状態になります. このように"ON"の状態にすることを「 オプションを設定する 」 などと言います. そして
:set no(オプション名)
で,"OFF"の状態になります. このように"OFF"の状態にすることを「 オプションを解除する 」
などと言います
「"ON"か"OFF"のどちらかの状態しかない」オプション以外に,数値や文字列を
設定するタイプのオプションもあります
例えば,オプション tabstop は,「タブの見掛けの表示幅」を設定するものです
数値を設定するオプションなので"number"の時とは設定方法がちょっと
違います. たとえば,「タブの見掛けの表示幅は半角8文字分に設定する」なら
とします. このように数値を設定するオプションは
:set (オプション名)=(数値)
の形式で設定します
また,別のタイプのオプションの例を書きます
オンラインヘルプの内容が書かれたファイルの位置を設定するのには helpfile
というオプションに設定内容を書きます. これは
:set helpfile=/usr/local/text/vim.help のように
:set (オプション名)=(文字列)
の形式で設定します
どのタイプのオプションでも
:set number?
のように :set (オプション名)? とすると,
現在のそのオプションの設定状況が表示されます
例えば number の場合は,行番号が表示されているかどうかなので一目瞭然なのですが
:set number? と打ってみれば number か nonumber のどちらかの
表示が出るはずです
もちろん,他にも数多くのオプションがあります. どれくらい種類があるのかを見るためには
:set all と打ちます. 一時的にすべてのオプションの設定状況を
一覧表示します. かなりたくさんの種類のオプションがあることがわかると
思います. さっき説明した number / nonumber や tabstop や helpfile
も探すとあるはずです
number のように「"ON"か"OFF"の状態しかとらないオプション」は,設定内容を
「オプション名」あるいは「noオプション名」の形で表示するので
先頭に no がついているものは,「先頭のnoを取った名前のオプションが
解除されているという意味」です
さて,設定できるオプションの名前も分かったら,あとはそれぞれのオプションの意味
さえ分かれば,自分の好みに設定できるわけです. どうやって調べましょうか
まず,考えられるのは, 付属のREADMEやマニュアルなどの文章を読むこと
です. ここのWebページでも,いろいろなオプションの解説をしているので参考になると
思います
または :help で表示されるオンラインヘルプに 各種のオプションの
簡単な説明が書いてあります. まぁ最初のうちはあまり細かい部分に凝らなくても
特に問題は無いとは思います
せっかく各種のオプションを一生懸命意味を調べたりしながら設定しても
JVimを終了させれば, すべてが水の泡です. でも,「起動するたびに設定をやりな
おす」なんて,したくないですよね. そこで「初期設定ファイル」の登場となるわけです
JVimは起動時に,自分のホームディレクトリの下の .vimrc という名前のファイル
または .exrc という名前のファイルを自動的に読み込んで
初期設定として使います. .vimrc と .exrc の両方あった場合は,
.vimrc だけを使い, .exrc は無視されます. とりあえず
すでに存在しているかどうか確認してみて下さい. すでにあるならそれを
自分の好みに応じて編集すればよいし, なければ新しい .vimrc
ファイルを新規に書けばよいのです. 以下に書き方を説明します
たとえば .vimrc ファイルの中身が
set number
という一行だけだったとします.([注] "set"の行頭には : は書きません)
すると,JVimが起動した時にこれを読み込んで
オプション"number"を 自動的に設定した状態で起動 します
この要領で,もっといろんな設定を盛り込んだ例が…以下の"set"で始まる5行です
set noerrorbells ignorecase ruler nobackup notitle
set expandtab smarttab autoindent smartindent
set nonumber fepctrl hidden
set fepkey=@ backspace=2 tabstop=4
set tags=~/.vimtags
このように,先頭に set と書いてあれば, 空白で区切って複数のオプション指定を
まとめて書けます. 初期設定ファイルを作れば,設定しておきたいオプションが
どんなに多くても自動的に設定されます
どのオプションも,「何も指定しない場合に」どの設定値になっているのかが
決められていて,これを「 デフォルト の状態」などと言います. 例えば,
number オプションの場合は, 何も設定しなければ「行番号表示しない」
ということは"number"のデフォルトは"nonumber"だというわけです. また
"number"を設定したということは,デフォルトの状態から変更されたという
ことでもあります
このような「意図的に変更されたオプション」だけを表示させるには
:set とだけ打つと表示されます. 「何を設定ファイルに書けばよいか」の
参考になることでしょう
また,デフォルトから変更されているオプション設定を自動的に設定ファイル形式で
書き出す機能もあります
:mkvimrc というコマンドを打つだけで, 現在変更のある設定内容を
すべて .vimrc という名前のファイルを作って自動的に書き出してくれます
なお,このコマンドを実行させる時は,あらかじめ .vimrc というファイルが存在して
いないことを確認しておいて下さい. もしすでに同名のファイルが存在していた
場合は,このコマンドは失敗(何もしない)します
ほとんどのオプションは,正式な名前の他に 省略名 または 短縮名 と
呼ばれる「短い名前」を持っています. たとえば
:set number と打つかわりに :set nu としても同じです. nu
は"number"の省略名だということです. ついでに,
"set"というコマンドも se と省略できるので
と打っても同じなのです
短縮名は,JVimを起動中に気楽に設定を変えたい時に便利なのですが, 省略された
名前なので覚えにくく,忘れやすいという欠点もあります. 設定ファイルには,
長くても分かりやすい名前のほうが見やすいと思うので
長い名前で書いたほうが良いと思います. なお, 短縮名は オンラインヘルプに
書いてあるので,簡単に調べることが可能です
新しく設定ファイルを手書きで変更などをした場合は, 設定ファイルを読みなおさな いと,新しい内容は有効になりません. 一度起動しなおさなくても
:source ~/.exrc
などとすれば読み直せます. 省略して :so ~/.exrc と
書いても同様です
設定ファイルには,後で読みやすいように「コメント」を書けます. コメント用文字 としては珍しく,JVimでは, " (引用符)以降, 行末までをコメントと して無視するので, 任意のメモなどを書いておくことができます. たとえば
set number " 行番号を表示させる
などとメモが書けるわけです
各種のオプションの説明は, 別文章にまとめてありますので,そちらを参照して
下さい. また,初期設定ファイルの実例もありますので参考にどうぞ
ちなみに,JVim付属の "README"ファイル にも,初期設定ファイルの実例が
載っています.あと,世界中のWebページなどにも,自分のViやVimの設定ファイルを
公開している人もいますので調べて見ると勉強になると思います
:set fexrc として, fexrc オプションが設定されている場合には,
ファイルの読み込み時に,その読み込むファイルの 拡張子に応じて,別々の
設定ファイルを使える ようになります
例えば,"test.c" という 拡張子が".c"となっているファイル を読み込んだ時に, 通常の設定ファイル".vimrc"の中に fexrc を設定する記述があった場合には ~/.vimrc.c という名前のファイルを探しに行き, あればこれも追加設定として 読み込みます. 要するに
~/.vimrc.(拡張子)
という名前のファイルを拡張子ごとの設定ファイルとして認識するということです
拡張子ごとのファイルは,通常の設定ファイルを読み込んだ後で 重ねて読み込まれ ます
ので, 通常の設定との差分だけを書いておけばよいのです
もし拡張子ごとのファイルが見付からなければ,通常の挙動と同じで,通常の設定
ファイルだけを読み込みますので, 挙動を変更したい拡張子に対してだけ
差分の設定ファイルを用意しておくだけでよいのです
設定ファイルを自動書き出しさせたり,他人の初期設定を見ると分かると思いますが
初期設定できる項目は "set"コマンド以外にもいろいろなものが書けるのです
その中でも主に map や ab といった機能を設定ファイルに入れておく人が多い
ようです. これらのコマンドについては,別文章で解説します