vim-jp / vimdoc-ja / options

options - Vim日本語ドキュメント

メインヘルプファイルに戻る
*options.txt*   For Vim バージョン 8.0.  Last change: 2016 Feb 01


                  VIMリファレンスマニュアル    by Bram Moolenaar


オプション                                              *options*

1. オプションの設定                     |set-option|
2. オプションの自動設定                 |auto-setting|
3. オプションの要約                     |option-summary|

オプションの概要については、help.txt |option-list| を参照。

Vimには、特別な働きをさせるための多くの内部変数とスイッチがある。それらのオプ
ションには3種類ある。
                                                        *boolean* *toggle*
        切替 boolean オプション         オンかオフかのどちらかの値をとる
        数値 number オプション          数値の値を取る
        文字列 string オプション        文字列の値を取る

{訳注: このヘルプの中で多く出てくる語句で、分かりにくいものを説明する。

- ローカルな:
        あるバッファまたはウィンドウにのみ適用されるような、という意味。
- ローカルオプション:
        あるバッファまたはウィンドウ内の設定のみを変え、その他のバッファまたは
        ウィンドウの設定に影響しないようなオプション。
- ウィンドウについてローカルな:
        あるウィンドウにのみ適用されるような、という意味。バッファについてロー
        カルな、も同様な意味を持つ。
- グローバルな:
        Vim全体に適用されるような、または、Vim全体で共通の値を使うような、とい
        う意味。
上の4項目については |option-summary| も参照。
- non-printable, unprintable:
        文字が画面に表示可能なフォントに対応していないこと。具体的には <CTRL>
        などを押しながら入力した文字や <ESC> が例である。主に制御に利用される。

訳語で、さらに相応しいものがあればご提案を下さい。}
==============================================================================
1. オプションの設定                                     *set-option* *E764*

                                                        *:se* *:set*
:se[t]                  既定値と違う値のオプションを全て表示する。

:se[t] all              ターミナルオプション以外の全てのオプションを表示する。

:se[t] termcap          ターミナルオプションを全て表示する。Note GUIバージョン
                        では、キーコードは表示されないので注意。なぜなら、キー
                        コードは内部的に生成され、変更が不可能だからだ。それに、
                        GUIバージョンでターミナルコードを変更するのは便利とは
                        言えない...

                                                                *E518* *E519*
:se[t] {option}?        {option} の値を表示する。

:se[t] {option}         切替オプション: セット、すなわちオンに切り替える。
                        数値オプション: 値を表示する。
                        文字列オプション: 値を表示する。

:se[t] no{option}       切替オプション: リセット、すなわちオフに切り替える。

                                                           *:set-!* *:set-inv*
:se[t] {option}!   または
:se[t] inv{option}      切替オプション: オンとオフを切り替える。 {Vi にはない}

                                *:set-default* *:set-&* *:set-&vi* *:set-&vim*
:se[t] {option}&        オプションを既定値に設定する。オプション 'compatible'
                        のその時点の値によって違うかもしれない。 {Vi にはない}
:se[t] {option}&vi      オプションをViの既定値に設定する。 {Vi にはない}
:se[t] {option}&vim     オプションをVimの既定値に設定する。 {Vi にはない}

:se[t] all&             全てのオプションを既定値に設定する。ただし以下のオプ
                        ションについては変更しない。
                          t_ で始まる端末用のオプション全部
                          'columns'
                          'cryptmethod'
                          'encoding'
                          'key'
                          'lines'
                          'term'
                          'ttymouse'
                          'ttytype'
                        警告: これにはたくさんの副作用があるだろう。
                        {Vi にはない}

                                                *:set-args* *E487* *E521*
:se[t] {option}={value}         または
:se[t] {option}:{value}
                        数値および文字列オプションの値を {value} に設定する。
                        数値オプションの値は、10進数、(0x を頭に付けて) 16進数、
                        または ('0' を頭に付けて) 8進数で指定できる。
                        オプション 'wildchar' で指定された文字 (既定では
                        <Tab>、オプション 'compatible' がオンにならば CTRL-E)
                        を打ち込むと、古い値を挿入できる。|cmdline-completion|
                        を参照。
                        {option} と '=' の間には空白を入れることができる。それ
                        らは無視される。'=' と {value} の間に空白を入れてはい
                        けない。
                        {value} 内での空白や '\' の使用に関しては、
                        |option-backslash| を参照 {訳注: 文書先頭も参照}。

:se[t] {option}+={value}                                *:set+=*
                        数値オプションに対しては {value} だけその値を増す。文
                        字列オプションに対しては後ろに {value} を追加する。オ
                        プションがコンマ区切りのリストのときは、値が空でない限
                        り、元の値と {value} の間にコンマが付け加えられる。
                        オプションがフラグのリストであるときは、冗長なフラグは
                        取り除かれる。すでに入っているフラグを加えようとしたと
                        きは、そのオプションの値は変わらない。
                        上の |:set-args| も参照。
                        {Vi にはない}

:se[t] {option}^={value}                                *:set^=*
                        数値オプションに対してはその値を {value} 倍する。文字
                        列オプションに対しては前に {value} を追加する。オプショ
                        ンがコンマ区切りのリストのときは、{value} と元の値の間
                        にコンマが付け加えられる。
                        上の |:set-args| も参照。
                        {Vi にはない}

:se[t] {option}-={value}                                *:set-=*
                        数値オプションに対しては {value} だけその値を減らす。
                        文字列オプションに対しては {value} を (それが含まれて
                        いたら) 取り除く。
                        そのとき {value} が含まれていなくても、警告やエラーは
                        出ない。オプションがコンマ区切りのリストであり、取り除
                        くオプションが唯一の値でない限り、間のコンマも削除され
                        る。
                        オプションがフラグのリストであるときは、{value} は値の
                        中に現れるままに、正確に指定しなければならない。問題が
                        起こるのを避けるために、フラグを取り除くときは1個ずつ
                        指定すること。
                        上の |:set-args| も参照。
                        {Vi にはない}

1回のコマンド ":set" に対し、複数の {option} を引数に指定できる。例:
        :set ai nosi sw=3 ts=3
引数の中にエラーがあると、エラーメッセージが現れ、エラーの元になったオプション
以降は無視される。

                                                        *:set-verbose*
オプション 'verbose' の値が非0 なら、オプションの値を表示するとき、同時に、そ
のオプションが最後に設定されたのはどこであったかも分かる。例:
        :verbose set shiftwidth cindent?
          shiftwidth=4 ~
                  Last set from modeline ~
          cindent |
                  Last set from /usr/local/share/vim/vim60/ftplugin/c.vim
これは特定のオプション名が指定されたときのみ機能する。コマンド ":set all" や、
引数のないコマンド ":verbose" ではメッセージが現れない。
オプションが手動で設定されていると、メッセージ "Last set" は現れない。
オプションが関数やユーザーコマンド、オートコマンド autocommand の実行中に設定
されたときは、それらが定義されているスクリプト名が報告される。
Note 'compatible' を設定すると副作用として他のオプションも設定されることがあ
る。
以下のような特殊なメッセージがある:
        Last set from modeline
                モードライン |modeline| の中でオプションが設定された。
        Last set from --cmd argument
                コマンドライン引数 |--cmd| または + によりオプションが設定され
                た。
        Last set from -c argument
                コマンドライン引数 |-c|, +, |-S||-q| によりオプションが設定
                された。
        Last set from environment variable
                環境変数、$VIMINIT、$GVIMINIT、$EXINIT によりオプションが設定
                された。
        Last set from error handler
                オプションを評価中にエラーが発生し、クリアされた。

{Vimが |+eval| 機能付きでコンパイルされたときのみ有効}

                                                        *:set-termcap* *E522*
Termcap オプションを設定するには、{option} に "t_xx" の形式を使ってもよい。こ
れは termcap による値を上書きする。これはマッピングの中で利用することもできる。
"xx" の部分が特別な文字を含むときは、<t_xx> の形式を使うこと:
        :set <t_#4>=^[Ot
これは特殊なコードを普通のキーに変換する際にも使われる。例えば Alt-b が <Esc>b
を出力するなら、次のようにすること。
        :set <M-b>=^[b
(ここで ^[ は本物の <Esc> である。入力には CTRL-V <Esc> を使うこと)
マッピングの利点は、どんなときにも機能することである。

キーコードを定義することができる。例:
        :set t_xy=^[foo;
未知のキーコード名を使っても警告は表示されない。これらのキーコードに対してマッ
プを定義できる:
        :map <t_xy> something
                                                                *E846*
キーコードが設定されていない場合、それは存在しないのと同じである。その値を取得
しようとするとエラーになる:
        :set t_kb=
        :set t_kb
        E846: Key code not set: t_kb

t_xxの形のオプションは安全上の理由により、モードライン|modeline|やサンドボック
|sandbox|では設定できない。

コマンド ":set" によるリスト表示の外見は、Viとは違う。長い文字列オプションはリ
ストの終わりに現れる。オプションの数も極めて多い。コマンド "set all" による表
示は、画面に収まらないだろう。そうしたとき、Vimは「継続」プロンプト
|more-prompt| を出す。

                                                        *option-backslash*
文字列オプションの値に空白を含めるには、空白の前に '\' を置く必要がある。値に
'\' を含めるには、2個繰り返す。結果的には、オプションの値の中の '\' の数は半分
になる (端数は切り捨て)。
例をいくつか挙げる。
        :set tags=tags\ /usr/tags       の結果は "tags /usr/tags"
        :set tags=tags\\,file           の結果は "tags\,file"
        :set tags=tags\\\ file          の結果は "tags\ file"

文字 "|" によって、コマンド ":set" を後に続くコマンドと分けることができる。文
字列オプションの値に "|" を含めるには、代わりに "\|" を使うこと。次の例ではオ
プション 'titlestring' の値を "hi|there" に設定している。
        :set titlestring=hi\|there
しかし次の例では、2個のオプション 'titlestring''iconstring' をそれぞれ "hi",
"there" に設定している。
        :set titlestring=hi|set iconstring=there

また、ダブルクォート文字はコメントを開始する。オプションの値に '"' を含めるに
は '\"' と書くこと。次の例は 'titlestring' を 'hi "there"' に設定する:
   :set titlestring=hi\ \"there\"

MS-DOSとWin32では、ファイル名の中の '\' は大抵は取り除かれない。正確に言うと、
値にファイル名を取るオプション (環境変数が展開されるもの) では、通常のファイル
名に使われる文字の前の '\' は取り除かれない。しかし、特別な文字 (空白、'\' そ
のもの、コンマ等) の前の '\' は、上で説明した通りの働きをする。
オプションの値が "\\" で始まるときは、特別な状態になる。
        :set dir=\\マシン名\パス        の結果は "\\マシン名\パス"
        :set dir=\\\\マシン名\\パス     の結果は "\\マシン名\パス"
        :set dir=\\パス\\ファイル       の結果は "\\パス\ファイル" (間違い!)
最初の例では、始まりの部分の '\' はそのまま保たれている。しかし2番目の例では、
'\' の数は半分になっている。つまり、'\' をそのまま保ちたいときでも、半分にした
いときでも、どちらがよいか指定できることが分かる。3番目の結果は、おそらく希望
通りのものではないだろう。このやり方は避けること。

                                *add-option-flags* *remove-option-flags*
                                *E539* *E550* *E551* *E552*
値がフラグのリストからなるオプションもある。そういったオプションにフラグを追加
したいとき、既存の値を変更したくないならば、こうすること。
        :set guioptions+=a
オプションからフラグを取り除くには、こうすること。
        :set guioptions-=a
これはオプション 'guioptions' からフラグ 'a' を取り除く。
Note フラグは1個ずつ追加したり取り除いたりするよう注意。オプション
'guioptions' が "ab" という値であるとき、"set guioptions-=ba" は機能しない。な
ぜなら、"ba" という文字列は現れていないからである。

                           *:set_env* *expand-env* *expand-environment-var*
特定の文字列オプションでは環境変数が展開される。'$' とそれに続く環境変数名が、
その値に置き換えられる (その環境変数が存在するとき)。環境変数が存在しないとき、
'$' とそれに続く変数名は変更を受けない。識別子に使えない non-id 文字 (英字、数
字、'_' 以外) なら、どれでも環境変数名の後に続けることができる。識別子に使えな
い文字とそれに続く文字は、環境変数の値の後ろにそのまま追加される。例:
        :set term=$TERM.new
        :set path=/usr/$INCLUDE,$HOME/include,.
コマンド ":set opt-=値" でオプションから文字列を取り除いたり、コマンド ":set
opt+=値" でオプションに文字列を追加したりするときには、環境変数の展開が行われ
てからそうした操作がなされる。


ローカルオプションの扱い                        *local-options*

いくつかのオプションは、1つのウィンドウや1つのバッファのみに適用される。それぞ
れのウィンドウやバッファは、そうしたオプションの独自のコピーを保持しているため、
独自の値を持つことができる。これにより、あるウィンドウ内では 'list' オプション
をオンにするが、他のウィンドウではオフにする、ということが可能になる。またオプ
ション 'shiftwidth' を、あるバッファ内では 3 にし、他では 4 にすることもできる。

以降では、特定の状況下でそれらのローカルオプションがどうなるかを説明する。実際
には、それらを全て知る必要はない。なぜなら、Vimはおそらくユーザーが予想する通
りにオプションの値を使うからである。残念ながら、ユーザーの予想通りに働くのは、
いくらか複雑なことである...

ウィンドウを分割すると、ローカルオプションは新しいウィンドウにコピーされて引き
継がれる。そのため、ウィンドウを分割した直後には、2つのウィンドウの内容は同じ
ように見える。

新しいバッファを編集するとき、そのバッファのローカルオプションは初期化されなけ
ればならない。その以前のカレントバッファのローカルオプションは、そのバッファの
みに適用すべきものかもしれないので、新しいバッファには適用されない。その代わり、
バッファについてローカルなオプションにはそれぞれグローバルな値があり、新しいバッ
ファにはそれが適用される。コマンド ":set" によって、ローカルな値とグローバルな
値の両方が変更される。コマンド "setlocal" はローカルな値のみを変更するので、そ
れで指定した値は新しいバッファには適用されない。

すでに編集されているバッファを編集するときは、最後に使われたウィンドウ内のロー
カルオプションが再び使われる。このバッファがこのウィンドウ内ですでに編集されて
いたなら、そのときの値が再び用いられる。そうでなければ、そのバッファが最後に編
集されたウィンドウ内の値が用いられる。

特定のバッファの種類についてウィンドウ内のローカルオプションを設定することも可
能である。同じウィンドウ内で別のバッファを編集するときは、ウィンドウについてロー
カルなオプションを使い続けたくはないだろう。そのためVimはウィンドウについてロー
カルなオプションのグローバルな値を記憶しており、別のバッファの編集時にはそれを
用いる。ウィンドウはそれぞれ、それらの値の独自のコピーを持っている。そのため、
それらのオプションはウィンドウについてはローカルであるが、そのウィンドウ内の全
てのバッファについてグローバルである。それらを用いて、次のようなことが可能であ
る。
        :e 一つ目
        :set list
        :e 二つ目
こうするとオプション 'list' はバッファ "二つ目" にも適用される。コマンド
":set list" により、グローバルな値もオンになったからである。
        :set nolist
        :e 一つ目
        :setlocal list
        :e 二つ目
今度はバッファ "二つ目" ではオプション 'list' はオフである。なぜならコマンド
":set nolist" がグローバルな値をオフにしたが、コマンド ":setlocal list" はバッ
ファ "一つ目" についてローカルな値をオンにしただけで、":e 二つ目" ではグローバ
ルな値が適用されるからである。 Note 次にこうすると
        :e 一つ目
最後にバッファ "一つ目" を編集したときの通りにオプション 'list' の値が戻る。
ウィンドウについてローカルなオプションはバッファ毎に記憶される。バッファがロー
ドされていなくても同様に記憶されている。ただし、バッファが破棄 (|:bwipe|) され
たときは設定は消える。

                                                        *:setl* *:setlocal*
:setl[ocal] ...         コマンド ":set" と似ているが、カレントバッファ/ウィン
                        ドウについてローカルな値のみを設定する。全てのオプショ
                        ンがローカルな値を持つわけではない。オプションがローカ
                        ルな値を持たないときは、グローバルな値が設定される。
                        引数が "all" のとき: 全てのローカルオプションのローカ
                        ルな値を表示する。
                        引数がないとき: 全てのローカルオプションのローカルな値
                        で、既定値と異なるものを表示する。
                        特定のローカルオプションを表示するときは、ローカルな値
                        も表示する。グローバルまたはローカルな切替オプションに
                        対しては、グローバルな値が表示される場合には、オプショ
                        ン名の前に "--" が表示される。
                        グローバルオプションに対しては、グローバルな値が表示さ
                        れる (しかし、これは将来変更されるかもしれない)。

                        {Vi にはない}

:setl[ocal] {option}<   値をコピーすることによって{option}のローカルな値をグ
                        ローバルな値と同じにする。{Vi にはない}

:se[t] {option}<        |global-local| オプションに対して: {option} のローカル
                        値を削除する。そうすることでグローバル値が使われるよう
                        になる。
                        {Vi にはない}

                                                        *:setg* *:setglobal*
:setg[lobal] ...        コマンド ":set" と似ているが、ローカルオプションのグロー
                        バルな値のみを設定し、ローカルな値は変更しない。
                        オプションの値を表示するときは、グローバルな値が表示さ
                        れる。
                        引数が "all" のとき: 全てのローカルオプションのグロー
                        バルな値を表示する。
                        引数がないとき: 全てのローカルオプションのグローバルな
                        値で、既定値と異なるものを表示する。
                        {Vi にはない}

バッファ/ウィンドウについてローカルなオプションに対して:
        コマンド            グローバルな値      ローカルな値
      :set オプション=値    設定される          設定される
 :setlocal オプション=値    なし                設定される
:setglobal オプション=値    設定される          なし
      :set オプション?      なし                表示される
 :setlocal オプション?      なし                表示される
:setglobal オプション?      表示される          なし


ローカルな値を持つグローバルオプション                  *global-local*

オプションがグローバルであるというのは、一つの値を全てのバッファとウィンドウに
用いるような場合である。いくつかのグローバルオプションでは、ローカルな別の値を
持てると便利である。ローカルな値は、コマンド ":setlocal" で設定できる。すると
コマンド ":setlocal" を実行したバッファとウィンドウではローカルな値が用いられ
るが、他のバッファでは引き続きグローバルな値が用いられる。

例えば、あなたは2つのウィンドウを開き、両方でC言語のソースファイルを編集してい
るとする。グローバルなオプション 'makeprg' は両方に適用される。そこでウィンド
ウの片方で
        :set makeprg=gmake
とすると、別のウィンドウでも同じ値が用いられる。別のウィンドウに移って
オプション 'makeprg' を設定する必要はない。
しかし、新しいウィンドウでPerlのソースファイルの編集を始めると、'makeprg' に別
の値を設定したくなる。しかしCソースに適用された値を変えたくはない。そんなとき
には次のようにする。
        :setlocal makeprg=perlmake
次のようにローカルな値を空にすると、グローバルな値に戻る。
        :setlocal makeprg=
ただし、この方法は文字列オプションにしか使えない。切替オプションには、次のよう
に "<" フラグを使う必要がある。
        :setlocal autoread<
Note: 非切替オプションの変更で "<" を使うと、グローバルな値がローカルな値にコ
ピーされるが、それはグローバルな値を使うようにするのとは少し違うことに注意 (こ
れは後でグローバルな値が変更されたときに問題になる。{訳注: グローバルな値が変
更されても、"<" でコピーした値までは変更されない。あくまでもローカルな値だか
ら})。次を使うこともできる:
        :set path<
これは 'path' のローカルな値を空にし、グローバルな値が使われるようにする。すな
わち、次と同じことをする:
        :setlocal path=
Note: 将来、値にグローバルとローカルの区別のあるオプションが増えたら、グローバ
ルオプションにコマンド ":setlocal" を使ったときの結果が変わるかもしれない。


ファイルタイプの設定

:setf[iletype] {filetype}                       *:setf* *:setfiletype*
                        {filetype} に対してオプション 'filetype' を設定する。
                        ただし autocommand の中 (入れ子になっているときは、外
                        側も含めて) でまだ実行されていないときのみ有効である。
                        これは以下のコマンドの略である。
                                :if !did_filetype()
                                :  setlocal filetype={filetype}
                                :endif
                        このコマンドは filetype.vim の中で使われ、オプション
                        'filetype' が2度設定されて別の設定や構文ファイルが読み
                        込まれることがないようにしている。
                        {Vi にはない}

                                *option-window* *optwin*
:bro[wse] se[t]                 *:set-browse* *:browse-set* *:opt* *:options*
:opt[ions]              全てのオプションを表示したり設定するためのウィンドウを
                        開く。
                        オプションは機能ごとにまとめられている。
                        ここではオプションの短い説明が読める。その上で <CR> を
                        打ち込むと、そのオプションについてのヘルプウィンドウが
                        開き、詳しい説明が読める。
                        表示されている値を修正した後に "set" 行の上で <CR> を
                        打ち込むと、新しい値を設定できる。ウィンドウやバッファ
                        固有のオプションについては、変更した値は最後に使用した
                        ウィンドウに適用される。そのウィンドウがヘルプウィンド
                        ウだったときは、変更した値はヘルプウィンドウの (オプショ
                        ンウィンドウを抜かして) 1つ下のウィンドウに適用される。
                        {Vimが |+eval| 機能と |+autocmd| 機能付きでコンパイル
                        されたときのみ有効}

                                                                *$HOME*
"~" は "$HOME" と同様に扱われるが、こちらは値の先頭にあるか、空白かコンマの後
にあるときのみ認識される。

Unix系のシステムでは "~user" も使える。これは "user" というユーザーのホームディ
レクトリに置き換えられる。例:
    :set path=~mool/include,/usr/include,.

Unix系のシステムでは "${HOME}" という形式も使える。ここで {} の間には識別子に
使えない文字 {訳注: 上を参照} が入ってもよい。 Note これをコマンド "gf" のため
に使いたいなら、文字 '{' と '}' をオプション 'isfname' に追加する必要がある。

MS-Windows では、$HOME 環境変数が定義されていない場合は Vim の起動時に
$HOMEDRIVE$HOMEPATH という値で定義される。

NOTE: 環境変数と "~/" の展開はコマンド ":set" のときのみ行われる。":let" でオ
プションに値を代入するときは展開されない。

Note 展開されるオプションの値の長さ制限に注意。システムごとに異なるが、大抵は
256文字や1024文字等の長さである {訳注: これは半角の場合で、全角では半分}。

                                                        *:fix* *:fixdel*
:fix[del]               ターミナルオプション 't_kD' {訳注: デリートキー} の値
                        を設定する。
                          't_kb' が     のとき  't_kD' は
                            CTRL-?                CTRL-H
                            CTRL-?以外            CTRL-?

                        (CTRL-? は8進数で 0177、16進数で 0x7f) {Vi にはない}

                        ターミナルのデリートキーのキーコードが違っているが、バッ
                        クスペースのキーコードは正しいときは、次のコマンドをファ
                        イル .vimrc に加えればよい。
                                :fixdel
                        これはバックスペースのキーコードが実際に何であっても有
                        効である。

                        バックスペースのキーコードが違っていたら、以下のように
                        する。
                                :if &term == "termname"
                                :  set t_kb=^V<BS>
                                :  fixdel
                                :endif
                        ここで "^V" は CTRL-V、 "<BS>" はバックスペースを表す
                        (実際に「^」「V」などのキーを押さないこと)。"termname"
                        にはユーザーの使うターミナル名を当てはめる。

                        <Delete> キーが奇妙なキーコード列 (CTRL-? でも CTRL-H
                        でもない) を送るときは、コマンド ":fixdel" ではなく以
                        下の方法を使う。
                                :if &term == "termname"
                                :  set t_kD=^V<Delete>
                                :endif
                        ここで "^V" は CTRL-V、 "<BS>" はデリートキーを表す
                        (実際に「^」「V」などのキーを押さないこと)。"termname"
                        にはあなたの使うターミナルの種類を当てはめる。

                                                        *Linux-backspace*
                        Note Linuxについての注意: 既定ではバックスペースキーは
                        CTRL-? を送るが、これは違っている。これを修正するには、
                        ファイル rc.local に次の行を加える。
                                echo "keycode 14 = BackSpace" | loadkeys

                                                        *NetBSD-backspace*
                        Note NetBSDについての注意: バックスペースキーが正しい
                        キーコードを送らないとき、これを試すこと。
                                xmodmap -e "keycode 22 = BackSpace"
                        有効だったら、ファイル .Xmodmap に次の行を加えること。
                                keysym 22 = BackSpace
                        これを有効にするには、再起動する必要がある。

==============================================================================
2. オプションの自動設定                                 *auto-setting*

コマンド ":set" によるオプションの設定の他に、3通りの方法で、1つまたは複数のファ
イルに自動的にオプションを設定できる。

1. Vimを起動したとき、様々な場所から初期化設定を読み込ませることができる。
   |initialization| を参照。多くの設定は編集セッション全てに適用されるが、いく
   つかはVimを起動したディレクトリによって異なる。初期化設定ファイルはコマンド
   |:mkvimrc||:mkview||:mksession| で生成できる。
2. 新しいファイルの編集を始めたとき、自動的に実行されるコマンドがある。
   これを使うと、特定のパターンにマッチするファイルに対してオプションを設定し
   たり、様々なことが可能である。|autocommand| を参照。
3. 新しいファイルの編集を始めたときオプション 'modeline' がオンなら、ファイル
   の先頭と末尾の数行ずつがモードラインとして読み込まれる。それをここで説明す
   る。

                                        *modeline* *vim:* *vi:* *ex:* *E520*
モードラインには2つの形式がある。1つ目の形式は次の通りである。
        [text]{white}{vi:|vim:|ex:}[white]{options}

[text]                  任意のテキスト、なくても良い
{white}                 1個以上の余白 (<Space> または <Tab>)
{vi:|vim:|ex:}          "vi:" か "vim:" か "ex:" という文字列
[white]                 空白、なくても良い
{options}               オプション設定が、空白か ':' で区切られて並んだもので、
                        ':' の間の部分はコマンド ":set" の引数である(空でもよい)

例:
        vi:noai:sw=3 ts=6
        vim: tw=77

2つ目の形式は次の通りである (Viのバージョンによってはこの形式と互換性がある)。

        [text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]

[text]                  任意のテキスト、なくても良い
{white}                 1個以上の余白 (<Space> または <Tab>)
{vi:|vim:|Vim:|ex:}     "vi:" か "vim:" か "Vim:" か "ex:" という文字列
[white]                 空白、なくても良い
se[t]                   "set " または "se " という文字列 (NOTE 終わりの空白に注意)
{options}               オプション設定が空白で区切られて並んだもので、コマンド
                        ":set" の引数である
:                       コロン
[text]                  任意のテキスト、なくても良い

例:
   /* vim: set ai tw=75: */
   /* Vim: set ai tw=75: */

{vi:|vim:|Vim:|ex:} の前には空白が必要である。これが "lex:" 等の普通の言葉を誤
認する可能性を低めている。ただし例外があり、 "vi:" と "vim:"は行頭に来てもよい
(バージョン3.0との互換性のため)。"ex:" が行頭に来ると、モードラインとは見なさ
れない ("example:" の略かもしれないから)。

                                                        *modeline-local*
オプションは ":setlocal" などで設定できる。そうして設定した値は、そのバッファ
とそれを開いているウィンドウにのみ適用される。モードラインからグローバルオプショ
ンを設定することは不可能ではないが、普通そういうことはしない。2つのウィンドウ
を開いていて、それぞれのファイルが同じグローバルオプションを違う値に設定しよう
としたときは、後に開かれたウィンドウが優先される。

既に読み込まれているファイルを開くときは、モードラインからはウィンドウローカル
なオプションだけが設定される。つまり、ファイルを開いた後に手動でバッファローカ
ルなオプションを変更したら、そのバッファを別なウィンドウで開いてもそのオプショ
ンは変更されないが、ウィンドウローカルなオプションは変更される。

                                                        *modeline-version*
モードラインの内容が、Vimのバージョンによって使用可能だったり不可能だったりす
る場合には、"vim:" または "Vim:" のところでバージョンを指定できる。
        vim{vers}:      バージョン {vers} 以降 (そのバージョンを含む)
        vim<{vers}:     バージョン {vers} より前
        vim={vers}:     バージョン {vers} のみ
        vim>{vers}:     バージョン {vers} より後 (そのバージョンを含まない)
{vers} に 700 を指定するとVim 7.0を表す (メジャー・バージョンナンバーの100倍足
すマイナー・バージョンナンバー)。
例えば、Vim 7.0でのみモードラインを使うにはこうする:
        /* vim700: set foldmethod=marker */
Vim 7.2より新しいバージョンでのみモードラインを使うにはこうする:
        /* vim>702: set cole=2: */
"vim" と ":" の間に空白があってはならない。


モードラインを探す行数はオプション 'modelines' で設定できる。オプション
'modeline' がオフであるかオプション 'modelines' の値が 0 だと、モードラインを
探さない。

Note 1番目の形式では、行全体がオプション指定に使われることに注意。そのため次の
ようにすると、行末の "*/" のためにエラーメッセージが現れる。
   /* vi:ts=4: */
その代わり、こうすればよい。
   /* vi:set ts=4: */

エラーが発見されると、その行の残りは無視される。

コマンド "set" の引数に ':' を含めたいときは、その前に '\' を置くこと。':' の
前の '\' は取り除かれる。例:
   /* vi:set dir=c\:\tmp: */
これはオプション 'dir' を "c:\tmp" に変更する。':' の前に '\' が置かれたとき、
取り除かれるのは1個だけである。だからオプションの値に "\:" を含めたいなら
"\\:" を指定すること。

安全上の理由から、コマンド "set" 以外は使用できない (誰かがテキストファイルで
「トロイの木馬」を作るかもしれないから)。また、全てのオプションが設定できるわ
けではない。ある種のオプションにはフラグが設定されており、それが使用されるとき
には|sandbox|が有効になる。しかしそれでもモードラインが問題を引き起こす可能性
はわずかに残る。例えば、悪意のある誰かが 'textwidth' を5にすると、ファイルの全
ての行が予期せず折り返されてしまう。そのため、信用できないファイルを編集する前
にはモードラインを無効にすること。
例えばmail ftpluginはそれを行っている。

ヒント: ファイルを読み込みときにオプション設定以外を行いたいなら、ファイル内の
特定の文字列を調べる autocommand を定義すればよい。例:
        au BufReadPost * if getline(1) =~ "VAR" | call SetVar() | endif
そして "VAR" を含む行に何かを行うための SetVar() 関数を定義すればよい。

==============================================================================
3. オプションの要約                                     *option-summary*

以下のリストでは、全てのオプションが、正確な名前と (あれば) 略名で示されている。
どちらの形を使ってもよい。

この文書内では、切替オプションを「オンに」するというのは ":set オプション" を
実行することを表す。切り替えオプションを「オフに」するというのは
":set noオプション" を実行することを表す。

いくつかのオプションには、既定値が2種類あるものがある: 1つ目は "Vim default"
つまりVimの既定値で、オプション 'compatible' がオフになっているときに使われる。
2つ目は "Vi default" つまりViの既定値で、オプション 'compatible' がオンになっ
ているときに使われる。

ほとんどのオプションは全てのウィンドウやバッファで共通である。さてその中には、
テキストがウィンドウ内でどのように表示されるかを定めるものもある。そういったオ
プションは、ウィンドウごとに違う値にできる。例えばオプション 'list' は、あるウィ
ンドウ内でオンにしても、同じテキストを編集している別のウィンドウ内ではオフに
することができる。すると同時に違った表示方法が使える。また、ファイルごとに特定
の値にできるオプションもある。そういったオプションは、ファイルごとまたはバッファ
ごとに違う値にできる。例えばオプション 'textwidth' は、通常のテキストファイル
には78にし、Cプログラムのファイルには0にするようにできる。

        グローバル:
                一つのオプションが全てのバッファやウィンドウに対して適用される
        ウィンドウについてローカル:
                ウィンドウがそれぞれ、そのオプションのコピーを独自に持つ
        バッファについてローカル:
                バッファがそれぞれ、そのオプションのコピーを独自に持つ
{訳注: 上の項目については、文書先頭も参照}

新しいウィンドウを開くとき、ウィンドウ固有のオプションには、その前にアクティブ
だったウィンドウでの値がまず使われる。バッファ固有のオプションは、オプション
'cpoptions' のフラグ 's' とフラグ 'S' によって違ってくる。フラグ 's' が含まれ
ていると (既定ではこうなっている)、新しいバッファが最初にアクティブになったと
きに、その前にアクティブだったバッファでの値がコピーされる。フラグ 'S' が含ま
れていると、バッファがアクティブになる度に値がコピーされる。これはグローバルオ
プションであるようなものである。フラグ 's' もフラグ 'S' も含まれていないときは、
バッファが作られるときに、その前にアクティブだったバッファでの値がコピーされる。

隠しオプション                                          *hidden-options*

全てのオプションが全てのバージョンでサポートされているわけではない。これは有効
にされている機能とシステムにもよる。これに関しての注意は以下の波括弧の中にある。
もしあるオプションがサポートされていなくても、そのオプションへの設定はエラーに
ならず成功する。これを隠しオプションと呼ぶ。しかし隠しオプションの値は保持され
ていないため、取得することはできない。

オプション "foo" が ":set" で設定できるかどうか判定するにはこのようにする:
        if exists('&foo')
これは隠しオプションに対してもtrueを返す。オプション "foo" が本当にサポートさ
れているかを判定するにはこのようにする:
        if exists('+foo')

                                                        *E355*
|Q_op| にはオプションの短い説明付きの表があり、そこからヘルプにジャンプできる。

                                        *'aleph'* *'al'* *aleph* *Aleph*
'aleph' 'al'            数値    (既定値はMS-DOSでは128、それ以外では224)
                        グローバル
                        {Vi にはない}
                        {Vimが |+rightleft| 機能付きでコンパイルされたときの
                        み有効}
        ヘブライ語アルファベットの最初の文字を表すASCIIコード。挿入モード(オプ
        ション 'hkmap' がオンのとき) と コマンドラインモード (CTRL-_ を打ち込
        んだとき) の両方において、ヘブライモードのキーボード配列をマッピングす
        るルーチンは、[aleph..aleph+26] の範囲のヘブライ文字を出力する。
        'aleph'=128 はPCコード、'aleph'=224 は ISO 8859-8 に使われる。
        |rileft.txt| を参照。

                        *'allowrevins'* *'ari'* *'noallowrevins'* *'noari'*
'allowrevins' 'ari'     切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+rightleft| 機能付きでコンパイルされたときの
                        み有効}
        挿入モードとコマンドラインモードで CTRL-_ を使用可能にする。これは既定
        ではオフになっている。ユーザーが間違って SHIFT-_ ではなく CTRL-_ を打
        ち込み、右から左に書いていくモードに入って抜けられなくなる事態を防ぐた
        めである。オプション 'revins' を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                         *'altkeymap'* *'akm'* *'noaltkeymap'* *'noakm'*
'altkeymap' 'akm'       切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+farsi| 機能付きでコンパイルされたときのみ有
                        効}
        オンのとき、2番目の言語がペルシアになる。オプション 'allowrevins' がオ
        ンならば、挿入モードでは CTRL-_ でペルシアと英語のキーボードマップを切
        り替えられる。

        オフのとき、キーボードマップはヘブライ語と英語で切り替えられる。これは
        普通の状態、つまり英語モード (左から右に書く言語のモード) と既定の第2
        言語であるペルシアまたはヘブライ語モード (右から左に書く言語のモード)
        を切り替えた上でVimを開始するのに便利である。|farsi.txt| を参照。

                                                *'ambiwidth'* *'ambw'*
'ambiwidth' 'ambw'      文字列  (既定では "single")
                        グローバル
                        {Vi にはない}
                        {Vimが|+multi_byte|機能付きでコンパイルされたときのみ
                        有効}
        'encoding' が "utf-8" などUnicodeエンコーディングのときのみ効果がある。
        East Asian Width Class Ambiguous な文字(ユーロ、登録商標記号、著作権記
        号、ギリシャ文字、キリル文字など)をどう扱うかを定める。

        現在のところ、設定可能な値は次の2通りである:
        "single":       US-ASCIIの文字と同じ幅を使う。これはほとんどのユーザー
                        にとって期待どおりになる。
        "double":       ASCII文字の2倍の幅を使う。
                                                        *E834* *E835*
        "double" は 'listchars' や 'fillchars' に指定された文字が全角幅になっ
        てしまう場合は使えない。

        これらの文字のグリフの幅を、旧い/伝統的なCJKエンコーディングで何オク
        テットを占めるかだけによって決めているCJKフォントがたくさんある。その
        エンコーディングではユーロ、登録商標記号、ギリシャ文字、キリル文字は2
        オクテットで表現されるので、それらのフォントはこれらの文字に「wideな」
        グリフを当てている。これはテキストファイルで表を作るための罫線文字にも
        あてはまる。そのためGUI版のVimにCJKフォントを使うときや、CJKフォント
        を使うターミナル(エミュレータ)の中でVimを実行するとき(またはオプション
        "-cjkwidth" つきで起動されたxtermの中でVimを実行するとき)にはこのオプ
        ションを "double" にして、Vimが認識する幅をフォントのグリフの幅に合わ
        せなければならない。CJKのWindows 9x/MEやWindows 2k/XPでもシステムのロ
        ケールがCJKロケールのどれかに設定されている場合は多分 "double" にしな
        ければならないだろう。
        Unicode Standard Annex #11 (http://www.unicode.org/reports/tr11)を参照。

        Vim が |+termresponse| 機能付きでコンパイルされ、|t_u7| にカーソル位置
        取得のためのエスケープシーケンスが設定されているとき、このオプションの
        値は Vim の起動時に自動的に設定される。

                        *'antialias'* *'anti'* *'noantialias'* *'noanti'*
'antialias' 'anti'      切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {VimがMac OS XでGUIを有効にしてコンパイルされたときの
                        み有効}
        このオプションはMac OS X v10.2以降の上でGUI版のVimを使うときだけ効果が
        ある。これがオンであるとなめらかな(アンチエイリアスされた)フォントが使
        われる。このフォントはある種のディスプレイ上、あるサイズでは読み易くな
        る。
        'guifont' が既定値(空文字列)のときこのオプションを設定すると問題が発生
        することがある。

                        *'autochdir'* *'acd'* *'noautochdir'* *'noacd'*
'autochdir' 'acd'       切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimのコンパイル時に有効にされたときのみ有効。使用で
                        きるかどうかは exists("+autochdir") で確認できる}
        これがオンであるとファイルを開くとき、バッファを切り替えるとき、バッファ
        を削除するとき、ウィンドウを開閉するときに毎回作業ディレクトリが変更さ
        れる。開かれた/選択されたファイルを含んでいるディレクトリがカレント
        ディレクトリになる。
        Note: このオプションがオンになっていると動かないプラグインがある。

                                *'arabic'* *'arab'* *'noarabic'* *'noarab'*
'arabic' 'arab'         切替    (既定ではオフ)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが|+arabic|機能付きでコンパイルされたときのみ
                        有効}
        アラビア語のテキストを編集するときにこのオプションを設定することができ
        る。
        このオプションを設定すると次のことが行われる:
        - 'termbidi' がオンでない限り、オプション 'rightleft' をオンにする。
        - 'termbidi' がオンでない限り、オプション 'arabicshape' をオンにする。
        - オプション 'keymap' を "arabic" に設定する。これによって挿入モードで
          CTRL-^を押すと英語とアラビア語のキーマッピングがトグルする。
        - オプション 'delcombine' をオンにする。
        アラビア語のテキストを編集するには 'encoding' が "utf-8" でなければな
        らないことに注意。

        このオプションをオフにすると次のことが行われる:
        - 'rightleft' をオンにする
        - 'keymap' の使用を無効にする(その値は変更しない)
        'arabicshape' と 'delcombine' はオフにならない(これらはグローバルオプ
        ションである)。
        |arabic.txt|も参照。

                                        *'arabicshape'* *'arshape'*
                                        *'noarabicshape'* *'noarshape'*
'arabicshape' 'arshape' 切替 (既定ではオン)
                        グローバル
                        {Vi にはない}
                        {Vimが|+arabic|機能付きでコンパイルされたときのみ
                        有効}
        これがオンで 'termbidi' がオフになっているとアラビア語を表示するのに必
        要な文字表示補正が行われる。本質的には字形作成(shaping)が有効になる。
        この用語は次の事を含む広い用語である。
          a) 単語の中の位置(初期、中間、最終、孤立)によって文字を変更/変形させ
             る。
          b) 文字合成機能の有効化
          c) ある文字の組み合わせの有効化
        これが無効になっていると、表示がそれぞれの文字の本来の孤立形になる。
        アラビア語は他にも設定が必要な複雑な言語である。より詳しくは
        |arabic.txt|を参照。

                        *'autoindent'* *'ai'* *'noautoindent'* *'noai'*
'autoindent' 'ai'       切替    (既定ではオフ)
                        バッファについてローカル
        新しい行を開始したとき (挿入モードで <CR> を打ち込むか、コマンド "o"
        や "O" を使ったとき)、新しい行のインデントを現在行と同じくする。新しい
        行で <BS> か CTRL-D 以外を打ち込まずに <Esc>CTRL-O か <CR> を打ち込
        むと、その行のインデントは削除される。'cpoptions' にフラグ 'I' が入っ
        ていないかぎり、カーソルを他の行に移動させても同様である。
        オプション 'autoindent' がオンのときは、テキストの整形処理 (コマンド
        "gq" を使ったり、挿入モードで 1行の文字数がオプション 'textwidth' で指
        定した数に届いたとき) には最初の行のインデントが使われる。

        オプション 'smartindent' かオプション 'cindent' がオンのときは、インデ
        ントの方法は違ってくる。
        オプション 'autoindent' はオプション 'paste' がセットされたらリセット
        され、オプション 'paste' がリセットされたら復元される。
        {Vi との微妙な違い: <Esc> または <CR> を打ち込んでインデントが削除され
        た後、上下に移動した後のカーソル位置は削除されたインデントの後ろになる。
        Viでは削除されたインデントの中のどこかになる}

                                 *'autoread'* *'ar'* *'noautoread'* *'noar'*
'autoread' 'ar'         切替    (既定ではオフ)
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        ファイルがVimの内部では変更されてないが、Vimの外部で変更されたことが判
        明したとき、自動的に読み直す。ファイルが削除されたときにはこのようには
        ならない。 |timestamp|
        このオプションがローカルな値を持つとき、再びグローバルな値を使うように
        するには次のようにする。
                :set autoread<

                                 *'autowrite'* *'aw'* *'noautowrite'* *'noaw'*
'autowrite' 'aw'        切替    (既定ではオフ)
                        グローバル
        コマンド :next, :rewind, :last, :first, :previous, :stop, :suspend,
        :tag, :!, :make, CTRL-]CTRL-^ を実行したときや、コマンド :buffer,
        CTRL-OCTRL-I, '{A-Z0-9}, `{A-Z0-9} の移動先が別のファイルのとき、ファ
        イルが変更されているなら書き込む。
        Note 'autowrite' が適用されないコマンドもあることに注意。それについて
        はオプション 'autowriteall' を参照。

                         *'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
'autowriteall' 'awa'    切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        オプション 'autowrite' と似ているが、さらにコマンド ":edit", ":enew",
        ":quit", ":qall", ":exit", ":xit", ":recover" を実行したときや、Vimの
        ウィンドウを閉じるときも、ファイルが変更されているなら保存する。このオ
        プションをオンにすると、同時に 'autowrite' もオンになったような動作に
        なる {訳注: このオプションは 'autowrite' の適用されるコマンド全てに適
        用されるので}。

                                                        *'background'* *'bg'*
'background' 'bg'       文字列  (既定は "dark" または "light"、下記参照)
                        グローバル
                        {Vi にはない}
        値が "dark" のときは、Vimは暗い背景によく合う色を使おうとする。値が
        "light" のときは、Vimは明るい背景によく合う色を使おうとする。その他の
        値は無効である。
        Vimは使われているターミナルの種類に従って既定の値を定めるが、常に正し
        いとは限らない。
        このオプションを変更しても背景色は変わらない。これはただVimに背景色が
        どのようなものかを伝えるだけである。背景色の変更には |:hi-normal| を参
        照。

        オプション 'background' が変更されると、Vimは既定の色設定グループをそ
        の値に合わせて調整する。しかし構文強調表示に使われる色設定は変化しな
        い。                                            *g:colors_name*
        カラースキームが読み込まれているとき (つまり変数 "g:colors_name" が設
        定されているとき) 'background' を変更するとカラースキームが再び読み込
        まれる。カラースキームが 'background' に対応していればこれは適用され
        る。しかしカラースキームが 'background' 自体を設定しているときは効果が
        ない。必要ならば変数 "g:colors_name" を消去すること。

        'background' を次のようにして既定値に戻したとき、
                :set background&
        Vimはその値を推測する。GUI版ならばうまくいくはずだが、そうでなければ正
        しい値を推測できないかもしれない。

        GUIを開始したとき、'background' の既定値は "light" である。値がファイ
        ル .gvimrc で定められておらず、Vimが背景色は実際は暗いと判断したときは、
        'background' は "dark" になる。しかしこれは .gvimrc が読み込まれた「後」
        に行われる (実際の背景色を知るためにウィンドウが開かれる必要があるか
        ら)。これを避けるには、コマンド ":gui" を .gvimrc の中の 'background'
        の値が使われる前に置いて (例えば ":syntax on" の前) GUIウィンドウを強
        制的に開かせればよい。

        MS-DOS、Windows、OS/2 では初期設定は "dark" である。
        他のシステムでは 'term' が "linux"、"screen.linux"、"cygwin"、または
        "putty" であるか、$COLORFGBG によって暗い背景が推奨されていれば初期設
        定は "dark" になる。そうでなければ初期設定は "light" である。

        通常、このオプションは .vimrc 内で設定される。おそらく、設定はターミナ
        ルの名前に依存する。例:
                :if &term == "pcterm"
                :  set background=dark
                :endif
        このオプションが設定されると、強調表示の既定の設定が変更される。他の設
        定を使いたいなら、'background' を設定した「後」にコマンド ":highlight"
        を置くこと。
        このオプションはファイル "$VIMRUNTIME/syntax/syntax.vim" 内でも、構文
        強調表示のための色を選択するのに使われる。このオプションを設定した後は
        syntax.vim を再読み込みしないと結果が分からない。これにはコマンド
        ":syntax on" を実行すればよい。

                                                        *'backspace'* *'bs'*
'backspace' 'bs'        文字列  (既定では "")
                        グローバル
                        {Vi にはない}
        挿入モードでの <BS><Del>CTRL-WCTRL-U の働きに影響する。値はキー
        ワードのコンマ区切りのリストである。それぞれのキーワードがバックスペー
        スの働く対象を定めている。
        値      効果 
        indent  autoindent を超えてバックスペースを働かせる
        eol     改行を超えてバックスペースを働かせる (行を連結する)
        start   挿入区間の始めでバックスペースを働かせるが CTRL-W と CTRL-U は
                挿入区間の始めでいったん止まる

        値が空のときは、バックスペースの働きはVi互換になる。

        バージョン 5.4 またはそれ以前との互換性を保つには次のようにする。
        値      効果 
          0     ":set backspace=" と同じ (Vi互換)
          1     ":set backspace=indent,eol" と同じ
          2     ":set backspace=indent,eol,start" と同じ

        <BS> や <Del> で望み通りの動作ができないときは |:fixdel| を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときは "" にな
        るので注意。

                                *'backup'* *'bk'* *'nobackup'* *'nobk'*
'backup' 'bk'           切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        ファイルを上書きする前にバックアップを作る。書き込みが成功してもバック
        アップはそのまま取っておく。バックアップを取っておきたくはないが、書き
        込み中にはバックアップが欲しいときには、このオプションをオフにしてオプ
        ション 'writebackup' をオンにすること (既定ではそうなっている)。全くバッ
        クアップが要らないなら両方をオフにすること (ユーザーのファイルシステム
        がほとんど満杯ならこうするとよい)。詳しくは |backup-table| を参照。
        どちらにしてもオプション 'backupskip' のパターンがマッチすると、バック
        アップは作られない。オプション 'patchmode' がオンのときは、バックアッ
        プはリネームされてファイルの最も古いバージョンになることがある。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                                *'backupcopy'* *'bkc'*
'backupcopy' 'bkc'      文字列  (UnixでのViの既定値: "yes"、それ以外: "auto")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        ファイルの書き込みをしてバックアップが作られるとき、その方法をこのオプ
        ションで指定する。このオプションはコンマで区切られた単語のリストである。

        主な値は次の通り:
        "yes"   先にファイルのコピーを作ってバックアップにして、更新した内容は
                元のファイルに上書きする
        "no"    先に元のファイルをリネームしてバックアップにして、更新した内容
                は新しいファイルに書き出す
        "auto"  どちらか適切な方を選ぶ

        次の値を上のどれか1つと組み合わせることができる:
        "breaksymlink" は書き込み時に常にシンボリックリンクを切る。
        "breakhardlink" は書き込み時に常にハードリンクを切る。

        {訳注:
            $ ls -lF
            total 2
            -rw-r--r--  1 ao  ao  24  9 17 12:26 hontai
            lrwxr-xr-x  1 ao  ao   6  9 17 12:29 l@ -> hontai

            となっているとき、ファイルlを編集して:wすると、

            backupcopy=auto の場合:
            -rw-r--r--  1 ao  ao  24  9 17 12:26 l~ 
            lrwxr-xr-x  1 ao  ao   6  9 17 12:29 l@ -> hontai
            -rw-r--r--  1 ao  ao  27  9 17 12:31 hontai

            backupcopy=auto,breaksymlink の場合:
            -rw-r--r--  1 ao  ao  27  9 17 12:26 hontai
            lrwxr-xr-x  1 ao  ao   6  9 17 12:29 l~@ -> hontai
            -rw-r--r--  1 ao  ao  30  9 17 12:32 l

            という結果になる。}

        ファイルのコピーを作ってから元のファイルを上書きする方法:
        X ファイルのコピーに余計な時間がかかる。
        O 編集したファイルが特別な属性を持っていたり、ファイルがハードリンクや
          シンボリックリンクであったり、リソースフォークを持っているときでも、
          全て元のまま保たれる。
        X 編集したファイルがリンクのとき、バックアップの名前がリンク先の文書の
          名前でなく、リンクの名前になってしまう。

        ファイルをリネームしてから新しいファイルに書き出す方法:
        O 高速である。
        X 時々、元のファイルの属性の一部しか新しいファイルにコピーされないこと
          がある。
        X 編集したファイルがリンクのとき、新しいファイルはリンクにならない。

        "auto" の値にすると折衷策を採る。Vimが副作用なしにリネームの方法が使え
        ると判断したとき (属性がコピーでき、ファイルがリンクでないとき) は、そ
        ちらが使われる。それでは問題がありそうなときはコピーの方法が使われる。

        "breaksymlink" と "breakhardlink" の値は "yes", "no", "auto" のどれと
        も組み合わせることができる。これらが含まれていると、必ず "no" とまった
        く同じようにシンボリックリンクやハードリンクを切るようになり、元のファ
        イルがそのままバックアップになり、新しいファイルが作成される。これは例
        えば全てのファイルがシンボリックリンクやハードリンクになっているソース
        ツリーで便利である。変更がローカルのソースツリーに対してだけ行われ、元
        のソースツリーには反映されない。
                                                        *crontab* 
        "no" と "auto" では問題が起きる場合がある。プログラムによっては、ファ
        イルを開き、Vimを呼び出してそのファイルを編集させ、(ファイル区別プログ
        ラムを使って) そのファイルが変更されたかどうかを調べるものがある。そう
        したプログラムは新しく書き出されたファイルではなく、バックアップファイ
        ルの方を調べてしまう。例としては "crontab -e" が挙げられる。

        コピーの方法のときは、元のファイルの中身はいったん空になり、そこに新し
        いテキストが書き込まれる。つまり、元のファイルの保護ビット、ファイル所
        有者やシンボリックリンクは変更されない。しかし、新しく作られることにな
        るバックアップファイルは、ファイルを編集したユーザーの所有となる。また
        バックアップファイルの属するグループは、元のファイルと同じグループにな
        る。これが失敗すると、他の属性と同様に、そのグループの保護ビットが設定
        される。

        リネームの方法のときは別の結果になる。バックアップファイルは元のファイ
        ルと同じ属性を持ち、新しく書き出されたファイルは、ファイルを編集した
        ユーザーの所有となる。開いたファイルがハードリンクまたはシンボリックリ
        ンクだった場合でも、新しく書き出されたファイルはリンクにならない!だか
        ら値が"auto" のとき、ファイルがリンクならリネームを行わないのである。
        新しく書き出されたファイルの所有者と属するグループは、元のファイルと同
        じとして設定される。しかしシステムがこうすることを許可しないかもしれな
        い。その場合、値が "auto" ならもうファイルのリネームをしようとはしな
        い。

                                                *'backupdir'* *'bdir'*
'backupdir' 'bdir'      文字列  (Amigaでの既定値: ".,t:",
                                 MS-DOSとWin32での既定値: ".,$TEMP,c:/tmp,c:/temp"
                                 Unixでの既定値: ".,~/tmp,~/")
                        グローバル
                        {Vi にはない}
        値は、バックアップファイル用ディレクトリの、コンマ区切りのリストである。
        - バックアップファイルは、リスト内の、使用可能な最初のディレクトリの中
          に作られる。Vim はそのディレクトリを作成しないので、存在していなけれ
          ばならない。
        - 値が空だと、バックアップファイルは作られない ('patchmode' は使えな
          くなる!)。そのため書き込みが失敗するかもしれない。
        - ディレクトリに "." を指定するのは、バックアップファイルを、編集され
          たファイルと同じディレクトリに作るということである。
        - ディレクトリが "./" (MS-DOS等では ".\") で始まるのは、バックアップファ
          イルを作るディレクトリを、編集されたファイルとの相対的な位置で決める
          ということである。最初の "." は編集されたファイルのパス名で置き換え
          られる (ディレクトリ名の内部の "." には特別な意味はない)。
        - コンマの後の空白は無視されるが、他の場所の空白はディレクトリ名の一部
          と見なされる。ディレクトリ名の先頭に空白を使いたいなら、その空白の前
          に '\' を置くこと。
        - ディレクトリ名にコンマを使いたいなら、そのコンマの前に '\' を置くこ
          と。
        - ディレクトリ名は '/' で終わってもよい。
        - 環境変数は展開される |:set_env|
        - 文字 '\' には注意。空白の前には1個置き、オプションの値に '\' 自身を
          含めるなら2個置く (|option-backslash| を参照)。例:
            :set bdir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
            {訳注: 結果は backupdir=c:\tmp, dir\,with\,commas,\ dir with space}
        - Vim version 3.0 との後方互換性のため、値の先頭の '>' は取り除かれる。
        オプション 'backup' および 'writebackup' も参照。
        Unixでユーザーのバックアップファイルを隠したいなら、次のようにしてみる
        こと。
                :set backupdir=./.backup,~/.backup,.,/tmp
        この方法を使うには、それぞれのディレクトリとあなたのホームディレクトリ
        にディレクトリ ".backup" を作らなければならない。
        リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディ
        レクトリを除くときにはコマンド |:set-=| を使うのがよい。こうすると将来
        のバージョンで異なった既定値が使われるようになったときに、問題が起きる
        のを防げる。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'backupext'* *'bex'* *E589*
'backupext' 'bex'       文字列  (既定では "~", VMSでは "_")
                        グローバル
                        {Vi にはない}
        バックアップファイルの名前を作る際、元のファイル名の後ろに付け加える文
        字列。既定では普段使いそうもないものに定めてあるが、これは既存のファイ
        ルをバックアップファイルで上書きするのを避けるためである。".bak" を使
        いたいかもしれないが、大事なファイルに ".bak" で終わるものがないか確か
        めること。
        通常のファイル名文字だけ使える。"/\*?[|<>" は不正である。

        たくさんのバックアップを残しておきたいなら、自動コマンドBufWritePreを
        使ってファイルを書き込む直前に 'backupext' にタイムスタンプを含めるよ
        うに変更するとよい。
                :au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~'
        バックアップを別のディレクトリに保存させるには、オプション 'backupdir'
        を設定すること。

                                                *'backupskip'* *'bsk'*
'backupskip' 'bsk'      文字列  (既定では "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
                        グローバル
                        {Vi にはない}
                        {Vimが |+wildignore| 機能付きでコンパイルされたときの
                        み有効}
        ファイル名のパターンのリスト。書き込みをするファイルの名前にマッチする
        パターンがこの中にあれば、そのファイルのバックアップは作られない。ファ
        イル名を指定してもよいし、ファイルのフルパスを指定 {訳注: C:/temp/* 等
        の方法。既定値ではこの方法で一時ファイル用のディレクトリを指定し、一時
        ファイルのバックアップを作らないようにしている} してもよい。
        パターンの指定方法は |:autocmd| と同じである。|autocmd-patterns| を参
        照。特別な文字に注意するために |option-backslash| を参照。
        環境変数の$TMPDIR, $TMP または $TEMP が定義されていないとき、それらは
        既定値に使われない。"/tmp/*" はUnixでのみ使われる。

        WARNING: バックアップファイルを作らないということは、すなわち、何らか
        の理由で Vim がバッファを正しく保存できなかったときに、そのまま Vim を
        終了してしまうと、あなたは元のファイルと新しく書いた内容の両方を失うと
        いうことを意味する。ファイルを失っても問題ないという場合のみバックアッ
        プを無効化すること。

        環境変数は展開されない。$HOMEを使いたい場合は、明示的に展開しなければ
        ならない。例:
                :let backupskip = escape(expand('$HOME'), '\') . '/tmp/*'

        既定値は "crontab -e" が正常に機能するように定められている(元のファイ
        ルをリネームすることによってバックアップを作ると、crontabは新しく作ら
        れたファイルを参照しない)。'backupcopy' と|crontab|も参照。

                                                *'balloondelay'* *'bdlay'*
'balloondelay' 'bdlay'  数値    (既定では 600)
                        グローバル
                        {Vi にはない}
                        {Vimが |+balloon_eval| 機能付きでコンパイルされたとき
                        のみ有効}
        バルーン表示が出るまでの時間 (ミリ秒単位)。|balloon-eval| を参照。

                       *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
'ballooneval' 'beval'   切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+balloon_eval| 機能付きでコンパイルされたとき
                        のみ有効}
        |balloon-eval| 機能を働かせる。

                                                     *'balloonexpr'* *'bexpr'*
'balloonexpr' 'bexpr'   文字列  (既定では "")
                        グローバル/バッファについてローカル|global-local|
                        {Vi にはない}
                        {Vimが|+balloon_eval|機能付きでコンパイルされたときの
                        み有効}
        バルーンウィンドウに表示するテキストの式。'ballooneval' がオンのときの
        み使われる。以下の変数を使用できる:

        v:beval_bufnr   バルーンを表示するバッファの番号
        v:beval_winnr   ウィンドウの番号
        v:beval_lnum    行番号
        v:beval_col     桁番号(バイトインデックス)
        v:beval_text    マウスポインタの下、または後ろにある単語

        この式の評価には副作用があってはならない。
        例:
    function! MyBalloonExpr()
        return 'Cursor is at line ' . v:beval_lnum .
                \', column ' . v:beval_col .
                \ ' of file ' .  bufname(v:beval_bufnr) .
                \ ' on word "' . v:beval_text . '"'
    endfunction
    set bexpr=MyBalloonExpr()
    set ballooneval

        NOTE: バルーンはカーソルがテキスト文字の上にあるときだけ表示される。
        'balloonexpr' を評価した結果が空でないなら、Vimは外部デバッガ(Netbeans
        またはSun Workshop)にメッセージを送ろうとしない。

        このオプションがモードラインで設定されたときは、式はサンドボックス
        (|sandbox|) の中で評価される。|sandbox-option| を参照。

        バルーンのテキスト中の改行が機能するかを調べるにはこれを使う:
                if has("balloon_multiline")
        これがサポートされているなら文字列 "\n" は新規行を開始する。この式を評
        価した結果がリスト|List|になる場合は、そのリストの各要素を文字列とし、
        それらの間に "\n" を置くのと同じことになる。

                                                *'belloff'* *'bo'*
'belloff' 'bo'          文字列  (既定では "")
                        グローバル
                        {Vi にはない}
        ベルを鳴らさないようにするイベントを指定する。これはコンマ区切りのアイ
        テムのリストである。指定したアイテムにおいてベルは沈黙する。これは、挿
        入モードにおいて特定のイベントで沈黙するように指定できることが最も有用
        である。

        アイテム    指定した時の意味
        all         全てのイベント。
        backspace   <BS> か <Del> を打ち込んだ時、削除結果にエラーがある。
        cursor      |Insert-mode| でカーソルキーか <PageUp>/<PageDown> を使用
                    して移動することができない。
        complete    |i_CTRL-X_CTRL-K| か |i_CTRL-X_CTRL-T| を使用した時にエ
                    ラーが発生した。
        copy        |i_CTRL-Y| か |i_CTRL-E| を使用して挿入モードから文字がコ
                    ピーできない。
        ctrlg       挿入モードで <C-G> の後に不明な文字。
        error       その他のエラーが発生した。(例えば、最終行で行連結を試みた)
                    (主に |Normal-mode| か |Cmdline-mode| で使用される)
        esc         |Normal-mode| で <Esc> を打ち込んだ。
        ex          |Visual-mode| で |Q| を打ち込んだ結果エラーが発生した。
        hangul      ハングル入力時にエラーが発生した。
        insertmode  'insertmode' で <Esc> を押した。
        lang        Lua/Mzscheme/TCL のためにビープモジュールを呼び出す。
        mess        |g<| で利用可能な出力がない。
        showmatch   'showmatch' 機能でエラーが発生した。
        operator    空の範囲エラー。|cpo-E|
        register    |Insert-mode| で <C-R> の後に不明なレジスタ。
        shell       シェルの出力からのベル。|:!|
        spell       スペルの提案でエラーが起こった。
        wildmode    |cmdline-completion| でより多くの一致が利用可能。
                    ('wildmode' の設定に依存する)

        これは挿入モードでベルを鳴らさなければならない場合に微調整するのに最も
        有用である。ノーマルモードおよびexコマンドについては、ベルは多くの場合
        エラーが発生したことを示すために鳴らされる。これは、"error" を追加する
        ことで消すことができる。

                                     *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin'          切替    (既定ではオフ)
                        バッファについてローカル
                        {Vi にはない}
        バイナリファイルを編集する前には、このオプションをオンにすべきである。
        Vimの起動時に引数 |-b| を使ってもよい。オンのときは、いくつかのオプショ
        ンの設定が変わる。
                'textwidth'   は   0    になる
                'wrapmargin'  は   0    になる
                'modeline'    は  オフ  になる
                'expandtab'   は  オフ  になる
        またオプション 'fileformat' と 'fileformats' は無視され、読み込みと書
        き込みは 'fileformat' が "unix" のときのようになる (1個の <NL> が改行
        になる)。
        さらにオプション 'fileencoding' と 'fileencodings' も無視され、ファイ
        ルは変換なしに読み込まれるようになる。
        NOTE: オプション 'bin' がオンのときに新しくファイルを読み込むと、
        autocommand によって設定が再び変えられ (例えば 'textwidth')、編集時に
        問題を起こす ことがあるので注意。ファイルを読み込んだ後に再び 'bin' を
        オンにするとよい。
        変更されるオプションの値は記憶されているので、オプション 'bin' がオフ
        に戻るとそれらの値も復元される。それらの値はバッファごと独自に記憶され
        る。
        引数|++bin|を使うと、'binary' をオンにしてファイルを開くことができる。
        これを使うと ":set bin" としなくてすむ。":set bin" は編集する全てのバッ
        ファに対して効果を持つ。
        'bin' がオンならば、ファイルを書き込むときに最終行に <EOL> が付け加え
        られるのは、元のファイルにすでに <EOL> があるときだけである (普通は、
        最終行に <EOL> がないならVimはそれを付け加える。こうするとその分ファイ
        ルが長くなる)。オプション 'endofline' を参照。

                        *'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
'bioskey' 'biosk'       切替    (既定ではオン)
                        グローバル
                        {Vi にはなく、MS-DOS版のみ}
        オンのとき、キーボードで打ち込まれた文字を取得するためにバイオスが呼び
        出される。これは CTRL-C を認識するためにはよいが、コンソールでしか機能
        しない。ターミナルをシリアルポートから利用する場合は、オフにすること。
        'conskey' も参照。

                                                        *'bomb'* *'nobomb'*
'bomb'                  切替    (既定ではオフ)
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+multi_byte| 機能付きでコンパイルされたときの
                        み有効}
        ファイルを書き込むときに以下の条件が満たされれば、BOM (Byte Order Mark
        {訳注: バイト順マーク。Unicodeを適切に扱うために使われるマーク}) がファ
        イル先頭に付けられる。
        - このオプションがオンである
        - 'binary' がオフである
        - 'fileencoding' が "utf-8", "ucs-2" または "ucs-4" である (リトルエン
          ディアンとビッグエンディアンの違いは無視)
        アプリケーションの中には、ファイルのエンコーディングを認識するために
        BOM を使うものがある。MS-Windows で UCS-2 ファイルのためによく使われる。
        しかし、アプリケーションによってはこれが問題になることもある。例えば
        "cat file1 file2" とすると、file2の BOM がファイル途中に現れてしまう。
        gcc は BOM を受け付けない。
        ファイルを読み込むときに 'fileencodings' が "ucs-bom" で始まるならば、
        BOM が存在するかどうかが調べられ、その結果に従って 'bomb' が設定される。
        'binary' がオンでなければ BOM は編集時には取り除かれ、ユーザーの目には
        触れない。'bomb' をオフにしたり 'binary' をオンにしたり
        'fileencodings' を変えなければ、ファイルの書き込み時に再び BOM が復元
        される。

                                                *'breakat'* *'brk'*
'breakat' 'brk'         文字列  (既定では " ^I!@*-+;:,./?")
                        グローバル
                        {Vi にはない}
                        {Vimが |+linebreak| 機能付きでコンパイルされたときの
                        み有効}
        オプション 'linebreak' がオンのとき、どの文字のところで行が折り返され
        て表示されるかを、このオプションで指定する。これが機能するのはASCIIと
        8bit文字('encoding' が8bitエンコーディングのとき)だけである。

                        *'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
'breakindent' 'bri'     切替 (既定ではオフ)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vim が |+linebreak| 機能付きでコンパイルされたときの
                        み有効}
        折り返された行を同じインデントで表示する (行の先頭にある空白の量と同じ
        だけインデントされる)。つまりテキストブロックの水平位置が保持される。

                                                *'breakindentopt'* *'briopt'*
'breakindentopt' 'briopt' 文字列 (既定では空)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vim が |+linebreak| 機能付きでコンパイルされたときの
                        み有効}
        'breakindent' の設定。次の項目を設定できる。それぞれの項目はコンマで区
        切る:
                min:{n}     テキストの最小幅。'breakindent' が適用されたとき
                            にテキストがその幅よりも狭くならないようにする。こ
                            れは、ウィンドウの右端近くまでインデントされたテキ
                            ストが折り返されたときにたくさんの行に渡って表示さ
                            れるのを防ぐ。
                shift:{n}   'breakindent' が適用されたときに、折り返された最初
                            の行を指定した量だけずらす。動的なフランス式の段落
                            インデント (負の値) や行の継続を強調 (正の値) した
                            りできる。
                sbr         追加インデントの前に 'showbreak' を表示する。
        初期設定は、min が 20、shift が 0 である。

                                                *'browsedir'* *'bsdir'*
'browsedir' 'bsdir'     文字列  (既定では "last")
                        グローバル
                        {Vi にはなく、Motif, Athena, Mac, Win32のGUI版のみ}
        ファイルブラウザーの開始時、どのディレクトリを開くかを指定する。
           last         前回にファイルブラウザーでファイルを開く・または保存し
                        たディレクトリ
           buffer       バッファで開いているファイルのディレクトリ
           current      カレントディレクトリ
           {path}       {path} で指定されたディレクトリ

                                                *'bufhidden'* *'bh'*
'bufhidden' 'bh'        文字列 (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+quickfix| 機能付きでコンパイルされたときの
                        み有効}
        バッファがウィンドウ内に表示されなくなったときの動作を指定する。
          <empty>       グローバルオプション 'hidden' に従う
          hide          バッファを隠す (解放しない)。'hidden' がオフでもそうす
                        る。
          unload        バッファを解放する。'hidden' がオフのときも、コマンド
                        |:hide| を使ったときもそうする。
          delete        バッファをバッファリストから削除する。'hidden' がオン
                        のときも、|:hide| を使ったときも、|:bdelete| を使った
                        ときのように、リストから削除する。
          wipe          バッファをバッファリストから完全に削除(wipe out)する。
                        'hidden' がオンのときも、|:hide| を使ったときも、
                        |:bwipeout| を使ったときのように、リストから削除する。

        注意: "unload", "delete", "wipe" を設定すると、バッファの変更は警告無
        しに失われる。また、これらの値はバッファを一時的に切り替えるような自動
        コマンドを壊す可能性がある。
        このオプションは 'buftype' や 'swapfile' と共に使われ、特殊な用途のバッ
        ファを指定する。|special-buffers| を参照。

                        *'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
'buflisted' 'bl'        切替 (既定ではオン)
                        バッファについてローカル
                        {Vi にはない}
        オンのときは、バッファはバッファリストに表示される。オフのときは、その
        バッファはコマンド ":bnext" や ":ls" およびバッファメニュー等の対象に
        ならない。
        ファイル名やマークを思い出したりするためだけのバッファでは、このオプショ
        ンはオフになる。バッファの編集を始めたときは、このオプションはオンにな
        る。しかし ":buffer" でバッファに移動したときはオンにはならない。

                                                *'buftype'* *'bt'* *E382*
'buftype' 'bt'          文字列 (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+quickfix| 機能付きでコンパイルされたときの
                        み有効}
        このオプションはバッファの種類を指定する。
          <empty>       普通のバッファ
          nofile        ファイルと関連がなく、書き込まれる予定のないバッファ
          nowrite       書き込まれる予定のないバッファ
          acwrite       いつも自動コマンドBufWriteCmdで書き込まれる予定のバッ
                        ファ。{Vimが|+autocmd|機能付きでコンパイルされたとき
                        のみ有効}
          quickfix      エラーリスト/ロケーションリスト用の quickfix バッファ
                        (|:cwindow||:lwindow|を参照)
          help          ヘルプバッファ (ユーザーが手動でこれに設定することはな
                        いはずである)

        このオプションはオプション 'bufhidden' や 'swapfile' と共に使われ、特
        殊な用途のバッファを指定する。|special-buffers| を参照。

        このオプションの変更には十分注意すること。多くの副作用が起こるかもしれ
        ない!

        "quickfix" バッファはエラーリストとロケーションリストにのみ使われる。
        この値はコマンド|:cwindow| と|:lwindow|で設定され、ユーザーが変更するこ
        とはないはずである。

        "nofile" バッファと "nowrite" バッファは似ている。
        両方とも、      バッファの内容はファイルに書き込まれない。":w" が使え
                        ない (":w 新ファイル名" は使える)。
        両方とも、      バッファの内容が変更された 'modified' と認識されること
                        がない。Vimの終了時等、変更点が失われるときでも警告が
                        現れない。
        両方とも、      スワップファイルはメモリを大量に消費したときのみ作られ
                        る ('swapfile' がオフだと、スワップファイルは作られな
                        い)。
        nofile だけは、 バッファ名は固定され、ファイル名のようには扱われない。
                        |:cd| の結果としてバッファ名が変わることはない。
        両方とも、      ":e bufname" を使い、すでに "bufname" を編集していたと
                        き、バッファは空になり|:edit|用の自動コマンドは通常通り
                        起動される。
                                                        *E676*
        "acwrite" は "nofile" と同様にバッファ名がファイルと関係していないこと
        を意味するが、"nofile" と違って保存される。すなわち、"nofile" と
        "nowrite" とは違って ":w" ができ、変更されたバッファを保存せずに破棄す
        ることはできない。これを保存するには、マッチする自動コマンド
        |BufWriteCmd||FileWriteCmd||FileAppendCmd|がなければならない。

                                                *'casemap'* *'cmp'*
'casemap' 'cmp'         文字列  (既定では "internal,keepascii")
                        グローバル
                        {Vi にはない}
                        {Vimが|+multi_byte|機能付きでコンパイルされたときのみ
                        有効}
        大文字・小文字の変更について詳細を指定する。このオプションはコンマ区切
        りで以下の単語を含む:
        internal        内部の大文字・小文字対応関数を使う。現在のロケールに
                        よって対応が変更されない。これは 'encoding' がUnicode
                        エンコーディング, "latin1", "iso-8859-15" のときのみ問
                        題になる。"internal" が除かれるとシステムライブラリ関
                        数towupper()とtowlower()が利用可能ならば使われる。
        keepascii       ASCII文字(0x00から0x7f)についてはUS大文字小文字対応を
                        使う。現在のロケールは効果を持たない。
                        これはおそらくトルコ語でだけ問題になる。

                                                *'cdpath'* *'cd'* *E344* *E346*
'cdpath' 'cd'           文字列  (既定では環境変数 $CDPATH または ",,")
                        グローバル
                        {Vi にはない}
                        {Vimが |+file_in_path| 機能付きでコンパイルされたとき
                        のみ有効}
        コマンド |:cd| や |:lcd| を使ったときに検索されるディレクトリのリスト。
        ただし検索されるディレクトリが "/", "./" や "../" で始まるときはこのオ
        プションは使われない。
        オプション 'cdpath' には、'path' と同様の指定方法を使う。
        |file-searching| も参照。
        既定値は環境変数 $CDPATH から取り込まれるが、カレントディレクトリを最
        初に探すために "," が先頭に挿入される。
        $CDPATH から取り込まれたものが望ましくないときは、値を上書きするために、
        次のコマンドを適当に修正し、ユーザーのファイル vimrc に加えること。
          :let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g')
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。('cdpath' の値の一部は、
        ファイル名を展開するためにシェルに渡すことができる)。

                                                *'cedit'*
'cedit'                 文字列  (Viの既定値: "", Vimの既定値: CTRL-F)
                        グローバル
                        {Vi にはない}
                        {Vimが |+vertsplit| 機能付きでコンパイルされたときの
                        み有効}
        コマンドラインモードで、コマンドラインウィンドウを開くために使われる
        キー。オプション 'compatible' がオフならば、既定では CTRL-F である。
        non-printable なキー {訳注: 文書先頭を参照} しか指定できない。キーは単
        一の文字として設定することもできるが、それでは入力しにくい。<> を使っ
        た表記を推奨する。例:
                :set cedit=<C-Y>
                :set cedit=<Esc>
        |Nvi| にもこのオプションがあるが、最初の1文字だけが使用される。
        |cmdwin| を参照。

                                *'charconvert'* *'ccv'* *E202* *E214* *E513*
'charconvert' 'ccv'     文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+multi_byte| 機能および |+eval| 機能付きでコ
                        ンパイルされたときのみ有効}
        文字エンコーディングの変換に使われる expression を定める。これは読み込
        まれようとしているファイルや書き込みをしたファイルのエンコーディングが、
        望むものと違うときに評価される。
        オプション 'charconvert' の値は、内部関数 iconv() がサポートされ、それ
        による変換が可能ならば使われることはない。ずっと高速なため、iconv() の
        使用を推奨する。
        'charconvert' は標準入力 (stdin |--|) から読み込むときには使われない。
        なぜなら変換元のファイルが存在しないからだ。まずテキストの内容をファイ
        ルに保存しなければいけない。
        使われる expression は、変換成功時には空文字列または0、失敗時には非0を
        返さなければならない。
        使用可能なエンコーディング名は 'encoding' で設定されている {訳注: よく
        分からない。原文は The possible encoding names encountered are in
        'encoding'.}。それに加え、'fileencodings' と 'fileencoding' に設定され
        ているエンコーディング名も使われる。
        "latin1", "unicode", "ucs-2", "ucs-4", "utf-8" の間の変換はVimの内部で
        行われ、 'charconvert' は使われない。'viminfo' の中にフラグ 'c' が含ま
        れるならば、'charconvert' はファイル viminfo の変換にも使われる。また
        Unicode の変換にも使われる。
        例:
                set charconvert=CharConvert()
                fun CharConvert()
                  system("recode "
                        \ . v:charconvert_from . ".." . v:charconvert_to
                        \ . " <" . v:fname_in . " >" v:fname_out)
                  return v:shell_error
                endfun
        関連するVimの変数は以下の通り。
                v:charconvert_from      現在のエンコーディング名
                v:charconvert_to        希望するエンコーディング名
                v:fname_in              入力ファイル名
                v:fname_out             出力ファイル名
        Note 変数 v:fname_in と v:fname_out とは、決して同じになってはいけない
        ので注意。
        Note v:charconvert_from と v:charconvert_to の値は 'encoding' と異なる
        かもしれないので注意。Vim内部では UCS-2 または UCS-4 の代わりには
        UTF-8 を使っている。
        Vim は 'charconvert' を用いたエンコーディング変換では暗号化をしない。
        変換後に暗号化をしたいなら、'charconvert' にそうさせる必要がある。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                   *'cindent'* *'cin'* *'nocindent'* *'nocin'*
'cindent' 'cin'         切替    (既定ではオフ)
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+cindent| 機能付きでコンパイルされたときのみ
                        有効}
        Cプログラムファイルの自動インデントを行う。挿入モードで再インデントを
        引き起こす文字列を指定するにはオプション 'cinkeys' を、好みのインデン
        トスタイルを設定するには 'cinoptions' を参照。
        'indentexpr' の値が空でないなら、それは 'cindent' の設定を上書きする。
        'lisp' がオフで、'indentexpr' と 'equalprg' の両方の値が空なら、"=" に
        よるインデントはこのアルゴリズムを使い、外部プログラムを使わない。
        |C-indenting| を参照。
        'cindent' の動作が気に入らないならば、'smartindent' か 'indentexpr' を
        試してみること。
        このオプションは 'paste' がオンのときには使われない。
        NOTE: このオプションは 'compatible' がオンのときはオフになるので注意。

                                                        *'cinkeys'* *'cink'*
'cinkeys' 'cink'        文字列  (既定では "0{,0},0),:,0#,!^F,o,O,e")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+cindent| 機能付きでコンパイルされたときのみ
                        有効}
        挿入モードで入力されたときに、現在行の再インデントを引き起こす文字のリ
        スト。オプション 'cindent' がオンで、かつ 'indentexpr' が空の時のみ使
        われる。
        このオプションの設定方法については |cinkeys-format| を参照。
        また |C-indenting| を参照。

                                                *'cinoptions'* *'cino'*
'cinoptions' 'cino'     文字列  (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+cindent| 機能付きでコンパイルされたときのみ
                        有効}
        このオプションは、'cindent' でのC言語ソース内の行の再インデント方法に
        影響を与える。このオプションの値については |cinoptions-values| を、一
        般的なC言語ソースのインデントの情報については |C-indenting| を参照。


                                                *'cinwords'* *'cinw'*
'cinwords' 'cinw'       文字列  (既定では "if,else,while,do,for,switch")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+cindent| 機能と |+smartindent| 機能(両方)付
                        きでコンパイルされたときのみ有効}
        オプション 'smartindent' か 'cindent' がオンのとき、ここに指定したキー
        ワードの次の行は、さらにインデントされる。'cindent' がオンのときには、
        適切な場所 ({} の内側) でのみ機能する。
        NOTE 'ignorecase' は 'cinwords' の値には適用されないので注意。大文字か
        小文字かを区別したくないなら、値に両方を指定すること。例: "if,If,IF"

                                                *'clipboard'* *'cb'*
'clipboard' 'cb'        文字列  (既定値はX-windowsでは
                                 "autoselect,exclude:cons\|linux"
                                 それ以外では "")
                        グローバル
                        {Vi にはない}
                        {VimのGUIバージョンか |+xterm_clipboard| 機能付きでコ
                        ンパイルされたもののみ有効}
        コンマ区切りのキーワードのリストを指定する。
        認識されるのは、以下のキーワードである。

                                                *clipboard-unnamed*
        unnamed         これが含まれると、コピー、削除、変更、ペーストなどの操
                        作で、普通なら無名レジスタが使われるところで、全てク
                        リップボードレジスタ '*' が使われるようになる。ただし
                        レジスタ名を明示的に指定した場合は、オプション
                        'clipboard' に "unnamed" が含まれているかいないかに関
                        わらず、指定されたレジスタが使われる。またクリップボー
                        ドレジスタは、"* という記法を用いれば常にアクセスでき
                        る。
                        |gui-clipboard| も参照。

                                                *clipboard-unnamedplus*
        unnamedplus     "unnamed" と似ているがコピー、削除、変更、ペーストなど
                        の操作で、普通なら無名レジスタが使われるところで、ク
                        リップボードレジスタ '+' (|quoteplus|) が使われる。
                        "unnamed" も同時に指定した場合は、コピー操作 (削除、変
                        更、ペースト以外の操作) で、レジスタ '*' にもテキスト
                        がコピーされる。
                        |+X11| 機能が有効な場合のみ利用可能。
                        利用できるかどうかは次のコマンドで確認できる:
                                if has('unnamedplus')

                                                *clipboard-autoselect*
        autoselect      'guioptions' のフラグ 'a' のように働く: これが含まれる
                        と、ビジュアルモードが開始されるたび、または ビジュア
                        ル選択範囲が変更されるたびに、Vimはウィンドウシステム
                        のグローバルなクリップボードのオーナーになろうとする
                        か、選択されたテキストをクリップボード用レジスタ "* を
                        使ってクリップボードにコピーしようとする。詳細は
                        |guioptions_a| と|quotestar| を参照。GUI機能が有効のと
                        きは 'guioptions' のフラグ 'a' が使用され、無効のとき
                        はこの "autoselect" フラグが使用される。また、モードレ
                        スなセレクションにも適用される。

                                                *clipboard-autoselectplus*
        autoselectplus  "autoselect" と似ているが、* レジスタの代わりに + レジ
                        スタが使われる。'guioptions' の 'P' フラグと比較してみ
                        ること。

                                                *clipboard-autoselectml*
        autoselectml    "autoselect" と似ているが、モードレスセレクションのみ
                        に適用される。'guioptions' のフラグ 'A' と比較してみる
                        こと。

                                                *clipboard-html*
        html            クリップボードの内容が HTML であるとき、貼り付け時に使
                        われる。テキストをクリップボードにコピーするとき、
                        HTML としてマークアップする。Firefox で描画された HTML
                        をコピーして Vim で HTML ソースとして貼り付けるとき
                        や、Vim で HTML を選択して Firefox のリッチエディット
                        ボックスに貼り付けるときに使われる。
                        これを一時的にのみ使いたい場合は BufEnter 自動コマンド
                        を使うといいかもしれない。
                        GTK 2 以降のみ対応している。
                        |+multi_byte| 機能が有効なときのみ利用可能。

                                                *clipboard-exclude*
        exclude:{pattern}
                        ターミナルの名前 'term' にマッチするパターンを定義す
                        る。パターンがマッチすると、Xサーバーとの通信がなされ
                        なくなる。
                        このオプションは以下の場合に便利である。
                        - Vimをコンソールで使用しているとき。
                        - アプリケーションを別のディスプレイで使うため、環境変
                          数 $DISPLAY が設定されているとき。
                        - コンソールではXサーバーと通信してほしくないが、ター
                          ミナルエミュレータ上では通信してほしいとき。
                        - コンソールでVimを使用している最中にXサーバーが終了さ
                          せられ、Vimをkillせざるを得ないかもしれないとき。
                        Xサーバーと全く通信しないようにするには、次のようにす
                        る。
                                exclude:.*
                        これは引数 |-X| を使用したのと同じ効果を持つ。
                        Note Xサーバーと通信していないとき、ウィンドウタイトル
                        は復元されず、クリップボードにはアクセスできない。
                        'magic' の値は無視され、 {pattern} は 'magic' がオンの
                        ときのように解釈される。オプション 'clipboard' の値の
                        残りは {pattern} として認識されるので、"exclude" は最
                        後に指定しなければならない。

                                                *'cmdheight'* *'ch'*
'cmdheight' 'ch'        数値    (既定では 1)
                        グローバル
                        {Vi にはない}
        コマンドラインに使われる画面上の行数。|hit-enter| プロンプトの出現を避
        けるのに役立つ。
        各タブページが異なる値を持てるようにするために、このオプションの値はタ
        ブページに保存される。

                                                *'cmdwinheight'* *'cwh'*
'cmdwinheight' 'cwh'    数値    (既定では 7)
                        グローバル
                        {Vi にはない}
                        {Vimが |+vertsplit| 機能付きでコンパイルされたときの
                        み有効}
        コマンドラインウィンドウに使われる画面上の行数。|cmdwin| を参照。

                                                *'colorcolumn'* *'cc'*
'colorcolumn' 'cc'      文字列  (既定では "")
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+syntax| 機能付きでコンパイルされたときのみ有
                        効}
        'colorcolumn' はスクリーンの列をコンマ区切りで指定する。指定された列は
        ColorColumn (|hl-ColorColumn|) で強調表示される。テキストを整列すると
        きに便利である。スクリーンの表示は遅くなる。
        列番号は絶対値で指定するか、番号に '+' か '-' を前置して 'textwidth'
        からの相対値として指定する。

                :set cc=+1  " 'textwidth' の後の列を強調表示する
                :set cc=+1,+2,+3  " 'textwidth' の後の3列を強調表示する
                :hi ColorColumn ctermbg=lightgrey guibg=lightgrey

        'textwidth' がゼロのときは '-' と '+' で指定されたアイテムは使用されな
        い。最大で 256 個の列を強調表示できる。

                                                *'columns'* *'co'* *E594*
'columns' 'co'          数値    (既定では 80 またはターミナルの幅)
                        グローバル
                        {Vi にはない}
        画面上の列幅を設定する。普通このオプションはターミナルの初期化の時点で
        設定され、手動で設定する必要はない。|posix-screen-size|も参照。
        VimがGUI内やサイズ変更可能なウィンドウ内で実行されているときは、このオ
        プションを変更するとウィンドウサイズも変更される。GUIでだけこのサイズ
        を使用したい場合は、このコマンドを|gvimrc|に書くこと。
        ユーザーがこのオプションを変更したのに、Vimがディスプレイの列幅の物理
        的な値を変更できなかったら、ディスプレイ表示がめちゃめちゃになるおそれ
        がある。GUIでは常にその可能性があるので、Vimは桁数を画面に収まる値に制
        限している。可能なウィンドウ幅の最大値を取得するには、次のコマンドを使
        う:
                :set columns=9999
        最小値は12、最大値は10000。
        {訳注: オプション 'lines' も参照}

                                        *'comments'* *'com'* *E524* *E525*
'comments' 'com'        文字列  (既定では
                                "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+comments| 機能付きでコンパイルされたときのみ
                        有効}
        コメント行の始まりとなる文字列の、コンマ区切りのリスト。
        |format-comments| を参照。'\' を使って値にスペースを含める方法について
        は、|option-backslash| を参照。

                                        *'commentstring'* *'cms'* *E537*
'commentstring' 'cms'   文字列  (既定では "/*%s*/")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        コメント用のテンプレート (雛形)。値の中の "%s" はコメントの内容と置き
        換えられる。現在のところ、折り畳み用のマーカーを追加するためにのみ使用
        されている。|fold-marker| を参照。

                        *'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp'       切替    (既定では オン、ファイル|vimrc|または
                                |gvimrc|が発見されたらオフ)
                        グローバル
                        {Vi にはない}
        VimをなるべくVi互換にするか、便利な機能を使えるようにするかを決定する。
        これは、特別な種類のオプションである。このオプションの値が変更されると、
        それに伴って他のオプションも変更されるからだ。*注意: このオプションを
        変更すると、予期しない効果が数多く現れる。キーマップの解釈は変わり、ア
        ンドゥも違った方法で行われる、等々。このオプションをファイル vimrc 内
        で設定するなら、一番先頭に置くこと。
        既定ではオンなので、その他のオプションにはViの既定値が使われる。この既
        定値は、VimをViと全く同じように使うことを望み、オプション 'compatible'
        について知りもしない、または知りたいとさえ思わない人たちのためのもので
        ある。
        Vimが立ち上がる間にファイル |vimrc| または |gvimrc| が見つかると、この
        オプションはオフにされ、その他のオプションで変更されていないものは、
        みなVimの既定値に設定される。要するに、Vimはファイル |vimrc| または
        |gvimrc| が存在するならVimの既定値を、存在しないならViの既定値を使うの
        だ (Note: システム全体用のvimrcやgvimrc、あるいは引数 |-u| で指定され
        るファイルは関係ないことに注意)。|compatible-default| と
        |posix-compliance| も参照。

        このオプションは引数 "-C" でオンに、引数 "-N" でオフにできる。 |-C| と
        |-N| を参照。
        オフに設定すると、「Viの既定値」と「Vimの既定値」が異なっているオプショ
        ンについて、Vimの既定値が用いられるようになる。下の表で '+' がついてい
        るものを参照。その他のオプションは影響を受けない。
        オンにすると、他のオプションがいくつか変更され、Vimはできる限りVi互換
        を保とうとする。下の表を参照。これはVi互換の編集方法に戻りたいと思うと
        きに使うことができる。
        'cpoptions' も参照。

        オプション      + Viの既定値    効果

        'allowrevins'     オフ          コマンド CTRL-_ なし
        'backupcopy'      Unix: "yes"   バックアップファイルがコピーになる
                          他: "auto"    バップアップはコピーまたはリネーム
        'backspace'       ""            普通のバックスペース
        'backup'          オフ          バックアップファイルなし
        'cindent'         オフ          C言語ファイルにインデントなし
        'cedit'         + ""            |cmdwin| を開くキーなし
        'cpoptions'     + (全フラグ)    Vi互換のフラグ
        'cscopetag'       オフ          ":tag" に cscope を使わない
        'cscopetagorder'  0             |cscopetagorder| を参照
        'cscopeverbose'   オフ          |cscopeverbose| を参照
        'digraph'         オフ          ダイグラフなし
        'esckeys'       + オフ          挿入モードで <Esc> で始まるキーなし
        'expandtab'       オフ          タブはスペースに展開されない
        'fileformats'   + ""            自動ファイルタイプ決定なし
                          "dos,unix"    (ただし DOS, Windows と OS/2 以外で)
        'formatoptions' + "vt"          Vi互換の文書整形
        'gdefault'        オフ          ":s" でフラグの既定値に 'g' なし
        'history'       + 0             コマンドラインの履歴なし
        'hkmap'           オフ          ヘブライ語用キーボードマップなし
        'hkmapp'          オフ          phoneticヘブライ語用キーボードマップなし
        'hlsearch'        オフ          検索でマッチした文字列に強調なし
        'incsearch'       オフ          インクリメンタルサーチなし
        'indentexpr'      ""            expression によるインデントなし
        'insertmode'      オフ          挿入モードでの開始なし
        'iskeyword'     + "@,48-57,_"   キーワードはアルファベットと数字と '_'
        'joinspaces'      オン          ピリオドの後ろには空白を2個挿入
        'modeline'      + オフ          モードラインなし
        'more'          + オフ          リスト表示が止まらない
        'revins'          オフ          右から左の挿入なし
        'ruler'           オフ          ルーラーなし
        'scrolljump'      1             ジャンプスクロールなし
        'scrolloff'       0             スクロールにオフセットなし
        'shiftround'      オフ          インデントは shiftwidth の整数倍でない
        'shortmess'     + ""            メッセージの短縮なし
        'showcmd'       + オフ          コマンドの文字は表示されない
        'showmode'      + オフ          現在のモードは表示されない
        'smartcase'       オフ          大文字小文字の無視は自動にならない
        'smartindent'     オフ          高度なインデントなし
        'smarttab'        オフ          高度なタブ挿入なし
        'softtabstop'     0             タブは常に 'tabstop' を基準
        'startofline'     オン          いくつかのコマンドで行頭に移動する
        'tagrelative'   + オフ          タグファイル名は相対的でない
        'textauto'      + オフ          自動改行コード決定なし
        'textwidth'       0             自動行分割なし
        'tildeop'         オフ          チルダはオペレータではない
        'ttimeout'        オフ          ターミナルの時間切れなし
        'whichwrap'     + ""            左から右への移動は行を超えない
        'wildchar'      + CTRL-E        現在の値が <Tab> のときのみ、コマンド
                                        ライン補完に CTRL-E を使う
        'writebackup'     オンかオフ    |+writebackup| 機能に依る

                                                *'complete'* *'cpt'* *E535*
'complete' 'cpt'        文字列  (既定では: ".,w,b,u,t,i")
                        バッファについてローカル
                        {Vi にはない}
        コマンド CTRL-P や CTRL-N によるキーワード補完 |ins-completion| の動作
        を指定する。このオプションは行全体の補完 |i_CTRL-X_CTRL-L| にも適用さ
        れる。このオプションは補完の方法と、キーワード検索の対象となる場所を示
        す、コンマ区切りのフラグのリストである。
        .       カレントバッファから検索 ('wrapscan' の値は無視)
        w       別のウィンドウ内のバッファから検索
        b       バッファリスト内の、現在読み込まれている別のバッファから検索
        u       バッファリスト内の、現在読み込まれていない別のバッファから検索
        U       バッファリストにないバッファから検索
        k       'dictionary' で指定されたファイルから検索
        kspell  現在有効化されているスペルチェックを使う |spell|
        k{dict} {dict} で与えられたファイルから検索。"k" を複数指定してもよい。
                ファイル名はパターンでも指定できる。例:
                        :set cpt=k/usr/dict/*,k~/spanish
        s       'thesaurus' で指定されたファイルから検索
        s{tsr}  {tsr} で与えられたファイルから検索。 "s" を複数指定してもよい。
                ファイル名はパターンでも指定できる。
        i       カレントファイルとインクルードされるファイルから検索
        d       カレントファイルとインクルードされるファイルから、定義された名
                前またはマクロを検索 |i_CTRL-X_CTRL-D|
        ]       タグ補完
        t       "]" と同じ

        読み込まれていないバッファでは、何しろ読み込まれていないのだから、
        |:autocmd| は実行されていない。そのため、ある種のファイルからは思いも
        しないキーワードを補完してしまうことがある (gzip圧縮されたファイルな
        ど)。読み込まれていないバッファは、行全体の補完には使われない。

        既定では ".,w,b,u,t,i" となっていて、これは検索対象を次のように指定し
        ている。
           1. カレントバッファ
           2. 別のウィンドウ内のバッファ
           3. 他の読み込まれたバッファ
           4. バッファリスト内の読み込まれていないバッファ
           5. タグ
           6. インクルードされるファイル

        CTRL-N と CTRL-P は 'iskeyword' を利用した全てのファイル名展開で使用で
        きる (つまり辞書 |i_CTRL-X_CTRL-K|、インクルードされるパターン
        |i_CTRL-X_CTRL-I|、タグ |i_CTRL-X_CTRL-]| および通常の展開)。

                                                *'completefunc'* *'cfu'*
'completefunc' 'cfu'    文字列  (既定では空)
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+eval| と |+insert_expand| 機能付きでコンパイ
                        ルされたときのみ有効}
        このオプションは入力モードのCTRL-X CTRL-U |i_CTRL-X_CTRL-U|での補完に
        使われる関数を指定する。
        その関数がどのように起動され、何を返すべきかについての説明は
        |complete-functions|を参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'completeopt'* *'cot'*
'completeopt' 'cot'     文字列  (既定では "menu,preview")
                        グローバル
                        {Vimが|+insert_expand|機能付きでコンパイルされたとき
                        のみ有効}
                        {Vi にはない}
        入力モードでの補完|ins-completion|についてのオプションのコンマ区切りの
        リスト。サポートされている値は次の通り:

           menu     ポップアップメニューで補完候補を表示する。ポップアップメ
                    ニューは、候補が2個以上あり、十分な数の色が使用できるとき
                    だけ表示される。|ins-completion-menu|を参照。

           menuone  候補が1つしかないときもポップアップメニューを使う。候補に
                    ついて付加的な情報があるときに便利である。例えば、それがど
                    のファイルに含まれているかなど。

           longest  候補の文字列の最長の共通部分だけを挿入する。メニューが表示
                    されているならばCTRL-Lでさらに文字を挿入することができる。
                    大文字・小文字が同一視されるかどうかは補完の種類による。
                    バッファのテキストについてはオプション 'ignorecase' が適用
                    される。

           preview  現在選択されている候補についての付加的な情報をプレビュー
                    ウィンドウに表示する。"menu" または "menuone" と組み合わせ
                    たときのみ有効。

           noinsert Do not insert any text for a match until the user selects
                    a match from the menu. Only works in combination with
                    "menu" or "menuone". No effect if "longest" is present.

           noselect Do not select a match in the menu, force the user to
                    select one from the menu. Only works in combination with
                    "menu" or "menuone".


                                                *'concealcursor'* *'cocu'*
'concealcursor' 'cocu'  文字列 (既定では: "")
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vim が |+conceal| 機能付きでコンパイルされたときのみ
                        有効}
        カーソル行のテキストを Conceal 表示するモードを設定する。現在のモード
        がこのオプション値に含まれているなら他の行と同様に Conceal 表示され
        る。
          n             ノーマルモード
          v             ビジュアルモード
          i             挿入モード
          c             コマンドライン編集 ('incsearch' 用)

        'v' はカーソル行だけでなくビジュアル選択された行全体に適用される。
        便利な値は "nc" である。これはヘルプファイルで使われている。移動してい
        るときはテキストは Conceal 表示されるが、テキストを入力したりビジュア
        ル選択したりするときは実際のテキストが表示されるので、自分の操作を視覚
        できる。
        カーソルの位置は実際の表示とは異なる場合があるので注意すること。
        例えば縦に移動することで列が変わることがある。


'conceallevel' 'cole'           *'conceallevel'* *'cole'*
                        数値 (既定では 0)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vim が |+conceal| 機能付きでコンパイルされたときのみ
                        有効}
        "conceal" 構文属性 (|:syn-conceal|) のテキストをどのように表示するかを
        設定する:

        値              効果
        0               テキストは通常通り表示される
        1               各ブロックの Conceal されたテキストは一つの文字に置換
                        される。構文アイテムに代理文字 (|:syn-cchar| 参照) が
                        指定されていないときは 'listchars' の設定が使われる
                         (初期設定はスペース)。
                        文字は "Conceal" 強調グループを使って強調表示される。
        2               Conceal されたテキストは構文アイテムに指定された代理文
                        字 (|:syn-cchar|) として表示される。それが指定されて
                        いないときは完全に非表示になる。
        3               Conceal されたテキストは完全に非表示になる。

        Note: テキストの編集やコピーの操作を妨げないようにするため、カーソル行
        の Conceal テキストは非表示にならない。これは 'concealcursor' オプショ
        ンで変更できる。

                                *'confirm'* *'cf'* *'noconfirm'* *'nocf'*
'confirm' 'cf'          切替 (既定ではオフ)
                        グローバル
                        {Vi にはない}
        オプション 'confirm' がオンならば、バッファへの変更を保存していないと
        実行に失敗する操作 (例えばコマンド ":q" と ":e") の際、ダイアログ
        |dialog| を開いてファイルを保存するかどうか尋ねる。これがオンになって
        いても、意図的に変更を廃棄したいなら ! を使える。
        'confirm' がオフでも、コマンド |:confirm| で個別に確認を求めることがで
        きる (これはキーマッピングで使うととても便利である)。
        関数 |confirm()| と 'guioptions' のフラグ 'v' も参照。

                        *'conskey'* *'consk'* *'noconskey'* *'noconsk'*
'conskey' 'consk'       切替 (既定ではオフ)
                        グローバル
                        {Vi にはない}  {VimのMS-DOS版のみ}
        オンのとき、キーボードの文字を受け取るのに直接コンソール出入力が使われ
        る。これはたいていの場合有効である。'bioskey' も参照。合わせて、3種類
        のコンソール入力が使える。
        'conskey'    'bioskey'      action
          オン       オンかオフ     直接コンソール入力
          オフ          オン        BIOS
          オフ          オフ        標準入力

                        *'copyindent'* *'ci'* *'nocopyindent'* *'noci'*
'copyindent' 'ci'       切替    (既定ではオフ)
                        バッファについてローカル
                        {Vi にはない}
        新規行を自動インデントするとき、既存の行のインデント構造をコピーする。
        普通、新しい行のインデントは |'expandtab'| が有効になっていないかぎり
        (この場合は全てスペースになる)、まずタブが使われ、足りない部分がスペー
        スで埋められる。このオプションを有効にすると、既存の行のインデントにど
        んな文字が使われていようとそれを新規行にコピーする。'expandtab' はこれ
        らの文字には影響せず、タブはタブのままになる。新規行のインデントが既存
        の行よりも深いならば、その差の部分は通常の方法で埋められる。
        NOTE'compatible' がオンにされると 'copyindent' はオフになる。
        'preserveindent' も参照。

                                                *'cpoptions'* *'cpo'*
'cpoptions' 'cpo'       文字列  (Vimの既定値: "aABceFs", Viの既定値:  全フラグ)
                        グローバル
                        {Vi にはない}
        1文字のフラグの列で設定する。フラグが設定されると、対応する動作がVi互
        換になる。大部分、またはある程度のVi互換が求められるときに使われる。
        'cpoptions' は "compatible-options (互換オプション)" の意味である。
        読みやすくするためにコンマを入れてもよい。
        将来追加されるフラグによる問題を避けるため、コマンド ":set" では "+="
        と "-=" を使うこと |add-option-flags|
        NOTE: このオプションは 'compatible' がオンのときはVi互換の値に設定され、
        'compatible' がオフのときはVim互換の値に設定されるので注意。
        NOTE: Viの既定値が使われるようになっており、さらに環境変数$VIM_POSIXが
        存在するとき、Vim起動時にこのオプションがPOSIXの既定値にセットされる
        |posix|。これによってVimがPOSIX仕様に近い挙動をするようになる。

              フラグ    動作
                                                                *cpo-a*
                a       これが含まれると、":read" にファイル名の引数を与えたと
                        き、そのファイルをカレントウィンドウの代替ファイルに設
                        定する。
                                                                *cpo-A*
                A       これが含まれると、":write" にファイル名の引数を与えた
                        とき、そのファイルをカレントウィンドウの代替ファイルに
                        設定する。
                                                                *cpo-b*
                b       ":map" 内の "\|" がコマンドの終端と見なされるようにな
                        る。'\' はキーマッピングの一部に、'|' の次のテキストは
                        次のコマンドと見なされる。'|' をキーマッピングに含める
                        には、'\' でなく CTRL-V を使うこと。キーマッピングや略
                        語やメニューや autocmd コマンドの全てに適用される。
                        |map_bar| も参照。
                                                                *cpo-B*
                B       '\' が、":menu" のメニューから実行される部分やキーマッ
                        ピングや略語において、特別な意味を持たなくなる。'\' を
                        CTRL-V のように使いたいのならこのフラグを取り除くこと。
                        例えば、":map X \<Esc>" で X がマップされるのは、
                           'B' が含まれたとき:  "\^["    (^[ は本当の <Esc>)
                           'B' が除かれたとき:  "<Esc>"  (5個の文字)
                               (どちらの場合も '<' が除かれているとする)
                                                                *cpo-c*
                c       {訳注: 検索でマッチする文字列があった後} カーソル位置
                        のマッチの終わり(ただし次行の開始位置を越えない)から次
                        の検索を行う。このフラグが含まれないと、次の検索はカー
                        ソル位置の1文字後から始まる。'c' が含まれると、"/abab"
                        で検索したとき "abababababab" には3回しかマッチしない
                        が、'c' が含まれないと5回マッチする。
                                                                *cpo-C*
                C       ":source" で読み込まれたファイルのうち、'\' で始まる行
                        を連結しない。|line-continuation| を参照。
                                                                *cpo-d*
                d       'tags' 内で "./" という記法を使ったとき、タグファイル
                        はカレントファイルのディレクトリでなく、カレントディレ
                        クトリから探す。
                                                                *cpo-D*
                D       |r||f| や |t| のような、文字を引数に取る ノーマル
                        モードコマンドの後で、CTRL-K によるダイグラフの入力が
                        できなくなる。
                                                                *cpo-e*
                e       ":@r" でレジスタの内容を {訳注: Exコマンドとして} 実行
                        するとき、レジスタが行全体を保存したものでないときでも、
                        常に最終行に <CR> を付け加える。このフラグが含まれない
                        ときは、レジスタの内容が行全体を保存したものでなく、か
                        つ <CR> で終わらないならば、実行すると最終行はコマンド
                        ラインに表示され、<CR> を打ち込むまでは編集できる。
                                                                *cpo-E*
                E       空の範囲に "y", "d", "c", "g~", "gu", "gU" などのコマ
                        ンドを使うとエラーになる。オペレータは作用する対象が最
                        低でも1文字ないと使えない。例: これが含まれると、最初
                        の桁で "y0" を行うとエラーになる。
                                                                *cpo-f*
                f       これが含まれると、カレントバッファにファイル名がまだ設
                        定されていないなら、":read" にファイル名の引数を与えた
                        とき、そのファイル名をカレントバッファのファイル名に設
                        定する。
                                                                *cpo-F*
                F       これが含まれると、カレントバッファにファイル名がまだ設
                        定されていないなら、":write" にファイル名の引数を与え
                        たとき、そのファイル名をカレントバッファのファイル名に
                        設定する。|cpo-P|も参照。
                                                                *cpo-g*
                g       ":edit" を引数なしで使うと1行目に移動する。
                                                                *cpo-H*
                H       空白のみを含む行の上で "I" を使ったとき、最後の空白の
                        前から挿入する。このフラグが含まれていないと、最後の空
                        白の後から挿入を開始する。
                                                                *cpo-i*
                i       これが含まれると、ファイルの読み込み中に中断が起きたと
                        き、ファイルは変更されたままになる。
                                                                *cpo-I*
                I       'autoindent' によるインデントが挿入された直後にカーソ
                        ルを上下に移動したときインデントを削除しない。
                                                                *cpo-j*
                j       行の連結時に追加する空白が、'.' の後のみ2個になり、'!'
                        や '?' の後は1個になる。'joinspaces' も参照。
                                                                *cpo-J*
                J       文 |sentence| は '.', '!' または '?' の後に2個の空白を
                        伴わなければならない。<Tab> は空白とは見なされない。
                                                                *cpo-k*
                k       ":menu" で実行される部分や、キーマッピングや略語におい
                        て、直接入力されたキーコードを認識しない。例えば、
                        <Key> が ^[OA を送るなら (ここで ^[ は <Esc> )、
                        ":map X ^[OA" で X がマップされるのは、
                            'k' が含まれたとき:  "^[OA"   (3個の文字)
                            'k' が除かれたとき:  "<Key>"  (1個のキーコード)
                        下の '<' も参照。
                                                                *cpo-K*
                K       キーマッピングの途中で、キーコードが完全に入力されるの
                        を待たない。<F1><F1> のマッピングは、2 番目の <F1> の
                        一部のみが読み込まれた場合、動作しなくなる。こうすると
                        <F1><Esc> と打ち込めばマッピングをキャンセルできる。
                                                                *cpo-l*
                l       検索パターンの [] 範囲内で、'\' は文字通りに解釈され、
                        "\]", "\^", "\\" だけが特別な意味を持つ。|/[]| を参照。
                           'l' が含まれたとき:
                                "/[ \t]"  がマッチするのは <Space>, '\' と 't'
                           'l' が除かれたとき:
                                "/[ \t]"  がマッチするのは <Space> と <Tab>
                        |cpo-\|も参照。
                                                                *cpo-L*
                L       'list' がオンのとき、 'wrapmargin''textwidth',
                        'softtabstop' と仮想置換モード (|gR| を参照) で、<Tab>
                        の普通の数え方をせず、必ず 2 文字に数える。
                                                                *cpo-m*
                m       これが含まれると、対応する括弧の表示を0.5秒待つ。含ま
                        れていないと、対応する括弧の表示を0.5秒または次の文字
                        が打ち込まれるまで待つ。'showmatch' を参照。
                                                                *cpo-M*
                M       これが含まれていない場合、"%" での括弧の対応にバックス
                        ラッシュを考慮に入れる。すなわち "( \( )" や "\( ( \)"
                        で外側の括弧同士が対応するようになる。"%" が含まれてい
                        る場合はVi互換になり、バックスラッシュは無視される。
                                                                *cpo-n*
                n       これが含まれているときは折り返された行のテキストの表示
                        に 'number' と 'relativenumber' によって行番号表示され
                        ている列も使用される。
                                                                *cpo-o*
                o       検索コマンドの行オフセットは、次回の検索には使われない。
                                                                *cpo-O*
                O       ファイルが上書きされたとき、編集を始めたときにはそのファ
                        イルが存在しなかった場合でも警告しない。これは別人に突
                        然作り出されたファイルに対する防御である。Viはこれに警
                        告を出さなかった。
                                                                *cpo-p*
                p       Vi互換のLisp用インデント。これが含まれないと、いくらか
                        良いアルゴリズムが使われる。
                                                                *cpo-P* 
                P       これとフラグ 'F' が同時に含まれていると、コマンド
                        ":write" で既存のファイルに追加するとき、カレントバッ
                        ファの名前がまだないならそのファイルの名前をカレント
                        バッファの名前にする。|cpo-F|
                                                                *cpo-q* 
                q       複数の行を連結するとき、2行を連結するときと同じ位置に
                        カーソルを置く。
                                                                *cpo-r* 
                r       リドゥ (コマンド ".") で検索を繰り返すとき、実際には
                        "/" を使う。
                                                                *cpo-R*
                R       フィルタされた行のマークを除去する。このフラグが入って
                        いないと、|:keepmarks|を使ったときと同じようにフラグは
                        そのまま保たれる。
                                                                *cpo-s* 
                s       バッファが初めてアクティブになる時点でバッファのオプショ
                        ンが設定される。これは Vim version 3.0 と同じ動作であ
                        る。そして既定ではこの動作を行う。これが含まれないと、
                        オプションはバッファが作られた時点で設定される。
                                                                *cpo-S*
                S       バッファのオプションを常にバッファに移動する時点で設定
                        する ('readonly''fileformat''filetype' と 'syntax'
                        以外)。これは (ほとんど) Vi互換の設定である。
                        オプションの値は元のカレントバッファでの値になる。ユー
                        ザーがオプションを変更し、その後で別のバッファに移ると、
                        その値はコピーされる。事実上、バッファオプションを全て
                        のバッファに対しグローバルにしている。

                        's'  'S'  バッファのオプションをコピーするタイミング
                        オフ オフ バッファが作られた時点
                        オン オフ バッファが初めてアクティブになった時点 (既定)
                        なし オン バッファに移動するたび (Vi互換)
                                                                *cpo-t* 
                t       タグコマンドの検索パターンが "n" による検索の繰り返し
                        にも使われる。これが含まれないと、検索パターンの履歴に
                        は加えられるが、最終検索パターンは変化しない。
                                                                *cpo-u*
                u       アンドゥがVi互換になる。|undo-two-ways| を参照。
                                                                *cpo-v*
                v       挿入モードにおいて、バックスペースで消した文字を画面上
                        に表示したままにしておく。このフラグが入っていないと、
                        消された文字はすぐに画面から消える。このフラグが入って
                        いると、新しく入力された文字がバックスペースで消された
                        文字を上書きする。
                                                                *cpo-w*
                w       空白の上で "cw" を使ったとき、1文字だけ変更して、次の
                        単語の始まりまでの空白は変更しない。
                                                                *cpo-W*
                W       読み込み専用ファイルを上書きしない。これが含まれないと、
                        可能であれば ":w!" で読み込み専用ファイルも上書きでき
                        る。
                                                                *cpo-x*
                x       コマンドラインで <Esc> を打ち込むとコマンドを実行する。
                        Vimでの既定ではコマンドライン入力を中止して元のモード
                        に戻る。それは <Esc> は普通はコマンドの中止に使われる
                        からである。|c_<Esc>| を参照。
                                                                *cpo-X*
                X       "R" でカウントを指定したとき、置換されるテキストが一度
                        だけ削除される。カウントをつけた "." で "R" を繰り返し
                        たときも同じ。
                                                                *cpo-y*
                y       コピーコマンドを "." でリドゥできる。
                                                                *cpo-Z*
                Z       オプション 'readonly' がオンになっているのに "w!" をし
                        たとき 'readonly' をオフにしない。
                                                                *cpo-!*
                !       フィルタコマンドをリドゥするとき、何であってもとにかく
                        最後に実行された外部コマンドを使う。これが含まれないと、
                        最後に実行された「フィルタ」コマンドが使われる。
                                                                *cpo-$*
                $       1行に対して変更をするとき、行を再描画せず、代わりに変
                        更されたテキストの最後に '$' を表示する。変更されたテ
                        キストはユーザーが新しいテキストを入力したときに上書き
                        される。その行はユーザーがカーソルを挿入点から動かすコ
                        マンドを入力したときに再描画される。
                                                                *cpo-%*
                %       "%" でVi互換の対応検索が行われる。
                        "#if", "#endif" などを認識しない。
                        "/*" と "*/" も認識しない。
                        単引用符 ''' または二重引用符 '"' の内部の括弧も数えら
                        れる。すると括弧を含む文字列が対応を乱すことになる。例
                        えば、"if (strcmp("foo(", s))" などでは最初の括弧と最
                        後の括弧はマッチしない。これが含まれないと、単引用符ま
                        たは二重引用符の内部の括弧は特別な扱いを受ける。引用符
                        の外部の括弧の対応を調べるときは、引用符の内部は一切無
                        視される。引用符の内部の括弧の対応を調べるときは、対応
                        する括弧を探す (存在すれば)。これはC言語プログラムでは
                        とても良く機能する。
                        このフラグはCインデントなど他の機能にも使われる。
                                                                *cpo--*
                -       これが含まれていると最初の行や最後の行を越えるような上
                        下移動コマンドは失敗する。含まれているとカーソルが最初
                        の行または最後の行に移動する(既にカーソルがその行にな
                        いかぎり)。
                        コマンド "-", "k", CTRL-P, "+", "j", CTRL-NCTRL-J,
                        ":1234" に適用される。
                        {訳注: 2行目で3kしたとき、これが含まれているならカーソ
                        ルは移動しない。含まれていないなら1行目へ移動する}
                                                                *cpo-+*
                +       これが含まれていると、":write file" をしたとき、まだそ
                        のバッファが対応するファイルと異なっていても、そのバッ
                        ファのフラグ 'modified' がオフになる。
                                                                *cpo-star*
                *       ":*" を ":@" と同じように扱う。これが含まれないと、
                        ":*" は ":'<,'>" の別名となり、ビジュアルエリアを選択
                        する。
                                                                *cpo-<*
                <       ":menu" で実行される部分や、キーマッピングや略語におい
                        て、|<>| 記法による特殊キーの認識を行わない。例えば、
                        ":map X <Tab>" で X がマップされるのは、
                            '<' が含まれたとき:  "<Tab>"  (5個の文字)
                            '<' が除かれたとき:  "^I"     (^I は本当の <Tab>)
                        上の 'k' も参照。
                                                                *cpo->*
                >       レジスタにテキスト追加するとき、そのテキストの前に改行
                        文字をつける。
                                                                *cpo-;*
                ;       |,| や |;| で最後の |t| 検索を繰り返すとき、カーソルの
                        位置が検索文字の一つ手前であればカーソルを移動しない。
                        フラグが含まれていない場合は、カーソルはその文字を飛び
                        越えて次の場所にジャンプする。

        次のものはPOSIXフラグである。起動時に$VIM_POSIXがセットされていない限
        り、これらはViの既定値には含まれない。|posix|

            フラグ      動作
                                                                *cpo-#*
                #       "D", "o", "O" に対するカウントは効果がない。
                                                                *cpo-&*
                &       ":preserve" が使われたとき通常終了時にバッファはまだ読
                        み込まれているが、スワップファイルを保存する。このフラ
                        グはVimの終了時に判定される。
                                                                *cpo-\*
                \       検索パターンの範囲[]の中のバックスラッシュが文字どおり
                        に解釈される。"\]" だけがエスケープになる。|/[]|を参照。
                        '\' が含まれていると "/[ \-]" は<Space>, '\', '-' に
                        マッチする。'\' が含まれていないと "/[ \-]" は<Space>,
                        '-' にマッチする。
                        |cpo-l|も参照。
                                                                *cpo-/*
                /       コマンド|:s|の置換後文字列に "%" を指定したとき、前回の
                        置換後文字列を使う。|:s%|を参照。
                                                                *cpo-{*
                {       コマンド|{||}|が行頭の文字 "{" にも止まる。
                                                                *cpo-.*
                .       カレントバッファが変更されているとき、"!" をつけないか
                        ぎりコマンド ":chdir" と ":cd" が失敗する。Vimは開いた
                        ファイルのフルパスを覚えているため、これを必要としな
                        い。
                                                                *cpo-bar*
                |       環境変数$LINESと$COLUMNSの値をシステム固有の関数で得ら
                        れたターミナルサイズより優先させる。


                                                *'cryptmethod'* *'cm'*
'cryptmethod' 'cm'      文字列  (既定では "zip")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        バッファをファイルに保存するときに使用される暗号化メソッドを設定する:
                                                        *pkzip*
           zip          PkZip 互換メソッド。弱い暗号化。
                        Vim 7.2 以前との後方互換。
                                                        *blowfish*
           blowfish     Blowfish メソッド。中強度の暗号化だが実装上の脆弱性が
                        ある。Vim 7.3 以降が必要。このメソッドで保存された
                        ファイルは Vim 7.2 以前のバージョンでは開くことができ
                        ない。ファイルには "seed" が付加されるのでファイルを書
                        き込むたびに暗号化されたバイト列は異なる。
                                                        *blowfish2*
           blowfish2    Blowfish メソッド。中強度の暗号化。Vim 7.4.401 以降が
                        必要。このメソッドで保存されたファイルは Vim 7.3 以前
                        のバージョンでは開くことができない。ファイルには
                        "seed" が付加されるのでファイルを書き込むたびに暗号化
                        されたバイト列は異なる。undo ファイルは (テキスト部分
                        だけではなく) 全体が暗号化される。

        暗号化されたファイルを読み込んだとき、'cryptmethod' は自動的にそのファ
        イルに使用されている暗号メソッドに設定される。つまり、そのまま
        'cryptmethod' を変更せずにファイルを保存すれば同じメソッドが使用され
        る。
        'cryptmethod' の設定を変更してもファイルは変更あり状態にはならない。設
        定変更を有効にするにはファイルを保存する必要がある。もし他に変更がなけ
        れば保存せずに終了したとしても警告は表示されない。 |:X| 参照。

        グローバル設定を空文字に設定すると "zip" が使用される。ローカル設定を
        空文字に設定するとグローバル設定が使用される。

        Vim の将来のバージョンに新しい暗号化メソッドが追加され、現在の Vim が
        それを認識できないときは *E821* エラーが表示される。
        そのファイルは新しいバージョンの Vim で開く必要がある。


                                                *'cscopepathcomp'* *'cspc'*
'cscopepathcomp' 'cspc' 数値    (既定では 0)
                        グローバル
                        {Vi にはない}
                        {Vimが |+cscope| 機能付きでコンパイルされたときのみ有
                        効}
        タグのリストの中でパスを {訳注: 上にさかのぼって} どこまで表示するかを
        指定する。|cscopepathcomp| を参照。

                                                *'cscopeprg'* *'csprg'*
'cscopeprg' 'csprg'     文字列  (既定では "cscope")
                        グローバル
                        {Vi にはない}
                        {Vimが |+cscope| 機能付きでコンパイルされたときのみ有
                        効}
        Cscope を実行するコマンド名を指定する。|cscopeprg| を参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'cscopequickfix'* *'csqf'*
'cscopequickfix' 'csqf' 文字列  (既定では "")
                        グローバル
                        {Vimが|+cscope|または|+quickfix|機能つきでコンパイル
                        されたときのみ利用可能}
                        {Vi にはない}
        cscopeの結果を表示するのにQuickFixウィンドウを使うかどうかを指定する。
        |cscopequickfix|を参照。

                *'cscoperelative'* *'csre'* *'nocscoperelative'* *'nocsre'*
'cscoperelative' 'csre' 切替 (既定は off)
                        グローバル
                        {Vimが|+cscope|機能つきでコンパイルされたときのみ利用
                        可能}
                        {Vi にはない}
        cscope のプリフィックス (-P) がないとき、このオプションをオンに設定す
        ると、cscope.out が保存されているディレクトリがプリフィックスとして使
        われる。
        |cscoperelative| 参照。

                                *'cscopetag'* *'cst'* *'nocscopetag'* *'nocst'*
'cscopetag' 'cst'       切替    (既定ではオフ)
                        グローバル
                        {Vimが|+cscope|機能つきでコンパイルされたときのみ
                        有効}
                        {Vi にはない}
        コマンドtagにcscopeを使う。|cscope-options|を参照。
        NOTE'compatible' をオンにするとこのオプションはオフになる。

                                                *'cscopetagorder'* *'csto'*
'cscopetagorder' 'csto' 数値    (既定では 0)
                        グローバル
                        {Vi にはない}
                        {Vimが |+cscope| 機能付きでコンパイルされたときのみ有
                        効}
        コマンド ":cstag" が検索を行う順番を指定する。|cscopetagorder| を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときは 0 にな
        るので注意。

                                        *'cscopeverbose'* *'csverb'*
                                        *'nocscopeverbose'* *'nocsverb'*
'cscopeverbose' 'csverb' 切替 (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+cscope| 機能付きでコンパイルされたときのみ有
                        効}
        Cscope のデータベースに情報を追加するときメッセージを表示する。
        |cscopeverbose| を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                        *'cursorbind'* *'crb'* *'nocursorbind'* *'nocrb'*
'cursorbind' 'crb'      切替  (既定ではオフ)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+cursorbind| 機能つきでコンパイルされたときの
                        み有効}
        このオプションをオンにすると、現在のウィンドウでカーソルを動かしたとき
        に、他のウィンドウ ('cursorbind' オプションが設定されたウィンドウ) 内
        のカーソルも同じ行と列に移動する。このオプションはバージョン違いのファ
        イルの差を見るときに便利である ('diff' 参照)。差分モードでは追加または
        削除された行 (行に文字がなくても) のみが考慮される。


                        *'cursorcolumn'* *'cuc'* *'nocursorcolumn'* *'nocuc'*
'cursorcolumn' 'cuc'    切替    (既定ではオフ)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが|+syntax|機能つきでコンパイルされたときのみ
                        有効}
        カーソルのある画面上の桁をCursorColumnで強調する|hl-CursorColumn|
        テキストを桁揃えするのに便利。スクリーンの再描画が遅くなる。
        カレントウィンドウに対してだけこの強調をしたいなら次の自動コマンドを使
        う:
                au WinLeave * set nocursorline nocursorcolumn
                au WinEnter * set cursorline cursorcolumn

                        *'cursorline'* *'cul'* *'nocursorline'* *'nocul'*
'cursorline' 'cul'      切替    (既定ではオフ)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが|+syntax|機能つきでコンパイルされたときのみ
                        有効}
        カーソルがある画面上の行をCursorLineで強調する|hl-CursorLine|
        カーソルを目立たせるのに便利。スクリーンの再描画が遅くなる。
        ビジュアルモードでは選択されたテキストをわかりやすくするためにこの強調
        は行われない。


                                                *'debug'*
'debug'                 文字列  (既定では "")
                        グローバル
                        {Vi にはない}
        以下の値を指定することができる:
        msg     省かれるはずのエラーメッセージも表示する。
        throw   省かれるはずのエラーメッセージも表示し、さらに例外を投げ、
                |v:errmsg|を設定する。
        beep    ビープが鳴るだけのところでメッセージを表示する。
        これらの値はコンマで区切って組み合わせることができる。
        "msg" と "throw" はオプション 'foldexpr' や 'formatexpr''indentexpr'
        をデバッグするのに便利である。

                                                *'define'* *'def'*
'define' 'def'          文字列  (既定では "^\s*#\s*define")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        マクロ定義を発見するのに使われるパターンを指定する。値はコマンド "/"
        で使うのと同様の検索パターンである。このオプションは "[i" や "[d" 等に
        使われる |include-search|。オプション 'isident' は、これがマッチした部
        分の後の定義された名前を認識するのに使われる。
                {'define' のマッチ}{非識別子}{定義名}{非識別子}
        値に空白や '\' を含めるために '\' を挿入することに関しては、
        |option-backslash| を参照。
        既定値はCプログラム用である。C++プログラムには、定数定義を加えて次のよ
        うにすると便利だろう。
                ^\(#\s*define\|[a-z]*\s*const\s*[a-z]*\)
        ":set" で設定するときは、'\' の数を2倍にする必要がある!

                        *'delcombine'* *'deco'* *'nodelcombine'* *'nodeco'*
'delcombine' 'deco'     切替 (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+multi_byte| 機能付きでコンパイルされたときの
                        み有効}
        オンのときは、Unicodeのファイルの編集時、バックスペースとノーマルモー
        ドのコマンド "x" はそれぞれの文字の上の combining character のみを削除
        する。オフのときは (これが既定である) combining character と文字は同時
        に削除される。
        Note'delcombine' がオンになっていると "xx" の動作が "2x" と異なる場
        合がある。

        このオプションは、アラビア語、ヘブライ語その他の言語で、ベースとなる文
        字の上にcombining character が付いていて、combining character のみを削
        除したいときに便利である。

                                                *'dictionary'* *'dict'*
'dictionary' 'dict'     文字列  (既定では "")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        ファイル名のコンマ区切りのリスト。キーワード補完コマンド
        |i_CTRL-X_CTRL-K| 用の単語を探すために使われる。単語のリストからなるファ
        イルを指定する。その中では1行ごとに1語が並べられていてもよいし、1行に
        キーワードでない文字 (空白を推奨) で区切られた数語が並んでいてもよい。
        1行の文字数の最大値は510バイト分である {訳注: 日本語のいわゆる全角文字
        では半分の255文字}。
        このオプションが空のとき、または "spell" が含まれていてスペルチェック
        が有効になっているとき、現在アクティブなスペリングが使われる。
        |spell|
        ファイル名にコンマを含めるには、コンマの前に '\' を置くこと。コンマの
        後ろの空白は無視されるが、それ以外の空白はファイル名の一部として扱われ
        る。'\' の使い方については |option-backslash| を参照すること。
        このオプションは変数の辞書型|Dictionary|とは関係ない。
        単語リストはどこで見つかるか?
        - FreeBSDでは、"/usr/share/dict/words" というファイルがある。
        - Simtelアーカイブでは、ディレクトリ "msdos/linguist" を探すこと。
        - GNUコレクションでは、"miscfiles" の中にある。
        リストにディレクトリを追加するときには |:set+=| コマンド、リストからディ
        レクトリを除くときには |:set-=| コマンドを使うのがよい。こうすると将来
        のバージョンで異なった既定値が使われるようになったときに、問題が起きる
        のを防げる。
        安全上の理由から、バッククォート (`) をこのオプションの値に使うことは
        できない。

                                                        *'diff'* *'nodiff'*
'diff'                  切替 (既定ではオフ)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+diff| 機能付きでコンパイルされたときのみ有効}
        カレントウィンドウをファイル間の差異を示すウィンドウのグループに組み入
        れる。|vimdiff| を参照。

                                                *'dex'* *'diffexpr'*
'diffexpr' 'dex'        文字列 (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+diff| 機能付きでコンパイルされたときのみ有効}
        2個のファイル間の差異を求めるとき、ed形式のdiffファイルを求めるために
        評価される expression。|diff-diffexpr| を参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'dip'* *'diffopt'*
'diffopt' 'dip'         文字列 (既定では "filler")
                        グローバル
                        {Vi にはない}
                        {Vimが |+diff| 機能付きでコンパイルされたときのみ有効}
        差分モード用のオプション設定。値は、以下のキーワードのコンマ区切りのリ
        ストである。指定しないものがあってもよい。

                filler          片方のウィンドウ内のテキストのある位置に行が挿
                                入されていたときに、ウィンドウのスクロールを同
                                調させるために、埋め立て用の行を表示する。ウィ
                                ンドウが隣り合っていて、オプション
                                'scrollbind' がオンのときには大抵便利である。

                context:{n}     変更のあった行の上下を {n} 行だけ折り畳まずに
                                表示 (コンテキストの表示) する。指定されないと、
                                コンテキストは6行になる。|fold-diff| を参照。

                icase           テキストの大文字と小文字の違いを無視する。"a"
                                と "A" は同じものと見なされる。オプション
                                'diffexpr' が空なら、コマンド "diff" にフラグ
                                "-i" を追加する。

                iwhite          空白の数の違いを無視する。オプション
                                'diffexpr' が空なら、コマンド "diff" にフラグ
                                "-b" を追加する。これが正確には何を指定してい
                                るのかについては、コマンド "diff" のドキュメン
                                トを参照すること。これは後ろに追加された空白は
                                無視するが、前に追加された空白は無視しないはず
                                である。

                horizontal      (他に明示的に指定されない限り)ウィンドウを水平
                                分割して差分モードを開始する。

                vertical        (他に明示的に指定されない限り)ウィンドウを垂直
                                分割して差分モードを開始する。

                foldcolumn:{n}  差分モードの開始時にオプション 'foldcolumn' を
                                {n}に設定する。


        例:
                :set diffopt=filler,context:4
                :set diffopt=
                :set diffopt=filler,foldcolumn:3

                                     *'digraph'* *'dg'* *'nodigraph'* *'nodg'*
'digraph' 'dg'          切替 (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+digraphs| 機能付きでコンパイルされたときのみ
                        有効}
        挿入モードで {char1} <BS> {char2} でダイグラフを入力できるようにする。
        |digraphs| を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                                *'directory'* *'dir'*
'directory' 'dir'       文字列  (Amigaでの既定値: ".,t:",
                                 MS-DOSとWin32での既定値: ".,$TEMP,c:\tmp,c:\temp"
                                 Unixでの既定値: ".,~/tmp,/var/tmp,/tmp")
                        グローバル
        スワップファイル用ディレクトリの、コンマ区切りのリスト。
        - スワップファイルは、リスト内の利用できるディレクトリのうち、最初のディ
          レクトリの中に作られる。
        - 値が空だとスワップファイルは作られない (回復は不可能になる!)。
        - ディレクトリに "." を指定すると、編集されているファイルと同じディレ
          クトリにスワップファイルが作られる。Unixではファイル名の先頭にドット
          が追加されるので、ディレクトリ内のファイル一覧には表示されない。
          MS-Windowsでは属性 "hidden" が設定され、可能ならばファイル名の先頭に
          ドットが追加される。
        - "./" で始まるディレクトリ (MS-DOSなどでは ".\") を指定すると、編集さ
          れているファイルからの相対的な位置にスワップファイルが作られる。先頭
          の "." は編集されているファイルのパス名に置換される。
        - UnixとWin32では、指定されたディレクトリ名の末尾がディレクトリの区切
          り記号2個("//" または "\\")で終わっていたら、スワップファイルの名前
          はフルパスに従って付けられる。スワップファイルのファイル名をフルパス
          形式で表し、ディレクトリの区切り文字をパーセント記号 '%' で置き換え
          たものが使われる。こうするとスワップファイル格納用ディレクトリの中で
          も{訳注: 別のディレクトリ内の同名ファイルのスワップファイルが集まる
          かもしれない}、ファイル名の一意性が保証される。
          Win32 では、区切り文字のコンマの前では "\\" でなく "//" と書かなけれ
          ばならない。"\\" と書くと、コンマがファイル名の一部と解釈されてしま
          うためである。
        - コンマの後の空白は無視されるが、その他の場所の空白はディレクトリ名の
          一部と見なされる。ディレクトリ名の先頭に空白を指定したいなら、'\' を
          前に付けること。
        - コンマをディレクトリ名の一部に使いたいなら、コンマの前に '\' を付け
          ること。
        - ディレクトリ名は ':' や '/' で終わっていてもよい。
        - 環境変数は展開される |:set_env|
        - '\' の扱いには注意。空白の前には1個置く。値の中に指定するには2個置く
          (|option-backslash| を参照)。例:
            :set dir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
        - Vim version 3.0 との後方互換性のため、値の先頭に '>' を置いてもそれ
          は無視される。
        リストの先頭には "." を指定することを推奨する。こうすると、同じファイ
        ルを2重に編集しようとすると警告が出る。Unixでディレクトリ "/tmp" を使
        うのはお勧めできない。システムがクラッシュすると、スワップファイルも失
        われてしまう。ディレクトリ "/var/tmp" の中はリブート時にも大抵クリアさ
        れないので、ディレクトリ "/tmp" よりもよい選択である。しかしその中には
        多くのファイルが入っているかもしれないので、ユーザーのスワップファイル
        は他のファイルに紛れて分からなくなるかもしれない。ユーザーのホームディ
        レクトリ内のディレクトリ "tmp" が最初に試されるのはそのためだ。
        リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディ
        レクトリを除くときにはコマンド |:set-=| を使うのがよい。こうすると将来
        のバージョンで異なった既定値が使われるようになったときに、問題が起きる
        のを防げる。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。
        {Vi: 一時ファイルを作るディレクトリを指定する。既定では "/tmp"}

                                        *'display'* *'dy'*
'display' 'dy'          文字列  (既定では "")
                        グローバル
                        {Vi にはない}
        テキスト表示の方法を変える。値はフラグのコンマ区切りのリストである。
        lastline        これが含まれると、ウィンドウの最後の行ができる限りまで
                        表示される。含まれないと、最後の行が収まりきらないなら
                        その行は "@" と表示される。
        uhex            unprintable な文字を {訳注: 文書先頭を参照} <xx> とい
                        う形式で16進数表示し、^C や ~C の形式を使わない。

                                                *'eadirection'* *'ead'*
'eadirection' 'ead'     文字列  (既定では "both")
                        グローバル
                        {Vi にはない}
                        {Vimが |+vertsplit| 機能付きでコンパイルされたときの
                        み有効}
        オプション 'equalalways' が適用されるときに、
                ver     ウィンドウの高さにのみ効果がある
                hor     ウィンドウの幅にのみ効果がある
                both    ウィンドウの高さと幅、両方に効果がある

                           *'ed'* *'edcompatible'* *'noed'* *'noedcompatible'*
'edcompatible' 'ed'     切替    (既定ではオフ)
                        グローバル
        コマンド ":substitute" のフラグ 'g' と 'c' を、次に別の方を指定するま
        でずっと効力を持つようにする。|complex-change| を参照。オプション
        'gdefault' も参照。
        このオプションをオンに設定するのは推奨できない!

                                        *'encoding'* *'enc'* *E543*
'encoding' 'enc'        文字列 (既定では "latin1" または $LANG)
                        グローバル
                        {Vi にはない}
                        {Vimが |+multi_byte| 機能付きでコンパイルされたときの
                        み有効}
        Vim内部で使われる文字エンコーディングを設定する。そのエンコーディング
        はバッファやレジスタ内のテキスト、expression 内の文字列、ファイル
        viminfo 内のテキスト等に適用される。つまり、このオプションはVimの通常
        扱う文字の種類を設定する。指定できる値については |encoding-names| を参
        照。

        NOTE: このオプションの値を変更しても、Vim内部の既存のテキストのエンコー
        ディングは変化しないので注意。非ASCII文字がおかしくなる恐れもある。既
        定の値から変更しないか、Vimの起動時に限って設定すること。|multibyte|
        参照。メニューを再読み込みするには|:menutrans|を参照。

        このオプションはモードライン (|modeline|) では設定できない。テキストが
        壊れてしまうため。

        NOTE: GTK+2では 'encoding' を "utf-8" に設定することが強く推奨される。
        他の値であってもよいが、この環境では "utf-8" が自然な選択であり、不必
        要な変換のオーバーヘッドを避けることができる。GUIやターミナルのバージョ
        ンによって挙動が異なってしまうのを避けるためと、新しく作られたファイル
        のエンコーディングが知らないうちに変わってしまうのを避けるため
        ('fileencodings' が空の場合)、"utf-8" は既定にはなっていない。

        編集するファイルの文字エンコーディングはオプション 'encoding' と異なっ
        てもよい。そちらは 'fileencoding' で設定される。エンコーディングの変換
        は関数 iconv() または 'charconvert' で指定された式による。

        'encoding' がマルチバイトエンコーディングであるかを知るに
        は、以下のコマンドが使える:
                if has("multi_byte_encoding")

        普通、'encoding' はユーザーのカレントロケールと同じである。Vimがユー
        ザーの環境設定を認識したならば、それが既定値になる。'encoding' の値が
        カレントロケールに設定されていなければ、入力されたテキストと表示される
        テキストを変換するために、'termencoding' が設定されていなければならな
        い。|encoding-table| を参照。

        このオプションを設定すると、必要に応じてフォントを設定できるように、
        autocommand のイベント |EncodingChanged| が発生する。

        オプションが設定されると、値は小文字に変換される。そのため、値を大文字
        で設定してもよい。アンダースコア(下線) '_' はハイフン '-' に変換される。
        エンコーディングが認識されると、値は標準の名前に変換される。例えば
        "Latin-1" は "latin1" に、"ISO_88592" は "iso-8859-2" に、"utf8" は
        "utf-8" になる。

        Note: "latin1" という値は、エンコーディングを判別できなかったときにも
        使われるので注意。これが正しいのは、編集するファイルが実際に latin1 エ
        ンコーディングのときのみである!実際の文字セットが latin1 でないときは、
        'fileencoding' と 'fileencodings' が空であるのを確認すること。変換が必
        要なときは、utf-8 を使うようにすること。

        値が "unicode", "ucs-2" または "ucs-4" であるとき、Vim内部では utf-8
        が使われている。このことはユーザーが編集中に注意を払うことはないが、
        |viminfo-file| については問題になる。またVimはターミナルも utf-8 を使
        うことを想定する。そのため、'encoding' を utf-8 でなく上記のいずれかの
        値に設定しても、'fileencoding' が空のときに編集するファイルのエンコー
        ディングにしか影響がない。

        'encoding' が Unicode の一種に設定され、'fileencodings' がまだ設定され
        ていなければ、'fileencodings' の既定値は変更される。

                        *'endofline'* *'eol'* *'noendofline'* *'noeol'*
'endofline' 'eol'       切替    (既定ではオン)
                        バッファについてローカル
                        {Vi にはない}
        ファイルを書き込むときに、このオプションがオフでオプション 'binary' が
        オンあるいはオプション 'fixeol' がオフに設定されている場合は、ファイル
        の最終行に <EOL> が書き込まれない。このオプションはファイルの編集を始
        める時に、ファイルが <EOL> を持っているかどうかによって自動的にオンま
        たはリセットされる。普通はユーザーがこのオプションを設定する必要はな
        い。
        'binary' がオフで 'fixeol' がオンのとき、このオプションの値はファイル
        書き込み時に使用されない。{訳注: 必ず最終行に <EOL> が書き込まれる。}
        'binary' がオンもしくは 'fixeol' がオフの時は最終行の <EOL> の状態を維
        持する為にこのオプションが使用される。これはファイルが書き込まれる際
        に、<EOL> の有無を元のファイルのままにするといったシチュエーションを想
        定している。しかし <EOL> の有無を現状から変えたい場合には、このオプ
        ションを変更することで実現できる。

                             *'equalalways'* *'ea'* *'noequalalways'* *'noea'*
'equalalways' 'ea'      切替    (既定ではオン)
                        グローバル
                        {Vi にはない}
        オンのときは、ウィンドウを分割したり閉じたりした後、全てのウィンドウが
        自動的に同じサイズになる。これはこのオプションがオフになった瞬間にも起
        こる。オフのときは、ウィンドウを分割するとカレントウィンドウのサイズだ
        けが減り、他のウィンドウに変化はない。ウィンドウを閉じると、
        ('splitbelow' と 'splitright' に従って) 閉じたウィンドウの隣のウィンド
        ウの行数が増す。
        水平に分割されたウィンドウと垂直に分割されたウィンドウが混在していると
        きは、サイズの最小値が計算され、いくつかのウィンドウは (余裕があれば)
        大きくなる。'eadirection' はサイズの変化する方向を指定する。
        'winfixheight''winfixwidth' を設定するとウィンドウの高さ・幅が変わる
        のを防ぐことができる。
        新規ウィンドウ作成時にウィンドウサイズが指定された場合、ウィンドウサイ
        ズは等しくならない(これは複雑だが、将来は実装されるかもしれない)。

                                                *'equalprg'* *'ep'*
'equalprg' 'ep'         文字列  (既定では "")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        コマンド "=" に使う外部プログラムを指定する。値が空のときは内部関数が
        整形に使われる (オプション 'lisp''cindent' または 'indentexpr')。
        Vim が内部フォーマットなしでコンパイルされているときは indent コマン
        ドが使われる。
        環境変数は展開される |:set_env|。値に空白や '\' を含める方法については
        |option-backslash| を参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                        *'errorbells'* *'eb'* *'noerrorbells'* *'noeb'*
'errorbells' 'eb'       切替    (既定ではオフ)
                        グローバル
        エラーメッセージに伴ってベル (ビープ音または画面フラッシュ) を発生させ
        る。このオプションはエラーメッセージにのみ適用され、メッセージのない多
        くのエラー (例えばノーマルモードで <ESC> を打ち込んだとき) については
        ベルは常に使用される。ベルをビープ音にしたり、画面フラッシュにしたり、
        無効にしたりするためには、オプション 'visualbell' を参照。ベルを鳴らす
        条件を微調整するには 'belloff' を参照。

                                                *'errorfile'* *'ef'*
'errorfile' 'ef'        文字列  (Amigaでの既定値: "AztecC.Err",
                                        他の既定値: "errors.err")
                        グローバル
                        {Vi にはない}
                        {Vimが |+quickfix| 機能付きでコンパイルされたときのみ
                        有効}
        QuickFixモードで使われるエラーファイルの名前 (|:cf| を参照)。
        コマンドライン引数 "-q" が指定されたときは、オプション 'errorfile' は
        それに続く値に設定される。|-q| を参照。
        コマンド ":make" には「使われない」。それについては 'makeef' を参照。
        環境変数は展開される |:set_env|。値に空白や '\' を含める方法については
        |option-backslash| を参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'errorformat'* *'efm'*
'errorformat' 'efm'     文字列  (既定値はとても長い)
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
                        {Vimが |+quickfix| 機能付きでコンパイルされたときのみ
                        有効}
        エラーファイルの内容の書式を、関数 scanf 風に指定する (|errorformat|
        を参照)。

                                     *'esckeys'* *'ek'* *'noesckeys'* *'noek'*
'esckeys' 'ek'          (Vimの既定値: オン, Viの既定値: オフ)
                        グローバル
                        {Vi にはない}
        オンのときは、<Esc> で始まるファンクションキーも挿入モードで認識される
        ようになる。オフのときは、<Esc> で始まるカーソルキーとファンクション
        キーは、挿入モードで使うことができない。こうすることの利点は、<Esc> を
        一回打ち込むだけですぐに認識され、1秒ほど待つ必要がないことだ。このオ
        プションをオフにしなくても、オプション 'timeoutlen' と 'ttimeoutlen'
        を変更してみるとよい。 Note 'esckeys' がオフのときでも、どのキーを
        マッピングすることもできるが、そのままではカーソルキーは使用できないこ
        とに注意。
        NOTE: このオプションは 'compatible' がオンのときはViの既定値に、オフの
        ときはVimの既定値に設定されるので注意。

                                                *'eventignore'* *'ei'*
'eventignore' 'ei'      文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+autocmd| 機能付きでコンパイルされたときのみ
                        有効}
        Autocommand のイベント名のうち、無視したいもののリスト。
        "all" が含まれていると全ての autocommand のイベントが無視され、
        autocommand は実行されなくなる。
        それ以外では、値はイベント名のコンマ区切りのリストである。例:
                :set ei=WinEnter,WinLeave

                                 *'expandtab'* *'et'* *'noexpandtab'* *'noet'*
'expandtab' 'et'        切替    (既定ではオフ)
                        バッファについてローカル
                        {Vi にはない}
        挿入モードで <Tab> を挿入するとき、代わりに適切な数の空白を使う。ま
        た、コマンド '>' や '<' によるインデントや、オプション 'autoindent' が
        オンのときのインデントでも空白を使う。'expandtab' がオンのときに本当の
        タブを挿入するには、CTRL-V<Tab> を使うこと。|:retab| と |ins-expandtab|
        も参照。
        This option is reset when the 'paste' option is set and restored when
        the 'paste' option is reset.
        NOTE: このオプションは、'compatible' がオンのときはオフになるので注意。

                                        *'exrc'* *'ex'* *'noexrc'* *'noex'*
'exrc' 'ex'             切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        カレントディレクトリ内のファイル .vimrc, .exrc や .gvimrc 等の読み込み
        を有効にする。このオプションをオンにするなら、オプション 'secure' もオ
        ンにするよう検討すること (|initialization| を参照)。ファイル .exrc,
        .vimrc や .gvimrc にローカルなものを用いると潜在的な安全保護の漏れを招
        くので、注意して使うこと!
        |.vimrc| と |gui-init| も参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                *'fileencoding'* *'fenc'* *E213*
'fileencoding' 'fenc'   文字列 (既定では "")
                        バッファについてローカル
                        {Vimが |+multi_byte| 機能付きでコンパイルされたときの
                        み有効}
                        {Vi にはない}
        カレントバッファのファイルの文字エンコーディングを設定する。

        'fileencoding' と 'encoding' が異なるとき、ファイルの書き出しの際に文
        字エンコーディングの変換が行われる。読み込みについては後述。
        'fileencoding' が空の場合、'encoding' と同じ値が使われる (ファイルの読
        み書きの際に変換をしない)。
        'encoding' と 'fileencoding' がともに Unicode エンコーディングであり、
        'fileencoding' が utf-8 でない場合にも変換が行われる。内部では Unicode
        は常に utf-8 で保持されているためである。
                警告: 文字エンコーディングを変換すると、情報が失われるおそれが
                ある!'encoding' が "utf-8" など Unicode エンコーディングだと、
                変換は大抵成功するし、逆変換をしても同じテキストになる。
                'encoding' が "utf-8" でないときは、失われる文字があるかもしれ
                ない!

        指定可能な値については 'encoding' を参照。それらに加え、変換ツールで変
        換可能なエンコーディングの値も設定できる。|mbyte-conversion|を参照。

        ファイルを読み込むときは、'fileencoding' は 'fileencodings' の値の中か
        ら設定される。あるエンコーディングのファイルを読み込むには
        'fileencoding' を設定してもだめで、引数 |++enc| を使う。1つの例外:
        'fileencodings' が空のときは 'fileencoding' の値が使われる。
        新規ファイルに対しては 'fileencoding' のグローバルな値が使われる。

        "8bit-" や "2byte-" を頭に付けてもここでは意味がなく、無視される。
        オプションが設定されると、値は小文字に変換される。そのため、値を大文字
        で設定してもよい。アンダースコア(下線) '_' はハイフン '-' に変換される。
        値が 'encoding' の値に含まれることが認識されると、値は標準の名前に変換
        される。例えば "ISO_88592" は "iso-8859-2" になる。

        ファイルの編集を始めた後にこのオプションを設定すると、'modified' がオ
        ンになる。なぜならそのファイルの中身は、書き込まれるときには違うものに
        なるからである。

        'fenc' をモードラインで設定した場合、設定はファイルが読み込まれた後で
        変更されるので注意すること。つまり設定された値はそのファイルを保存する
        ときになってから効果を発揮する。もし 'fenc' をモードラインで設定するな
        ら 'nomodified' も同時に設定すると ":q" での終了を妨げないのでいいかも
        しれない。

                                                        *'fe'*
        NOTEVim version 6.0 以前では、このオプションはVim全体の文字エンコー
        ディングを指定していたことに注意。これは誤りだった。そのためには代わり
        に 'encoding' を使うこと。古い省略形式の名前は 'fe' だが、これはもう使
        われていない。

                                        *'fileencodings'* *'fencs'*
'fileencodings' 'fencs' 文字列 (既定値: "ucs-bom", 
                                'encoding' の値がUnicodeに設定されたときは
                                "ucs-bom,utf-8,default,latin1") 
                        グローバル
                        {Vi にはない}
                        {Vimが |+multi_byte| 機能付きでコンパイルされたときの
                        み有効}
        値は、既存のファイルの編集を開始するときに考慮される文字エンコーディン
        グのリストである。ファイルが読み込まれると、Vimは指定されたうちの先頭
        の文字エンコーディングを使おうとする。そのときエラーが発見されると、値
        のリスト内で次に並んでいるエンコーディングが試される。あるエンコーディ
        ングでうまくいくとわかると、'fileencoding' がそれに設定される。すべて
        のエンコーディングが失敗すると 'fileencoding' は空文字列に設定され、
        'encoding' の値が使われることになる。
                警告: 文字エンコーディングを変換すると、情報が失われるおそれが
                ある!'encoding' が "utf-8" だと、変換は大抵成功するし、逆変換
                をしても同じテキストになる。'encoding' が "utf-8" でないときは、
                非ASCII文字が失われるかもしれない!変換できない文字をどう扱う
                かは引数|++bad|で指定することができる。
        空ファイルやASCII文字のみのファイルではほとんどのエンコーディングでう
        まくいくので、'fileencodings' の最初の値が使われる("ucs-bom" を除く。
        これはBOMがなければいけない)。他のエンコーディングがよければ自動コマン
        ドイベントBufReadPostを使って、そのエンコーディングが使われるかどうか
        を判定すること。例:
                au BufReadPost * if search('\S', 'w') == 0 |
                        \ set fenc=iso-2022-jp | endif
        これは、ファイルが空白文字しか含まないとき 'fileencoding' を
        "iso-2022-jp" に設定する。
        引数|++enc|を使ったときは 'fileencodings' の値は考慮されない。
        新規ファイルには 'fileencodings' は適用されないことに注意。代わりに
        'fileencoding' のグローバルな値が適用される。これを設定するには:
                :setglobal fenc=iso-8859-2
        とする。これは存在しないファイルが空のファイルとは異なるエンコーディン
        グになることを意味する。
        ファイル先頭にUnicodeの BOM (Byte Order Mark: バイト順マーク) があるか
        どうか調べるには、"ucs-bom" という特別な値が使える。この値を "utf-8"
        等のUnicode系の値よりも後に指定すると正しく機能しない。
        8ビットエンコーディング("latin1" など)の項目はリストの最後に書かなけれ
        ばならない。そうしないとVimがエラーを検出できず、常にそのエンコーディ
        ングが適用されてしまうためである。
        特別な値 "default" を使うと環境からのエンコーディングが適用される。こ
        れが 'encoding' の既定の値である。これは 'encoding' が "utf-8" に設定
        され、環境がロシア語などlatin1でないエンコーディングを使っているときに
        便利である。
        'encoding' が "utf-8" のとき、ファイルが不正なバイト列を含んでいるとそ
        のファイルはUTF-8と認識されない。コマンド|8g8|を使うと不正なバイト列を
        見つけることができる。
        間違った値:                     どこが間違っているか:
                latin1,utf-8            常に "latin1" が使われてしまう
                utf-8,ucs-bom,latin1    utf-8のファイルでBOMが認識されない
                cp1250,latin1           常に "cp1250" が使われてしまう
        'fileencodings' が空のときには 'fileencoding' は変更されない。
        設定可能な値については 'encoding' を参照すること。
        このオプションを設定しても次にファイルを読み込むときまでは効果がない。

                                        *'fileformat'* *'ff'*
'fileformat' 'ff'       文字列 (MS-DOS, MS-Windows, OS/2 での既定値: "dos",
                                Unix での既定値: "unix",
                                Macintosh での既定値: "mac")
                        バッファについてローカル
                        {Vi にはない}
        バッファにファイルを読み込んだり、バッファからファイルに書き込んだりす
        るときに使われる <EOL> を、カレントバッファについて設定する。
            dos     <CR> <NL>
            unix    <NL>
            mac     <CR>
        "dos" が使われたとき、ファイル末尾の CTRL-Z は無視される。
        |file-formats| と |file-read| を参照。
        ファイルの文字エンコーディングについてはオプション 'fileencoding' を参
        照。
        'binary' がオンのときは、'fileformat' の実際の値は無視され、ファイルの
        読み書きは値が "unix" に設定されたときのように行われる。
        ファイルの編集を始めたときに 'fileformats' が空でなく、'binary' がオフ
        ならば、'fileformat' は自動的に設定される。
        ファイルの編集を始めた後にこのオプションを設定すると、'modified' がオ
        ンになる。なぜならそのファイルの中身は、書き込まれるときには違うものに
        なるからである。
        このオプションは、'modifiable' がオフのときは変更できない。
        後方互換性のために: このオプションが "dos" になると 'textmode' がオン
        になり、それ以外では 'textmode' はオフになる。

                                        *'fileformats'* *'ffs'*
'fileformats' 'ffs'     文字列 (既定値:
                                Vim+Vi  MS-DOS, MS-Windows OS/2: "dos,unix",
                                Vim     Unix: "unix,dos",
                                Vim     Mac: "mac,unix,dos",
                                Vi      Cygwin: "unix,dos",
                                Vi      その他: "")
                        グローバル
                        {Vi にはない}
        想定される改行 (<EOL>) の種類を指定する。これは新しいバッファの編集を
        始めたときと、ファイルを既存のバッファに読み込んだときに使われる。
        - 値が空のときは、オプション 'fileformat' で指定された種類の改行が常に
          使われる。自動的な設定は行われない。
        - 1種類の名前が設定されているときは、新しいバッファが開かれるときには
          常にその種類の改行が使われる。そのバッファでは、'fileformat' はこの
          オプションに従って設定される。'fileformats' は、ファイルを既存のバッ
          ファに読み込むときに使われる。その際、そのバッファで 'fileformat' が
          何に設定されていても関係ない。
        - 複数の名前がコンマで区切られて設定されているときは、ファイルを読み込
          むときに <EOL> の判別が自動的に行われる。Vimはファイルの編集を始める
          ときに、<EOL> を以下のように調べる。
          1. 全ての行が <CR><NL> で終わっており、かつ 'fileformats' が "dos"
             を含むなら、'fileformat' は "dos" になる。
          2. 改行に <NL> が使われていて、かつ 'fileformats' が "unix" を含むな
             ら、'fileformat' は "unix" になる。 Note <NL> があって、その前に
             <CR> がないと、"dos" より "unix" が優先的に使われることに注意。
          3. 'fileformat' がまだ設定されておらず、ファイル内に1つ <CR> が見つ
             かり(訳注:後ろに<NL>が続かない)、'fileformats' に "mac" が含まれ
             ているときは、'fileformat' は "mac" に設定される。
             つまり "mac" が選択されるのは:
              "unix" が含まれていないか <NL> がファイルに無い、そして
              "dos" が含まれていないか <CR><NL> がファイルに無いときである。
             ただし: "unix" が選択され、最初の <NL> よりも前に <CR> があり、
             最初の数行において <CR> の数が <NL> の数よりも多いときは、"mac"
             に設定される。
          4. それでも 'fileformat' を決定できないときは、'fileformats' の中で
             最初に指定されている値が使われる。
          既存のバッファにファイルを読み込むときにも同じ経過をたどる。しかし
          'fileformat' は読み込まれるファイルについては適切に設定されるが、
          そのバッファでの値は変更されない。
        'binary' がオンのときは、'fileformats' は使われない。

        Note: Vim が空のバッファで起動されたときはこのオプションは使用されな
        い。変更したい場合は .vimrc で 'fileformat' を設定すること。

        DOS形式の <EOL> (<CR><NL>) のシステムでは、コマンド ":source" で読み込
        まれるファイルと、ファイル vimrc については、<EOL> の判別が自動的に行
        われる。
        - 'fileformats' が空のときは、自動設定は行われない。常にDOS形式の改行
          が使われる。
        - 'fileformats' の値に1種類以上の名前が設定されているときは、自動設定
          が行われる。これはファイル内の1個目の <NL> に関して行われる。その前
          に <CR> があるときはDOS形式が使われ、そうでなければUnix形式が使われ
          る。
        また |file-formats| も参照。
        後方互換性のために: このオプションに、空の文字列か1種類だけの名前が設
        定されたとき (コンマが含まれていないとき) には、'textauto' はオフにな
        る。そうでなければ 'textauto' はオンになる。
        NOTE: このオプションは、'compatible' がオンのときはViの既定値に、オフ
        のときはVimの既定値になるので注意。

                *'fileignorecase'* *'fic'* *'nofileignorecase'* *'nofic'*
'fileignorecase' 'fic'  切替    (既定値: ファイル名の大文字と小文字の違いを無
                                視するシステムではオン)
                        グローバル
                        {Vi にはない}
        このオプションが設定すると、ファイル名とディレクトリ名の大文字と小文字
        の違いが無視される。
        補完で大文字と小文字の違いを無視したい場合は 'wildignorecase' を参照。

                                        *'filetype'* *'ft'*
'filetype' 'ft'         文字列 (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+autocmd| 機能付きでコンパイルされたときのみ
                        有効}
        このオプションが変更されると autocommand のイベント FileType が発生し、
        このオプションの値にマッチする全ての autocommand が実行される。つまり、
        {訳注: 普通 autocommand が実行されるのはファイル名がマッチしたときだ
        が} 'filetype' の値がファイル名の代わりに使われる。
        しかしこのオプションはカレントファイルのファイルタイプを常に反映してい
        るわけではない。普通このオプションは、ファイルタイプが判別されたときに
        設定される。判別を有効にするにはコマンド ":filetype on" を使うこと
        |:filetype|
        ファイルタイプが自動的に認識されないファイルのモードラインで、このオプ
        ションを異なった値に設定すると非常に便利である。例えば、IDL ファイルの
        中でこうする。
                /* vim: set filetype=idl : */
        |FileType| |filetypes|
        値の中にドットが現れると、それが2つのファイルタイプ名の区切りとなる。
        例:
                /* vim: set filetype=c.doxygen : */
        こうすると最初にファイルタイプ "c" を使い、次にファイルタイプ "doxygen"
        を使う。これはファイルタイププラグインと構文ファイル両方に適用される。
        2個以上のドットが現れてもよい。
        このオプションは 'cpoptions' のフラグ 's' や 'S' に関わらず、別のバッ
        ファにはコピーされない。
        通常のファイル名文字だけが使える。"/\*?[|<>" は不正である。

                                                *'fillchars'* *'fcs'*
'fillchars' 'fcs'       文字列  (既定では "vert:|,fold:-")
                        グローバル
                        {Vi にはない}
                        {Vimが |+windows| 機能と |+folding| 機能付きでコンパ
                        イルされたときのみ有効}
        ステータス行と垂直分割の区切りを埋める文字を設定する。値にはキーワード
        をコンマで区切って指定する。

          キーワード    既定値          変更の対象
          stl:文字      ' ' か '^'      カレントウィンドウのステータス行
          stlnc:文字    ' ' か '-'      非カレントウィンドウのステータス行
          vert:文字     '|'             垂直分割の区切り |:vsplit|
          fold:文字     '-'             'foldtext' での空白部分
          diff:文字     '-'             'diff' での削除された行

        指定されなかったキーワードについては、既定値が使われる。"stl" と
        "stlnc" には、強調表示が行われているときは空白が、行われていないときは
        '^' と '-' がそれぞれ使われる。

        例:
                :set fillchars=stl:^,stlnc:-,vert:\|,fold:-,diff:-
        これは既定値と似ているが、強調表示が行われていてもこれらの文字が使われ
        る点が異なっている。

        "stl" と "stlnc" に対しては1バイトの値しか使用できない。

        強調表示が行われるものおよびその属するグループ:
          キーワード    強調表示グループ
          stl:文字      StatusLine              |hl-StatusLine|
          stlnc:文字    StatusLineNC            |hl-StatusLineNC|
          vert:文字     VertSplit               |hl-VertSplit|
          fold:文字     Folded                  |hl-Folded|
          diff:文字     DiffDelete              |hl-DiffDelete|

                *'fixendofline'* *'fixeol'* *'nofixendofline'* *'nofixeol'*
'fixendofline' 'fixeol' 切替    (既定ではオン)
                        バッファについてローカル
                        {Vi にはない}
        このオプションがオンの時にファイルを書き込むとファイル末尾に <EOL> 
        が無い場合に復元される。もしオリジナルのファイルのまま維持したいのであ
        ればこのオプションをオフに切り替える。
        'binary' オプションが設定されているときはこのオプションは意味を成さな
        い。
        オプション 'endofline' を参照。

                                        *'fkmap'* *'fk'* *'nofkmap'* *'nofk'*
'fkmap' 'fk'            切替    (既定ではオフ)                  *E198*
                        グローバル
                        {Vi にはない}
                        {Vimが |+rightleft| 機能付きでコンパイルされたときの
                        み有効}
        オンのとき、キーボードはペルシア文字セットにマップされる。
        普通、オプション 'allowrevins' をオンにしておき、挿入モードでこのオプ
        ションをコマンド CTRL-_ で切り替えられるようにする |i_CTRL-_|
        |farsi.txt| を参照。

                                                *'foldclose'* *'fcl'*
'foldclose' 'fcl'       文字列 (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        "all" に設定すると、カーソルが折り畳み区間の外に出たとき、その区間の折
        り畳みの深さがオプション 'foldlevel' より大きければ折り畳みを行う。折
        り畳み区間の外に出るとき、自動的に折り畳みを行いたいときに便利である。

                                                *'foldcolumn'* *'fdc'*
'foldcolumn' 'fdc'      数値 (既定では 0)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        非0 に設定されると、ウィンドウの端の指定された幅の列が折り畳みを (開い
        ていても閉じていても) 表示する。最大値は 12 である。
        |folding| を参照。

                        *'foldenable'* *'fen'* *'nofoldenable'* *'nofen'*
'foldenable' 'fen'      切替 (既定ではオン)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        オフのときは、全ての折り畳みが開かれる。このオプションは、全てのテキス
        トを折り畳みなしで見る状態とテキストの一部を折り畳んで見る (手動で開か
        れたり閉じられた折り畳みも含む) 状態を素早く切り替えるために使われる。
        このオプションはコマンド |zi| で切り替えることができる。オプション
        'foldenable' がオフのときは、'foldcolumn' は空白のままである。
        このオプションは、新しい折り畳みを作ったり、折り畳みを閉じたりするコマ
        ンドによってオンにされる。
        |folding| を参照。

                                                *'foldexpr'* *'fde'*
'foldexpr' 'fde'        文字列 (既定では "0")
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能と |+eval| 機能付きでコンパイル
                        されたときのみ有効}
        オプション 'foldmethod' が "expr" のときに使われる expression。これは
        折り畳みの深さを求めるために各行について評価される。|fold-expr| を参照。

        このオプションがモードラインで設定されたときは、式はサンドボックス
        (|sandbox|) の中で評価される。|sandbox-option| を参照。
        'diff' がオンのとき、このオプションをモードライン |modeline| で設定す
        ることはできない。

        'foldexpr' を評価している最中にテキストを変更したり他のウィンドウへジャ
        ンプすることは許されていない。|textlock|

                                                *'foldignore'* *'fdi'*
'foldignore' 'fdi'      文字列 (既定では "#")
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        オプション 'foldmethod' が "indent" のときのみ使われる。'foldignore'
        で指定した文字で始まる行の折り畳みの深さは、上下の行から決められる
        {訳注: その行のインデントが上下と違っていても、一緒に折り畳めるように
        するため}。空白を無視した上で指定された文字の存在を調べる。
        既定値の "#" はC言語プログラムについてはうまく動作する。|fold-indent|
        を参照。

                                                *'foldlevel'* *'fdl'*
'foldlevel' 'fdl'       数値 (既定では 0)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        折り畳みの深さを設定する。指定した数値よりレベルの深い折り畳み区間は閉
        じられる。このオプションを 0 に設定すると、全ての折り畳みが閉じられる。
        大きな数値を設定すると、それだけ閉じられる折り畳みの数は減る。
        このオプションはコマンド |zm||zM| や |zR| によって設定される。
        |fold-foldlevel| を参照。

                                                *'foldlevelstart'* *'fdls'*
'foldlevelstart' 'fdls' 数値 (既定では -1)
                        グローバル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        ウィンドウで新しいバッファの編集を始めるときのオプション 'foldlevel'
        を設定する。編集開始時に常に全ての折り畳みを閉じておいたり (そのために
        は 0 にする)、いくつかを閉じておいたり (1 にする)、全て開いておいたり
        (99にする) するときに便利である。
        これによる設定はモードラインの読み込み前に行われるので、モードライン内
        での設定はこのオプションによる設定より優先される。ファイルの編集を
        |diff-mode| で開始してもやはりこのオプションは無視され、全ての折り畳み
        が閉じられる。
        またこれによる設定はイベント BufReadPre による autocommand よりも前に
        行われるので、特定のファイルについて autocommand で 'foldlevel' を上書
        きできる。
        値が負のときには、このオプションは使われない。

                                                *'foldmarker'* *'fmr'* *E536*
'foldmarker' 'fmr'      文字列 (既定では "{{{,}}}")
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        オプション 'foldmethod' が "marker" のときに使われる、折り畳み開始/終
        了を示すマーカー。開始マーカーと終了マーカーを分けるために、間に1個の
        コンマがなければいけない。マーカーはただの文字列である (正規表現では動
        作が遅すぎるだろう)。
        |fold-marker| を参照。

                                                *'foldmethod'* *'fdm'*
'foldmethod' 'fdm'      文字列 (既定では "manual")
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        カレントウィンドウに適用される折り畳みの種類を設定する。指定可能な値は
        以下の通り。
        |fold-manual|   manual      折り畳みは手動で設定する。
        |fold-indent|   indent      等しいインデントの行で折り畳みを作る。
        |fold-expr|     expr        オプション 'foldexpr' で深さを設定する。
        |fold-marker|   marker      マーカーで折り畳みを指定する。
        |fold-syntax|   syntax      構文強調表示のキーワードを使って指定する。
        |fold-diff|     diff        変更されていないテキストを折り畳む。

                                                *'foldminlines'* *'fml'*
'foldminlines' 'fml'    数値 (既定では 1)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        画面上の行数を設定する。設定された行数より大きな折り畳みだけが閉じた折
        り畳みとして表示される。手動で閉じられた折り畳みにも適用される。初期設
        定の 1 では、折り畳みが 2 行以上の場合のみ閉じることができる。ゼロに設
        定することで 1 行だけの折り畳みを閉じることができる。
        Note: このオプションは折り畳みの表示方法に関してのみ効果を持つ。例えば
        "zc" で折り畳みを閉じて、その折り畳みが 'foldminlines' より小さいため
        に開いた状態で表示されているとき、続けて "zc" を入力するとその外側の折
        り畳みを閉じることになる。

                                                *'foldnestmax'* *'fdn'*
'foldnestmax' 'fdn'     数値 (既定では 20)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        折り畳みの方法に "indent" や "syntax" が選ばれたときの、折り畳みの入れ
        子の深さの最大値を設定する。これにより折り畳みが膨大に作られるのを防ぐ
        ことができる。Vim内部の制限が 20 になっているので、20 以上を設定しても
        無効である。

                                                *'foldopen'* *'fdo'*
'foldopen' 'fdo'        文字列 (既定では "block,hor,mark,percent,quickfix,
                                                             search,tag,undo")
                        グローバル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        カーソルがコマンドによって、閉じている折り畳みの中に移動したとき、どの
        種類のコマンドだったら折り畳みが開かれるかを指定する。値はコンマ区切り
        のキーワードである。
        NOTE: コマンドがマッピングの一部として実行されたときは、このオプション
        は使われない。同じ効果を得るには、マッピングにコマンド |zv| を加えるこ
        と。
        (理由: 折り畳みを開くかどうかはマッピング自身でコントロールできたほう
        がいい)

                キーワード      適用されるコマンド
                all             全て
                block           "(", "{", "[[", "[{" 等
                hor             水平移動: "l", "w", "fx" 等
                insert          挿入モードのコマンド全て
                jump            長いジャンプ: "G", "gg" 等
                mark            マークへのジャンプ: "'m", CTRL-O 等
                percent         "%"
                quickfix        ":cn", ":crew", ":make" 等
                search          パターン検索: "/", "n", "*", "gd" 等
                                (":" コマンドでの検索パターンには適用されない)
                                |[s||]s|にも適用される。
                tag             タグへのジャンプ: ":ta", CTRL-T 等
                undo            アンドゥ/リドゥ: "u" と CTRL-R
        移動コマンドがオペレータとして使われたときは (例えば "dl" や "y%")、こ
        のオプションは使われない。つまりオペレータは閉じられている折り畳み全体
        を含む効果を持つということだ。
        Note 垂直方向の移動がここに含まれていないことに注意。それは垂直移動を
        含めると、閉じられた折り畳みの上への移動が困難になるからだ。挿入モード
        でテキストが挿入されるときには、カーソルが中に入っていった折り畳みは必
        ず開かれる。
        折り畳みを閉じるには、|zx| でオプション 'foldlevel' を再適用するか、
        'foldclose' を "all" にすればよい。

                                                *'foldtext'* *'fdt'*
'foldtext' 'fdt'        文字列 (既定では "foldtext()")
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+folding| 機能付きでコンパイルされたときのみ
                        有効}
        閉じられた折り畳みのところに表示されるテキストを生成する expression を
        指定する。|fold-foldtext| を参照。

        このオプションがモードラインで設定されたときは、式はサンドボックス
        (|sandbox|) の中で評価される。|sandbox-option| を参照。

        'foldexpr' を評価している最中にテキストを変更したり他のウィンドウへジャ
        ンプすることは許されていない。|textlock|

                                        *'formatoptions'* *'fo'*
'formatoptions' 'fo'    文字列 (Vimの既定値: "tcq", Viの既定値: "vt")
                        バッファについてローカル
                        {Vi にはない}
        自動整形の実行方法を決めるフラグの列である。|fo-table| を参照。オプショ
        ン 'paste' がオンのときは、('formatoptions' が空のときのように) 整形は
        行われない。読みやすくするために、フラグの間にコンマを挟んでもよい。
        将来追加されるフラグによる問題を避けるため、コマンド ":set" では "+="
        と "-=" を使うこと |add-option-flags|
        NOTE: このオプションは、'compatible' がオンのときはViの既定値に、オフ
        のときはVimの既定値になるので注意。

                                        *'formatlistpat'* *'flp'*
'formatlistpat' 'flp'   文字列 (既定では "^\s*\d\+[\]:.)}\t ]\s*")
                        バッファについてローカル
                        {Vi にはない}
        リストのヘッダーを認識するのに使われるパターン。'formatoptions' のフラ
        グ "n" に適用される。
        このパターンにマッチする部分が、それ以下の行のインデントとなる。
        |/\ze|を使うとマッチの終わりをマークしつつ、さらに文字のチェックを続け
        ることができる。
        {訳注: 例えば、このオプションが既定の "^\s*\d\+[\]:.)}\t ]\s*" のとき、
        マッチする部分は
            1.    the first item
                  wraps
        ^^^^^^^^^^
         の部分である。既定の値に\zeをはさんで "^\s*\d\+[\]:.)}\t ]\ze\s*" と
         すると、リストのヘッダーと認識されるパターンはまったく変わらないが、
         次行のインデントが\ze以前の部分に等しくなる:
            1.    the first item
              wraps
        ^^^^^^
        }
        パターンの後ろに文字がなければならない。行全体がマッチすると、その行は
        マッチがないのと同様に扱われてしまう。
        既定では数字(後ろに句読点や空白があってもよい)を認識する。

                                                *'formatprg'* *'fp'*
'formatprg' 'fp'        文字列 (既定では "")
                        グローバル
                        {Vi にはない}
        選択された行をコマンド |gq| で整形するのに使われる外部プログラムの名前
        を指定する。使われるプログラムは標準入力からテキストを読み込み、整形さ
        れたテキストを標準出力に出力しなければいけない。Unixのプログラム "fmt"
        が代表である。
        オプション 'formatexpr' が空でないならば、代わりにその値が使われる。こ
        のオプションが空ならば、内部の整形関数が使われる|C-indenting|
        環境変数は展開される |:set_env|。値に空白や '\' を含める方法については、
        |option-backslash| を参照。
        このオプションは |modeline| や |sandbox| の中ではセキュリティ上の理由
        により設定できない。

                                                *'formatexpr'* *'fex'*
'formatexpr' 'fex'      文字列 (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが|+eval|機能つきでコンパイルされたときのみ有効}
        オペレータ |gq| や自動整形 ('formatoptions' 参照) で行の範囲を整形する
        ために評価される式。このオプションが空だと 'formatprg' が使われる。

        |v:lnum|  変数は整形される最初の行を保持する。
        |v:count| 変数は整形される行数を保持する。
        |v:char|  変数は挿入されようとしている文字を保持する (式が自動整形のた
                  めに評価されたときに使用される)。空文字の場合もある。この文
                  字をバッファに挿入しないでください。

        例:
                :set formatexpr=mylang#Format()
        これはautoload/mylang.vim中の関数mylang#Format()を呼ぶ。|autoload|

        また、'textwidth' がオンになっていて、テキストを追加しているときにその
        値を超えたときにもこの式が評価される。これは内部整形が使われるときと同
        じ条件で起こる。この式を評価した後のカーソル位置がテキストに対して元の
        位置と同じになるようにすること。この式を評価中は、関数|mode()|は "i"
        または "R" を返す。

        この関数が非ゼロを返すと Vim 内部の文章整形処理が使われる。

        このオプションがモードラインで設定されたときは、式はサンドボックス
        (|sandbox|) の中で評価される。|sandbox-option| を参照。その場合、サン
        ドボックスの中ではバッファテキストの変更は許可されていないので、このオ
        プションは機能しない。

                                        *'fsync'* *'fs'* *'nofsync'* *'nofs'*
'fsync' 'fs'            切替    (既定ではオン)
                        グローバル
                        {Vi にはない}
        これがオンになっていると、ファイル書き込みの後にライブラリ関数fsync()
        が呼ばれる。するとファイルがディスクにフラッシュされ、メタデータのみを
        ジャーナルするファイルシステム上でも安全に書き込みが行われるようになる。
        ラップトップモードで動作するLinuxシステム上で強制的にハードドライブを
        回転させることになるが、これはある種の状況では望ましくない。これをオフ
        にするとクラッシュ時にデータを失う可能性を高めることに注意。fsync()の
        実装がないシステム上ではこの変数は常にオフである。
        スワップファイルに対してfsync()をコントロールするには 'swapsync' を参
        照。

                                   *'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
'gdefault' 'gd'         切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        オンのときは、コマンド ":substitute" のフラグ 'g' がオンであることが既
        定になる。つまり行内のマッチする文字列が、1番目のものだけでなく、全て
        置換される。":substitute" に 'g' が指定されると、逆に1番目のみを置換す
        るようになる。|complex-change| を参照。

                コマンド    'gdefault' がオン   'gdefault' がオフ
                :s///         全て置換            最初だけ置換
                :s///g        最初だけ置換        全て置換
                :s///gg       全て置換            最初だけ置換

        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                                *'grepformat'* *'gfm'*
'grepformat' 'gfm'      文字列  (既定では "%f:%l:%m,%f:%l%m,%f  %l%m")
                        グローバル
                        {Vi にはない}
        コマンド ":grep" の出力を認識するための書式。
        オプション 'errorformat' と同じく、関数 scanf 風の書式指定を使う。
        |errorformat| を参照。

                                                *'grepprg'* *'gp'*
'grepprg' 'gp'          文字列  (既定では "grep -n ",
                                 Unixでは: "grep -n $* /dev/null",
                                 Win32では: "findstr /n" か "grep -n",
                                 VMSでは: "SEARCH/NUMBERS ")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        コマンド ":grep" で使われるプログラム。このオプションは文字 '%' や '#'
        を含んでもよい。これらはコマンドラインで使われるときのように展開される。
        引数の挿入される場所を指定するには "$*" が使える。環境変数は展開される
        |:set_env|。値に空白や '\' を含める方法については、|option-backslash|
        を参照。
        ユーザーの "grep" が引数 "-H" を認識するなら、":grep" が1個のファイルに
        対しても適切に働くように、次のようにすること。
                :set grepprg=grep\ -nH
        特別な値: 'grepprg' が "internal" に設定されていると、|:grep| は
        |:vimgrep|と同様に、|:lgrep||:lvimgrep|と同様に、|:grepadd| は
        |:vimgrepadd|と同様に、|:lgrepadd||:lvimgrepadd|と同様に働くようにな
        る。
        |:make_makeprg| も参照。そこの記述のほとんどが 'grepprg' にも適用でき
        るからだ。
        Win32では、"findstr.exe" が見つかるならば既定値は "findstr /n" である。
        見つからなければ "grep -n" である。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                        *'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
'guicursor' 'gcr'       文字列  (既定では "n-v-c:block-Cursor/lCursor,
                                        ve:ver35-Cursor,
                                        o:hor50-Cursor,
                                        i-ci:ver25-Cursor/lCursor,
                                        r-cr:hor20-Cursor/lCursor,
                                        sm:block-Cursor
                                        -blinkwait175-blinkoff150-blinkon175")
                                MS-DOSとWin32コンソールでは:
                                        "n-v-c:block,o:hor50,i-ci:hor15,
                                        r-cr:hor30,sm:block") 
                        グローバル
                        {Vi にはない}
                        {VimのGUI版か、MS-DOSまたはWin32のコンソール版でのみ
                        有効}
        Vimのそれぞれのモード内でのカーソルの外観を指定する。GUI上では完全に機
        能する。MSDOSやWin32コンソールではカーソルの高さだけを変更する。これは
        ブロックカーソルを指定する、または垂直・水平方向のパーセンテージを指定
        することで行う。
        コンソール上ではエスケープシーケンス 't_SI''t_SR' 及び 't_EI' が使わ
        れる。

        値はコンマ区切りのキーワードのリストである。リストは部門別に分かれてお
        り、各部門はモードリストと引数リストからなる。
                モードリスト:引数リスト,モードリスト:引数リスト,..
        モードリストは、モードを表す以下の記号のダッシュ区切りのリストである。
                n       ノーマルモード
                v       ビジュアルモード
                ve      'selection' が "exclusive" のときの ビジュアルモード
                        (指定されなければ 'v' と同じ設定)
                o       Operator-pendingモード
                i       挿入モード
                r       置換モード
                c       コマンドラインノーマル (追加) モード
                ci      コマンドライン挿入モード
                cr      コマンドライン置換モード
                sm      挿入モードでの対応括弧表示時
                a       全てのモード
        引数リストは、以下の引数のダッシュ区切りのリストである。
                hor{N}  文字高の {N}% の高さの水平バーカーソル
                ver{N}  文字幅の {N}% の幅の垂直バーカーソル
                block   文字全体を覆う大きさのブロックカーソル
                        [上の3個のうちの1個だけを指定できる]
                blinkwait{N}                            *cursor-blinking*
                blinkon{N}
                blinkoff{N}
                        カーソルの点滅について指定する。blinkwait にはカーソル
                        が点滅を始めるまでの遅延時間を、blinkon にはカーソルが
                        表示される時間を、blinkoff にはカーソルが消えている時
                        間を指定する。時間の単位はミリ秒である。どれかに 0 を
                        指定すると、カーソルは点滅しない。既定では
                        "blinkwait700-blinkon400-blinkoff250" となっている。こ
                        れらは指定されなかった項目に適用される。つまり、既定で
                        は点滅するように設定されているということだ。点滅しない
                        ようにするには "blinkon0" を指定すればよい。カーソルが
                        点滅するのはVimが入力を待っている間で、コマンドを実行
                        している間は点滅しない。
                        カーソルを xterm の中で点滅させるには、|xterm-blink|
                        を参照。
                {group-name}
                        カーソルの色とフォントを設定する、強調表示のグループ名
                        を指定する。
                {group-name}/{group-name}
                        強調表示グループ名を2個指定する。1個目は言語マッピング
                        がないときに使われ、2個目は言語マッピングがあるときに
                        使われる。|language-mapping|

        値の一部の例:
           n-c-v:block-nCursor  ノーマルモード、コマンドラインモードとビジュア
                                ルモードで、強調表示グループ "nCursor" で指定
                                された色のブロックカーソルを使う。
           i-ci:ver30-iCursor-blinkwait300-blinkon200-blinkoff150
                                挿入モードとコマンドライン挿入モードで、強調表
                                示グループ "iCursor" で指定された色の、文字高
                                の30%の高さの垂直バーカーソルを使う。点滅は少
                                し速くする。

        モード 'a' は他とは異なっていて、与えられた引数リストを全てのモードに
        対して設定し、指定されなかった引数は変更しない。これは全てのモードに共
        通の設定をするためにある。例えば、点滅を止めるには "a:blinkon0" とする。

        カーソル強調表示の例:
                :highlight Cursor gui=reverse guifg=NONE guibg=NONE
                :highlight Cursor gui=NONE guifg=bg guibg=fg

        MS-DOSとWin32のコンソール版では、カーソルの高さのみを指定できる。ブロッ
        クカーソルを指定するか、垂直/水平バーカーソルの高さ/幅のパーセンテー
        ジを指定する。

                                        *'guifont'* *'gfn'*
                                                   *E235* *E596*
'guifont' 'gfn'         文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {VimのGUI版でのみ有効}
        VimのGUI版で使われるフォントのリストである。値の最も単純なものは、ただ
        1個のフォント名である。フォントが見つからないとき、エラーメッセージが
        表示される。別のフォント名を試すには、フォント名のコンマ区切りのリスト
        を指定できる。その中の最初の使用可能なフォントが使われる。
        オプション 'guifontset' が空でないとき、'guifont' は使われない。

        'guifontset' がサポートされているシステム上(X11)で、'guifontset' が空
        でないならば 'guifont' が使われる。

        コンマの後の空白は無視される。フォント名の中にコンマを指定するには、コ
        ンマの前に '\' を置くこと。さらにオプションの値の中で空白や '\' を使う
        には、それらの前に余分に '\' を置かなければならない。
        |option-backslash| も参照。例えば
                :set guifont=Screen15,\ 7x13,font\\,with\\,commas
                {訳注: 結果は "Screen15, 7x13,font\,with\,commas"}
        とすると、まずVimはフォント "Screen15" を使おうとし、だめなら代わりに
        "7x13" を、そして "font,with,commas" を使おうとする。

        フォントをどれも読み込めなかったら現在の設定のままになる。空のフォント
        リストが与えられると、他のリソース設定を試してみて (X では Vim.font リ
        ソースが使われる)、それがだめなら、必ず存在するはずの組み込みの既定
        フォントを試す (X の場合は "7x13")。指定されるフォント名は "normal" な
        {訳注: 太字や斜字体でない} フォントでなければならない。Vim は関連する
        太字体や斜字体を見つけようとする。

        Win32, GTK, Motif, Mac OS, Photon では:
            :set guifont=*
        これはフォント選択ダイアログを開く。そこで望みのフォントを選択すること
        ができる。

        フォント名は使っているGUIに依存する。様々なシステムに対して 'guifont'
        を設定する方法については|setting-guifont|を参照。

        GTK+ 2ではフォント名は次のようになる:
            :set guifont=Andale\ Mono\ 11
        これだけである。もうXLFDは受け付けない。中国語の場合は以下の記述でうま
        くいくと報告されている:
            if has("gui_gtk2")
              set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12
              set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12
            endif

        Mac OSXでは次のようにする:
            :set guifont=Monaco:h10
        'macatsui' も参照。表示上の問題を解決する助けになる。
                                                                *E236*
        Note フォントは等幅でなければならない (全ての文字が同じ幅でなければな
        らない)。例外はGTK 2である。どんなフォントでも受け付けるが、等幅フォン
        トがもっともきれいに見える。

        X11でフォントのプレビューをするには、プログラム "xfontsel" が使えるか
        もしれない。"xlsfonts" は、使用可能な全てのフォントのリストを与える。

        Win32のGUIについて                              *E244* *E245*
        - フォント名には以下のオプションを指定できる。
                hXX - 文字高が XX (単位はポイント。浮動小数点数でもよい)
                wXX - 文字幅が XX (単位はポイント。浮動小数点数でもよい)
                b   - ボールド (太字体)
                i   - イタリック (斜字体)
                u   - 下線付き
                s   - 打ち消し (文字を横切る線付き)
                cXX - 文字セットが XX。使用可能なものは以下の通り: ANSI,
                      ARABIC, BALTIC, CHINESEBIG5, DEFAULT, EASTEUROPE,
                      GB2312, GREEK, HANGEUL, HEBREW, JOHAB, MAC, OEM,
                      RUSSIAN, SHIFTJIS, SYMBOL, THAI, TURKISH,
                      VIETNAMESE ANSI, BALTIC
                      通常は "cDEFAULT" を使うとよいだろう。

          オプションの区切りには ':' を使うこと。
        - 空白の代わりに '_' が使えるので、空白を '\' でエスケープする必要はな
          い。
        - 例:
            :set guifont=courier_new:h12:w5:b:cRUSSIAN
            :set guifont=Andale_Mono:h7.5:w4.5
        |font-sizes| も参照。

                                        *'guifontset'* *'gfs'*
                                        *E250* *E252* *E234* *E597* *E598*
'guifontset' 'gfs'      文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {VimのGUI版で、|+xfontset| 機能付きでコンパイルされた
                        ときのみ有効}
                        {GTK+ 2 GUIでは利用できない}
        このオプションには2種類 (またはそれ以上) のフォントを指定する。値が空
        のときは無視される。 1種類目は普通の英語に使われるもので、2種類目はユー
        ザーの使う特別な言語用である。 |xfontset| を参照。
        このオプションを設定すると、全てのフォント名はフォントセット名として扱
        われるようになる。またコマンド |:highlight| の引数 "font" に使われるも
        のも同様である。
        フォントはカレントロケールに適合していなければならない。カレントロケー
        ルの使用している文字セット用のフォントが値に含まれていないと、
        'guifontset' の設定は失敗する。
        Note 'guifont' と 'guifontset' の違いに注意。'guifont' では、コンマで
        区切られたフォント名は代替用で、そのうちのどれか一つが使われる。
        'guifontset' では、コンマも含めて値の文字列全体がフォントセット名を表
        す。代替フォントセットを指定することはできない。
        次の例は多くのX11システムで正しく機能する。
                :set guifontset=-*-*-medium-r-normal--16-*-*-*-c-*-*-*

                                *'guifontwide'* *'gfw'* *E231* *E533* *E534*
'guifontwide' 'gfw'     文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {VimのGUI版でのみ有効}
        2倍幅の文字に使われるフォントをコンマ区切りのリストで指定する。値が空
        のときは無視される。読み込み可能なフォントのうち先頭のものが使われる。
        Note: 指定したフォントの幅は、オプション 'guifont' で指定したフォント
        のちょうど2倍の幅で、同じ高さのものでなければならない。

        GTK+ 2を除くすべてのバージョン:

        'guifontwide' は、'encoding' が "utf-8" で、かつ 'guifontset' が空であ
        るか不適切なものであるときにのみ使われる。
        'guifont' が設定されていて、その中に適切なフォントが含まれており、かつ
        'guifontwide' が空のとき、Vimは適合する2倍幅のフォントを探し、
        'guifontwide' をそれに設定しようとする。

        GTK+ 2 GUI のみ:                        *guifontwide_gtk2*

        このオプションが設定されており、それが適切な値であるとき、'encoding'
        が "utf-8" でなくても常に2倍幅文字に対して 'guifontwide' が使われる。
        Vimは自動的に 'guifontwide' に適合する値を探そうとはしない。
        'guifontwide' が空ならばPango/Xftが 'guifont' で利用できない文字に対す
        るフォントを選ぶ。そのため、Pango/Xftが選んだ値を上書きしたいのでない
        限り、'guifontwide' を設定する必要はまったくない。

        Windows +multibyte のみ:                *guifontwide_win_mbyte*

        有効な値が設定されている場合、'guifont' の代わりに 'guifontwide' が
        IME の表示に使われる。

                                                *'guiheadroom'* *'ghr'*
'guiheadroom' 'ghr'     数値    (既定では 50)
                        グローバル
                        {Vi にはない} {VimのGTKとX11のGUI版でのみ有効}
        GUIウィンドウを画面に合わせるときに、画面の高さから差し引かれるピクセ
        ル数。このオプションはGUIを開始する前に、例えばファイル |gvimrc| 内で
        設定すること。値を 0 にすると、画面の高さ全体がウィンドウに使われる。
        正の値を指定すると、それだけのピクセル数がウィンドウの装飾や画面上の他
        のもののために残される。ウィンドウを画面よりも高くするには、負の値を指
        定すること。

                                                *'guioptions'* *'go'*
'guioptions' 'go'       文字列  (既定では "egmrLtT"   (MS-Windows),
                                         "aegimrLtT" (GTK, MotifとAthena))
                        グローバル
                        {Vi にはない}
                        {VimのGUI版でのみ有効}
        このオプションはVimのGUI版でのみ有効である。値は、GUIのどのコンポーネ
        ントとオプションを使用するかを決定する、フラグの列である。
        将来追加されるフラグによる問題を避けるため、コマンド ":set" では "+="
        と "-=" を使うこと |add-option-flags|

        使用できるフラグは以下の通りである。
                                                        *guioptions_a* *'go-a'*
          'a'   自動選択 (autoselect): 値に含まれると、ビジュアルモードが開始
                されるたび、またはビジュアル選択範囲が変更されるたびに、Vimは
                ウィンドウシステム共通のクリップボードを使おうとする。つまりビ
                ジュアル選択で選択されたテキストは、Vim自身はもとより他のアプ
                リケーションでも貼り付けに使えるということだ。(おそらくテキス
                トに操作を実行したせいで) ビジュアルモードが終了したり、アプリ
                ケーションが選択領域を貼り付けようとしたときには、強調されたテ
                キストは自動的にクリップボードレジスタ "* にコピーされる。その
                ためビジュアルモードが終了した後でも、選択領域を他のアプリケー
                ションに貼り付けることができる。
                含まれないと、レジスタ "* に対するコピーや貼り付けによって明示
                的に指定されない限り、Vimはウィンドウシステム共通のクリップボ
                ードを使おうとはしない。
                モードレスセレクションについても同様である。
                                                                *'go-P'*
          'P'   自動選択 (autoselect) と似ているが、"* レジスタの代わりに "+
                レジスタを使う。
                                                                *'go-A'*
          'A'   モードレスセレクションに対する自動選択。フラグ 'a' と似ている
                が、モードレスセレクションにのみ適用される。

                    'guioptions'   ビジュアルモード   モードレスセレクション
                         ""             X                       X
                         "a"            O                       O
                         "A"            X                       O
                         "aA"           O                       O

                                                                *'go-c'*
          'c'   単純な選択にはポップアップダイアログでなくコンソールダイアログ
                を使う。
                                                                *'go-e'*
          'e'   'showtabline' で指定されたタイミングでタブを追加する。
                'guitablabel' を使うとタブのラベルのテキストを変更することがで
                きる。'e' がないと非GUIのタブページラインが使われる。GUIのタブ
                はいくつかのシステム上(現在はGTK, Motif, Mac OS/X, MS-Windows)
                でのみサポートされている。
                                                                *'go-f'*
          'f'   フォアグラウンド (foreground): シェルからGUIを開始し、そのシェ
                ルからgVimを独立させる際に関数 fork() を使わない。これはエディ
                タが終了するのを待つプログラム (例えばメールプログラム等) に対
                して使う。フォアグラウンドでGUIを開始するには、これの代わりに
                "gvim -f" や ":gui -f" も使える |gui-fork|
                Note: このオプションはファイル vimrc 内で設定するよう注意。ファ
                イル|gvimrc|が読み込まれたときはフォーキングがすでに実行されて
                いるかもしれない。
                                                                *'go-i'*
          'i'   Vimのアイコンを使う。KDEのGTKではウィンドウの左上に表示される。
                GTKでないX11では、制限のため白黒のアイコンが使われる。色つきの
                アイコンについては |X11-icon| を参照。
                                                                *'go-m'*
          'm'   メニューバーを表示する。
                                                                *'go-M'*
          'M'   システムメニューの実体 "$VIMRUNTIME/menu.vim" が読み込まれない。
                Note このフラグは、構文認識やファイルタイプ認識を起動する前に、
                ファイル .vimrc 内で追加されていなければならない (ファイル
                .gvimrc が読み込まれたときには、システムメニューはすでに読み込
                まれた後である。コマンド ":syntax on" と ":filetype on" でもメ
                ニューは読み込まれる)。
                                                                *'go-g'*
          'g'   メニュー項目の灰色表示: 無効のメニュー項目を灰色で表示する。含
                まれていないと、無効のメニュー項目は全く表示されない。
                例外: Athenaでは常にグレー表示を使う。
                                                                *'go-t'*
          't'   メニュー項目の切り離しを有効にする。現在のところWin32, GTK+ と
                Motif 1.2 GUI でのみ有効である。
                                                                *'go-T'*
          'T'   ツールバーを表示する。現在のところWin32, GTK+ と Motif,
                Photon, Athena GUIでのみ有効である。
                                                                *'go-r'*
          'r'   右スクロールバーを常に表示する。
                                                                *'go-R'*
          'R'   垂直分割されたウィンドウがあるときのみ、右スクロールバーを表示
                する。
                                                                *'go-l'*
          'l'   左スクロールバーを常に表示する。
                                                                *'go-L'*
          'L'   垂直分割されたウィンドウがあるときのみ、左スクロールバーを表示
                する。
                                                                *'go-b'*
          'b'   下 (水平) スクロールバーを表示する。サイズは表示されている行の
                中で一番長い行によって決まる。またはフラグ'h'が含まれていると
                きはカーソル行によって決まる。|gui-horiz-scroll|
                                                                *'go-h'*
          'h'   水平スクロールバーのサイズをカーソル行の長さに制限する。計算量
                を軽減させる。|gui-horiz-scroll|

        そう、もちろん、本当に望むのなら、左スクロールバーと右スクロールバーを
        「両方」使うことだってできる :-) 詳しい情報については |gui-scrollbars|
        を参照。

                                                                *'go-v'*
          'v'   ダイアログのボタン配置を垂直方向にする。含まれていないとなるべ
                く水平方向の配置を使うが、収まらないときには結局、垂直配置が使
                われる。
                                                                *'go-p'*
          'p'   X11のGUIにおいて、ポインタ・コールバックを使う。ウィンドウマ
                ネージャーの中にはこれが必要なものもある。カーソルが正しいタイ
                ミングで点滅したり変形したりしないときは、これを追加してみるこ
                と。これはGUIを開始する前に設定しなければならない。ユーザーの
                ファイル |gvimrc| 内で設定すること。GUIが開始した後にこのフラ
                グを追加したり取り除いたりしても、効果はない。
                                                                *'go-F'*
          'F'   フッターを追加する。Motifでのみ有効である。|gui-footer| を参照。


                                                *'guipty'* *'noguipty'*
'guipty'                切替    (既定ではオン)
                        グローバル
                        {Vi にはない}
                        {VimのGUI版でのみ有効}
        GUI版でのみ有効である。オンのときは、シェルコマンドからの入力用および
        シェルコマンドへの出力用の仮想端末 pseudo-tty を開こうとする。
        |gui-pty| を参照。

                                                *'guitablabel'* *'gtl'*
'guitablabel' 'gtl'     文字列  (既定では空文字列)
                        グローバル
                        {Vi にはない}
                        {GUI と |+windows| 機能を有効にしてコンパイルされたと
                        きのみ利用可能}
        空文字列でない場合は、GUI のタブページ行のラベルを設定する。空文字列で
        あるか、または評価結果が空文字列である場合は、既定のラベルが使われる。
        より詳しくは |setting-guitablabel| を参照。

        このオプションのフォーマットは 'statusline' のフォーマットに似ている。
        ツールチップには 'guitabtooltip' が使われる。下記参照。

        GUI のタブページが表示されるときのみ使われる。'guioptions' に 'e' が含
        まれていなければならない。GUI でないタブページ行については 'tabline'
        が使われる。

                                                *'guitabtooltip'* *'gtt'*
'guitabtooltip' 'gtt'   文字列  (既定では空文字列)
                        グローバル
                        {Vi にはない}
                        {GUI と |+windows| 機能を有効にしてコンパイルしたとき
                        のみ利用可能}
        
        空文字列でない場合は、GUI のタブページ行のツールチップを設定する。空文
        字列である場合は、既定のツールチップが使われる。
        それ以外は上記の 'guitablabel' と同様。
        改行を含めることもできる。そのもっとも簡単な方法は |:let|を使うことで
        ある:
                :let &guitabtooltip = "line one\nline two"

                                        *'helpfile'* *'hf'*
'helpfile' 'hf'         文字列  (既定では  MS-DOS: "$VIMRUNTIME\doc\help.txt"
                                        その他: "$VIMRUNTIME/doc/help.txt")
                        グローバル
                        {Vi にはない}
        ヘルプファイルの名前。Vim に付属のヘルプファイルは全て単一のディレクト
        リ内に一緒に置かれるべきである。そのディレクトリの他に、'runtimepath'
        中の全ての "doc" ディレクトリも対象になる。
        環境変数は展開される |:set_env|。例:
        "$VIMRUNTIME/doc/help.txt"。環境変数 $VIMRUNTIME が設定されてないとき
        は、$VIM も試される。|$VIMRUNTIME| を参照。値に空白や '\' を含めること
        については |option-backslash| も参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'helpheight'* *'hh'*
'helpheight' 'hh'       数値    (既定では 20)
                        グローバル
                        {Vi にはない}
                        {Vimが |+windows| 機能付きでコンパイルされたときのみ
                        有効}
        コマンド ":help" で開かれたヘルプウィンドウの、開始時のウィンドウ高の
        最小値を設定する。ヘルプウィンドウの開始時の高さはカレントウィンドウの
        半分であるか、(オプション 'ea' がオンのときには) 他のウィンドウと同じ
        である。ウィンドウ高が 'helpheight' より小さくなってしまうとき、実際の
        高さは 'helpheight' になる。こうしないようにするには 0 に設定すること。

                                                *'helplang'* *'hlg'*
'helplang' 'hlg'        文字列  (既定では: メッセージ言語または空)
                        グローバル
                        {Vi が |+multi_lang| 機能つきでコンパイルされたときの
                        み有効}
                        {Vi にはない}
        コンマ区切りの言語のリスト。これらの言語の中から、探しているヘルプが見
        つかった最初の言語を使う。英語のヘルプは常に優先度が最後になる。英語の
        優先度を上げるために "en" を追加することはできるが、そうしても、その言
        語に存在し、英語のヘルプに存在しないタグを見つけるだけである。
        {訳注: 上の文よくわからない。}
        例:
                :set helplang=de,it
        こうすると最初にドイツ語を検索し、次にイタリア語、そして最後に英語のヘ
        ルプファイルを検索する。
        |CTRL-]| や英語でないヘルプファイル中で ":help!" を使ったときは、この
        オプションより先に現在の言語からタグを検索する。|help-translated| を参
        照。

                                     *'hidden'* *'hid'* *'nohidden'* *'nohid'*
'hidden' 'hid'          切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        オフのときは、バッファは放棄 |abandon| されるときに解放される。オンの
        ときは、バッファは放棄 |abandon| されるときに隠れ (hidden) 状態になる。
        そのバッファが別のウィンドウでまだ表示されているなら、もちろん隠れ状態
        にはならない。
        バッファリストをわたって動くコマンドは 'hidden' がオフでもバッファを
        隠れ状態にすることがある。バッファの内容が変更されていて、'autowrite'
        がオフであるか書き込みが不可能な状態であり、フラグ '!' が使われたよう
        なときだ。|windows.txt| も参照。
        1つのバッファだけを隠れ状態にするにはオプション 'bufhidden' を使う。
        このオプションは、一つ一つのコマンドに対して ":hide {command}" とする
        ことでオンにできる |:hide|
        警告: 隠れバッファに対する変更は忘れがちである。コマンド ":q!" や
        ":qa!" を使う前にはもう一度よく考えること。

                                                *'highlight'* *'hl'*
'highlight' 'hl'        文字列  (既定では (単一の文字列として):
                                     "8:SpecialKey,@:NonText,d:Directory,
                                     e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,
                                     M:ModeMsg,n:LineNr,N:CursorLineNr,
                                     r:Question,s:StatusLine,S:StatusLineNC,
                                     c:VertSplit, t:Title,v:Visual,
                                     w:WarningMsg,W:WildMenu,
                                     f:Folded,F:FoldColumn,A:DiffAdd,
                                     C:DiffChange,D:DiffDelete,T:DiffText,
                                     >:SignColumn,B:SpellBad,P:SpellCap,
                                     R:SpellRare,L:SpellLocal,-:Conceal,
                                     +:Pmenu,=:PmenuSel,
                                     x:PmenuSbar,X:PmenuThumb")
                        グローバル
                        {Vi にはない}
        このオプションは、様々な対象に対する強調表示モードを設定する。文字の組
        をコンマ区切りのリストとして指定する。1番目の文字は適用される対象を指
        定し、2番目の文字はその対象に適用するモードを指定する。
        対象は以下の通りである。
        |hl-SpecialKey|  8  ":map" でリスト表示されるメタキーと特殊キー
        |hl-NonText|     @  ウィンドウ末尾の '~' と '@'、および 'showbreak'
                            によって表示される文字
        |hl-Directory|   d  CTRL-D によるリスト表示内のディレクトリや、その他
                            の特別な項目
        |hl-ErrorMsg|    e  エラーメッセージ
                         h  (古くて使われておらず、無視される)
        |hl-IncSearch|   i  'incsearch' の強調表示
        |hl-Search|      l  最終検索パターン強調表示 ('hlsearch' を参照)
        |hl-MoreMsg|     m  「継続」プロンプト |more-prompt|
        |hl-ModeMsg|     M  モード表示 (例えば "-- INSERT --")
        |hl-LineNr|      n  ":number" と ":#" コマンドでの行番号と、'number'
                            か 'relativenumber' がオンに設定されているときの行
                            番号。
        |hl-CursorLineNr|  N 'cursorline' または 'relativenumber' 設定時、n の
                            代わりに使われる。
        |hl-Question|    r  「続けるには」プロンプト |hit-enter| とyes/no質問
        |hl-StatusLine|  s  カレントウィンドウのステータス行 |status-line|
        |hl-StatusLineNC| S 非カレントウィンドウのステータス行 |status-line|
        |hl-Title|       t  ":set all", ":autocmd" 等の出力のタイトル
        |hl-VertSplit|   c  ウィンドウの垂直分割に使われる区切り
        |hl-Visual|      v  ビジュアルモード
        |hl-VisualNOS|   V  X11 Gui |gui-x11| と |xterm-clipboard| でのみ有効
                            な、選択領域をクリップボードに送らないビジュアル
                            モード
                            {訳注: "Not Owning the Selection" をこういう意味に
                            取りましたが、勘違いかもしれません。どなたかご教授
                            ください}
        |hl-WarningMsg|  w  警告メッセージ
        |hl-WildMenu|    W  'wildmenu' によって表示されるワイルドカードマッチ
        |hl-Folded|      f  閉じられた折り畳みを表す行
        |hl-FoldColumn|  F  'foldcolumn'
        |hl-DiffAdd|     A  差分モードで追加された行
        |hl-DiffChange|  C  差分モードで変更された行
        |hl-DiffDelete|  D  差分モードで削除された行
        |hl-DiffText|    T  差分モードで挿入されたテキスト
        |hl-SignColumn|  >  |signs| に使われる桁
        |hl-SpellBad|    B  スペルミスの単語 |spell|
        |hl-SpellCap|    P  大文字で始まるべきの単語 |spell|
        |hl-SpellRare|   R  滅多に現れない単語 |spell|
        |hl-SpellLocal|  L  他の地域の単語 |spell|
        |hl-Conceal|     -  Conceal テキストの代替表示 ('conceallevel' 参照)
        |hl-Pmenu|       +  ポップアップメニューの通常の行
        |hl-PmenuSel|    =  ポップアップメニューの通常の行
        |hl-PmenuSbar|   x  ポップアップメニューのスクロールバー
        |hl-PmenuThumb|  X  ポップアップメニューのスクロールバーのつまみ

        表示モードは以下の通りである。
                r       反転            (termcapの項目 "mr" と "me")
                i       斜字体          (termcapの項目 "ZH" と "ZR")
                b       太字体          (termcapの項目 "md" と "me")
                s       強調            (termcapの項目 "so" と "se")
                u       下線            (termcapの項目 "us" と "ue")
                c       undercurl       (termcapの項目 "Cs" と "Ce")
                n       強調表示なし
                -       強調表示なし
                :       強調表示グループを使って設定
                {訳注: 「文字の組」と書きながら、既定値はどれも2文字でないのは、
                この ":" が使われているからである。これだけは例外で、グルー
                プ名を使って指定できる}
        ユーザーに指定されなかった項目については、既定値が使われる。
        表示モードの効果を変更したいなら、例として |dos-colors| を参照。
        表示モードに ':' を使うときは、その後に強調表示グループの名前を続けな
        ければならない。強調表示グループは、色も含めて強調表示のあらゆるタイプ
        を指定することができる。グループの定義方法については |:highlight| を参
        照。既定値では対象それぞれに異なったグループを使っている。既定の強調表
        示グループについては |highlight-default| を参照。

                                 *'hlsearch'* *'hls'* *'nohlsearch'* *'nohls'*
'hlsearch' 'hls'        切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+extra_search| 機能付きでコンパイルされたとき
                        のみ有効}
        前回の検索パターンが存在するとき、それにマッチするテキストを全て強調表
        示する。強調表示のタイプは、オプション 'highlight' のフラグ 'l' によっ
        て設定できる。既定では強調表示グループ "Search" が使われる。 Note マッ
        チするテキストのみが強調表示されるので注意。オフセットは適用されない。
        'incsearch' とコマンド |:match| も参照。
        マッチするテキストが強調表示されるを見飽きたら、|:nohlsearch| で無効に
        切り替えることができる。このコマンドはオプションの設定値を変更しないの
        で、再び検索コマンドを使えば、強調表示も再び行われる。
        検索する時間の上限は 'redrawtime' で設定できる。
        検索パターンが行の終わり end-of-line にマッチするときは、Vimはマッチし
        たテキスト全体を強調表示しようとする。しかし、検索を開始した場所によっ
        て結果は異なる。ウィンドウの1番上の行または閉じられた折り畳みの次の行
        では、表示されない行内のマッチの強調表示は、表示されている行に継続しな
        い。
        起動時に強調表示の状態を復元するかどうかは 'viminfo' の 'h' フラグで設
        定できる |viminfo-h|
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                                *'history'* *'hi'*
'history' 'hi'          数値    (Vimの既定値: 50, Viの既定値: 0)
                        グローバル
                        {Vi にはない}
        ":" によるコマンドと以前に使った検索パターンの履歴は保存されるわけだが、
        このオプションはそれぞれの履歴に何個の項目が保存されるかを指定する
        (|cmdline-editing| を参照)。
        最大値は10000。
        NOTE: このオプションはオプション 'compatible' がオンのときはViの既定値
        に、オフのときはVimの既定値になるので注意すること。

                                         *'hkmap'* *'hk'* *'nohkmap'* *'nohk'*
'hkmap' 'hk'            切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+rightleft| 機能付きでコンパイルされたときの
                        み有効}
        オンのときは、キーボードはヘブライ文字セットにマップされる。普通、オプ
        ション 'allowrevins' をオンにしておき、挿入モードでこのオプションをコ
        マンド CTRL-_ で切り替えられるようにすることになる |i_CTRL-_|
        |rileft.txt| を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                 *'hkmapp'* *'hkp'* *'nohkmapp'* *'nohkp'*
'hkmapp' 'hkp'          切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+rightleft| 機能付きでコンパイルされたときの
                        み有効}
        オンのときは、キーボードは音声ヘブライ文字セットにマップされる。またオ
        プション 'hkmap' もオンでなければならない。これはユーザーがヘブライ語
        キーボードを持っていないときに便利である。
        |rileft.txt| を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                                *'icon'* *'noicon'*
'icon'                  切替    (既定ではオフ、タイトルが復元できるならばオン)
                        グローバル
                        {Vi にはない}
                        {Vimが |+title| 機能付きでコンパイルされたときのみ有
                        効}
        オンのときは、ウィンドウのアイコンテキストが 'iconstring' に (値が空で
        なければ) 設定される。空ならば現在編集されているファイル名に設定される。
        ファイル名の末尾部分のみが使われる。
        この設定は 'iconstring' によって上書きできる。
        ターミナルがウィンドウアイコンの設定をサポートしているときのみ有効であ
        る (現在のところ X11 GUI とターミナルオプション 't_IS' の値が空でない
        ターミナルのみ --- これらは既定では Unix xterm と iris-ansi であり、こ
        のとき 't_IS' の値は組み込み termcap から取られる)。
        Vimが HAVE_X11 が定義された状態でコンパイルされたなら、可能であれば元
        のアイコンが復元される |X11|。X11でアイコンを変更するには |X11-icon|
        を参照。
        MS-Windows でアイコンを変更するには、|windows-icon| を参照。

                                                *'iconstring'*
'iconstring'            文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+title| 機能付きでコンパイルされたときのみ有
                        効}
        このオプションが空でないなら、ウィンドウのアイコンテキストに設定される。
        これは 'icon' がオンのときのみ使われる。
        ターミナルがウィンドウのアイコンテキストの設定をサポートしているときの
        み有効である (現在のところ X11 GUI とターミナルオプション 't_IS' の値
        が空でないターミナルのみ)。
        MS-Windowsでは無効である。
        Vimが HAVE_X11 が定義された状態でコンパイルされたなら、可能であれば元
        のアイコンが復元される |X11|
        値に関数 printf 形式の '%' を使った項目が含まれていると、それらは
        'statusline' と同じように展開される。設定例は 'titlestring' を参照。
        {Vimが |+statusline| 機能付きでコンパイルされたときのみ有効}

                        *'ignorecase'* *'ic'* *'noignorecase'* *'noic'*
'ignorecase' 'ic'       切替    (既定ではオフ)
                        グローバル
        検索パターンにおいて大文字と小文字を区別しない。タグファイル内の検索に
        も適用される。
        オプション 'smartcase' と 'tagcase' も参照。
        パターン内で "\c" や "\C" を使うことで、この設定を上書きできる。
        |/ignorecase| を参照。

                                                *'imactivatefunc'* *'imaf'*
'imactivatefunc' 'imaf' 文字列 (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+xim| 機能と |+GUI_GTK| 機能付きでコンパイル
                        されたときのみ有効}
        このオプションはインプットメソッド (IM) をオン/オフにするのに呼ばれる
        関数を指定する。

        例:
                function ImActivateFunc(active)
                  if a:active
                    ... 何らかの処理
                  else
                    ... 何らかの処理
                  endif
                  " 戻り値は使われない
                endfunction
                set imactivatefunc=ImActivateFunc

                                                *'imactivatekey'* *'imak'*
'imactivatekey' 'imak'  文字列 (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+xim| 機能と |+GUI_GTK| 機能付きでコンパイル
                        されたときのみ有効}                     *E599*
        X-Windowsでのインプットメソッド (IM) を起動するのに使われるキーを指定
        する。これが正しく設定されていれば、VimはIMをオプション 'imcmdline',
        'iminsert' や 'imsearch' によって完全に制御できる。
        このオプションで起動キーを変えることはできない。これはただVimにそのキー
        が何であるのか伝えるだけである。
        書式は以下の通り。
                [MODIFIER_FLAG-]KEY_STRING

        以下の文字が MODIFIER_FLAG として使える (大文字でも小文字でもよい)。
                S           シフトキー
                L           ロックキー
                C           コントロールキー
                1           修飾キー1
                2           修飾キー2
                3           修飾キー3
                4           修飾キー4
                5           修飾キー5
        これらを組み合わせることができる。例えば "S-C-space" や "SC-space" は
        みな shift+ctrl+space を表す。
        KEY_STRING については <X11/keysymdef.h> と XStringToKeysym を参照。

        例:
                :set imactivatekey=S-space
        "S-space" は shift+space である。これは kinput2 + canna (日本語) およ
        び ami (韓国語) の起動キーである。

                                *'imcmdline'* *'imc'* *'noimcmdline'* *'noimc'*
'imcmdline' 'imc'       切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+xim| 機能または |+multi_byte_ime| 機能または
                        |global-ime| 機能付きでコンパイルされたときのみ有効}
        オンのときは、コマンドラインの編集を始めるときには常にインプットメソッ
        ド (IM) がオンになる。ただし検索パターンの入力には適用されない (それに
        はオプション 'imsearch' を参照)。
        ユーザーの IM が英語の文字を直接入力できるならば (例えば IM が、普段使
        われないキーからアクセント記号を入力する程度のものならば)、このオプショ
        ンをオンにすると便利である。

                                *'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
'imdisable' 'imd'       切替    (既定ではオフ、いくつかのシステム(SGI)ではオン)
                        グローバル
                        {Vi にはない}
                        {Vimが |+xim| 機能または |+multi_byte_ime| 機能または
                        |global-ime| 機能付きでコンパイルされたときのみ有効}
        オンのときは、インプットメソッド (IM) が全く使われなくなる。これは IM
        がうまく働かないとき、それを無効にしてしまうのに便利である。
        現在のところ、SGI/IRIX のマシンではオンになっているのが既定である。こ
        れは将来変更されるかもしれない。

                                                *'iminsert'* *'imi'*
'iminsert' 'imi'        数値 (既定では 0、インプットメソッドがサポートされてい
                              れば 2)
                        バッファについてローカル
                        {Vi にはない}
{訳注: iminsert=2 の場合、挿入モードを抜けると IM がオフにされます。
       再度挿入モードに入ると、前回抜けたときの IM 状態が復元されます。
       この機能をオフにするには iminsert=0 にしてください。}

        :lmap かインプットメソッド (IM) が挿入モードで使われるかどうかを指定す
        る。指定できる値は以下の通り。
                0       :lmap はオフ、IM もオフ
                1       :lmap はオン、IM はオフ
                2       :lmap はオフ、IM はオン
        値 2 は、Vimが |+multi_byte_ime| 機能または |+xim| 機能または
        |global-ime| 機能付きでコンパイルされたときのみ有効である。
        コマンド <Esc> で挿入モードを終える度に値を 0 に戻すには、次のように
        すればよい。
                :inoremap <ESC> <ESC>:set iminsert=0<CR>
        これは挿入モードを終えるとき :lmap と IM を自動的にオフに切り替える。
        Note 挿入モードでコマンド CTRL-^ を使うと、このオプションの値が変わる
        ので注意 |i_CTRL-^|
        オプション 'keymap' に正しいキーマップ名が設定されると、このオプション
        は 1 になる。
        これはコマンド "r", "f" 等の引数にも適用される。
        AthenaとMotifでは、値を 0 に設定すると正しく働かないようなXIMがある。
        そのときは XIM を無効にするために 'imdisable' を使うこと。

                                                *'imsearch'* *'ims'*
'imsearch' 'ims'        数値 (既定では 0、インプットメソッドがサポートされてい
                              れば 2)
                        バッファについてローカル
                        {Vi にはない}
        :lmap かインプットメソッド (IM) が、検索パターンを入力するときに使われ
        るかどうかを指定する。指定できる値は以下の通り。
                -1      'iminsert' の値が使われ、それが検索パターンの入力にも
                        適用されているかのように動作する
                0       :lmap はオフ、IM もオフ
                1       :lmap がオン、IM はオフ
                2       :lmap はオフ、IM がオン
        Note コマンドラインモードでコマンド CTRL-^ を使うと、このオプションが
        変わることに注意 |c_CTRL-^|
        値が -1 でないなら、'keymap' に正しいキーマップ名が設定されると、この
        オプションは 1 になる。
        AthenaとMotifでは、値を 0 に設定すると正しく働かないようなXIMがある。
        そのときは XIM を無効にするために 'imdisable' を使うこと。

                                                *'imstatusfunc'* *'imsf'*
'imstatusfunc' 'imsf'   文字列 (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+xim| 機能と |+GUI_GTK| 機能付きでコンパイル
                        されたときのみ有効}
        このオプションはインプットメソッド (IM) の状態を得るのに呼ばれる関数を
        指定する。IMEがオンのとき、関数は正の数を返さなければならない。

        例:
                function ImStatusFunc()
                  let is_active = ...何らかの処理
                  return is_active ? 1 : 0
                endfunction
                set imstatusfunc=ImStatusFunc

        NOTE: この関数は頻繁に呼び出されるため、速くなければならない。

                                                *'include'* *'inc'*
'include' 'inc'         文字列  (既定では "^\s*#\s*include")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
                        {Vimが |+find_in_path| 機能付きでコンパイルされたとき
                        のみ有効}
        {訳注: プログラミング言語の} インクルード命令を探すのに使われるパター
        ンを設定する。値はコマンド "/" と同様の検索パターンである (|pattern|
        を参照)。既定値はC言語プログラム用に設定されている。このオプションはコ
        マンド "[i", "]I", "[d" 等に使われる。
        通常、マッチしたパターンの後に続くファイル名を認識するためにオプション
        'isfname' が使われる。しかしパターン中に "\zs" が入っている場合、
        "\zs" にマッチしたテキストから最後まで、または "\ze" が入っている場合
        はそこまでがファイル名として認識される。スペースなど、'isfname' に入っ
        ていない文字を含めるにはこれを使う。そして 'includeexpr' を使ってマッ
        チしたテキストを処理することができる。
        スペースとバックスラッシュを含める方法については|option-backslash| を
        参照。

                                                *'includeexpr'* *'inex'*
'includeexpr' 'inex'    文字列  (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+find_in_path| 機能と |+eval| 機能付きでコン
                        パイルされたときのみ有効}
        オプション 'include' が判別した文字列を、ファイル名に変換するために使
        われる expression を指定する。以下のようにして、Java言語で "." を "/"
        に変換するようなときに便利である。
                :set includeexpr=substitute(v:fname,'\\.','/','g')
        変数 "v:fname" は、判別されたファイル名に設定される。
        このオプションの内容は |sandbox| 内でも評価される。
        コマンド |gf| でも、ファイルの実際の名前が見つからないときは、これが使
        われる。プログラミング言語の 'include' 文の後で "gf" を使えるようにな
        る。
        また |<cfile>| にも使われる。

        このオプションがモードラインで設定されたときは、式はサンドボックス
        (|sandbox|) の中で評価される。|sandbox-option| を参照。

        'includeexpr' を評価している間に、テキストを変更したり他のウィンドウに
        移ることは許されない。|textlock|

                                 *'incsearch'* *'is'* *'noincsearch'* *'nois'*
'incsearch' 'is'        切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+extra_search| 機能付きでコンパイルされたとき
                        のみ有効}
        検索コマンドを打ち込んでいる間にも、打ち込んだところまでのパターンがマッ
        チするテキストを、すぐに表示する。マッチした文字列は強調表示される。パ
        ターンが不適切であったり見つからなければ、何も表示されない。画面は次々
        更新されることになるので、このオプションは表示の速いターミナルでのみ有
        用である。
        Note マッチが表示されても、カーソルは実際にはマッチした場所に移動して
        いないので注意。カーソルを移動させるには、やはり <Enter> を打ち込んで
        検索コマンドを完了させる必要がある。
        |+reltime| 機能つきでコンパイルされているときは約0.5秒だけ検索する。複
        雑なパターンであったり、大量のテキストはマッチしない場合がある。これは
        文字をタイプしている途中で Vim が応答しなくなってしまうのを避けるため
        である。
        強調表示は、オプション 'highlight' のフラグ 'i' によって設定できる。
        'hlsearch' も参照。
        CTRL-L を押すと、現在マッチしているテキストの後からコマンドラインへ1文
        字を追加することができる。その際、'ignorecase' と 'smartcase' が設定さ
        れていてコマンドラインに大文字が含まれていなければ、追加された文字は小
        文字に変換される。
        CTRL-R CTRL-W を押すと、現在マッチしているテキストの末尾から単語を追加
        することができる。そのとき、既にタイプされている文字は除かれる。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                                *'indentexpr'* *'inde'*
'indentexpr' 'inde'     文字列  (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+cindent| 機能と |+eval| 機能付きでコンパイル
                        されたときのみ有効}
        ある行の適切なインデントを得るために評価される expression。これは新し
        い行が作られるとき、オペレータ |=| が使われたとき、挿入モードでオプ
        ション 'indentkeys' で指定したキーを打ち込んだときに使われる。
        値が空でないとき、この設定が 'cindent' と 'smartindent' によるインデン
        トの設定を上書きする。'lisp' がオンのとき、このオプションは Lisp のイ
        ンデントアルゴリズムによって上書きされる。
        'paste' がオンのとき、このオプションはインデントに使われない。
        指定された expression が評価されるとき、変数 |v:lnum| はインデント計算
        の対象となっている行の行番号に設定される。また、この式を評価するとき、
        カーソルもこの行に置かれる(移動してしまうかもしれないが)。
        指定された expression は、インデントすべき空白の数を返さなければならな
        い。そのままのインデントを保たせるには "-1" を返させればよい (つまり、
        こうするとインデントには 'autoindent' が使われる)。
        インデント深さを計算するのに便利な関数は、|indent()||cindent()| と
        |lispindent()| である。
        この expression の評価には副作用があってはならない!つまり、テキストを
        変更したり、 別のウィンドウに移動してはいけない。評価後にはカーソル位
        置は常に復元されるので、カーソルは移動してもよい。
        普通、このオプションは関数を呼び出すように設定される:
                :set indentexpr=GetMyIndent()
        'debug' が "msg" を含まないない限り、エラーメッセージの表示は抑制され
        る。
        |indent-expression| を参照。
        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

        このオプションがモードラインで設定されたときは、式はサンドボックス
        (|sandbox|) の中で評価される。|sandbox-option| を参照。

        'indentexpr' を評価している間に、テキストを変更したり他のウィンドウに
        移ることは許されない。|textlock| 

                                                *'indentkeys'* *'indk'*
'indentkeys' 'indk'     文字列  (既定では "0{,0},:,0#,!^F,o,O,e")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+cindent| 機能付きでコンパイルされたときのみ
                        有効}
        挿入モードで打ち込まれたときに、現在行の再インデントを引き起こすキーの
        リスト。これはオプション 'indentexpr' が空でないときのみ起きる。
        書式は 'cinkeys' と同様である。|indentkeys-format| を参照。
        |C-indenting| と |indent-expression| を参照。

                        *'infercase'* *'inf'* *'noinfercase'* *'noinf'*
'infercase' 'inf'       切替    (既定ではオフ)
                        バッファについてローカル
                        {Vi にはない}
        挿入モードで単語補完 |ins-completion| をしているとき、このオプションと
        'ignorecase' がオンならば、マッチした単語の大文字/小文字の区別は打ち
        込んだテキストに応じて修正される。打ち込んだテキストでは小文字だがマッ
        チした単語では大文字であるような所があれば、補完される部分もみな小文字
        になる。打ち込んだテキストには小文字が1個もなく、打ち込んだテキストで
        は大文字だがマッチした単語では小文字であるような所があり、かつその前に
        文字があるならば、補完される部分もみな大文字になる。
        'noinfercase' にすると、マッチした単語がそのまま挿入される。

                        *'insertmode'* *'im'* *'noinsertmode'* *'noim'*
'insertmode' 'im'       切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        Vimが挿入モードを中心として動作するようになる。Vimをモードを持たないエ
        ディタとして使いたいときに便利である。|evim| で使われている。
        以下の挿入モードのコマンドが便利だろう。
        - カーソル移動に矢印キーを使う
        - 1個のノーマルモードコマンドを実行するためにはコマンド CTRL-O を使う
          |i_CTRL-O|。コマンドが別のキー列にマッピングされていたときは、オプショ
          ン 'insertmode' がオフであるときのように実行される。つまりマッピング
          の内容が終了するまでノーマルモードが続く。
        - 数個のノーマルモードコマンドを使うためには先に CTRL-L を使い、その後
          挿入モードに戻るために <Esc> を使う。Note CTRL-L を使うと、
          'insertmode' をオフにして <Esc> を押したときと同様にカーソルが左へ移
          動する。|i_CTRL-L|

        'insertmode' がオンになると、以下の項目に変化がある。
        - ファイルの編集を始めたとき、Vimは挿入モードになっている。
        - 挿入モードで <Esc> を入力しても動作はなく (no-op)、ビープ音が鳴る。
        - ノーマルモードで <Esc> を入力すると挿入モードに移る。
        - 挿入モードでの CTRL-L の入力はコマンドであり、挿入されない。
        - 挿入モードで CTRL-Z を入力するとサスペンドする。|CTRL-Z|を参照。
                                                                *i_CTRL-Z*
        しかしマッピング内で <Esc> が使われたときは、'insertmode' がオフのとき
        のように動作する。これは 'insertmode' がオンでもオフでも、同じマッピン
        グが使えるようにするためである。
        |:normal| でノーマルモードコマンドを実行するときは、'insertmode' は使わ
        れない。

        NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
        るので注意。

                                                *'isfname'* *'isf'*
'isfname' 'isf'         文字列  (MS-DOS, Win32とOS/2での既定値は:
                             "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,="
                            AMIGAでは: "@,48-57,/,.,-,_,+,,,$,:"
                            VMSでは: "@,48-57,/,.,-,_,+,,,#,$,%,<,>,[,],:,;,~"
                            OS/390では: "@,240-249,/,.,-,_,+,,,#,$,%,~,="
                            それ以外では: "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
                        グローバル
                        {Vi にはない}
        ファイル名やパス名に使われる文字を指定する。ファイル名はコマンド "gf",
        "[i" 等やタグファイル内で使われる。またパターン |pattern| 内の "\f" に
        も使われる。
        文字コードが 256 以上のマルチバイト文字は常に含まれることになっている
        ので、文字コードが 255 以下の文字のみをこのオプションで指定する。
        UTF-8では、文字コードが 0xa0 から 0xff の文字は、同様に常に含まれる。
        このオプションに空白文字を加える場合はよく考えること! ファイル名にスペー
        スが含まれることはあるが、スペースを含めると、ファイル名補完の際に、ど
        こからどこまでがファイル名であるか判定できなくなってしまうだろう。おそ
        らくスペースは含めない方がよいだろう。

        Note '\' をパスの区切りに使うシステムでは、Vimは '\' がユーザーの想定
        通りに働くよう最善を尽くす。これには少し巧妙なことをしている。なぜなら
        Viは元々、'\' を特殊文字をエスケープするために使っていたからだ。そう
        いったシステムでは、普通のファイル名の文字の前にある '\' を取り除かな
        い。しかしUnix系列のシステムでは取り除く。既定では '&' と '^' は含まれ
        ない。それはこれらの文字が cmd.exe {訳注: Windows NTのシェル} にとって
        特別な意味を持つからである。

        このオプションの値の書式は、コンマ区切りの指定部のリストである。それぞ
        れの指定部は単一の文字または範囲指定からなる。範囲指定は2個の文字コー
        ドが '-' で区切られたものである。文字コードは 0 から 255 の10進整数だ
        が、代わりにASCIIキャラクタ自身を使ってもよい (ただし数字には使えない)。
        例:
                "_,-,128-140,#-43"      ('_' と、'-' と、コードが 128 から 140
                                         までの文字と、'#' からコードが 43 ま
                                         での文字を含む)
        指定部が '^' で始まるとき、それに続く文字コードまたは範囲は指定から除
        外される。オプションは左から右に解釈されるので、指定したある範囲に除外
        したい文字があったら、それをその範囲の後に除外指定すること。文字 '^'
        自体を値に含みたいときは、値または指定部の最後に指定すること。例:
                "^a-z,#,^"      ('a' から 'z' までの文字を除き、'#' と '^' を
                                 含む)
        文字として '@' を指定すると、関数 isalpha() で TRUE が返るような文字全
        てが含まれる。普通、それは a から z と A から Z の文字と、それらにアク
        セントのついたものである。文字 '@' 自身を値に含みたいときは、"@-@" と
        すること。例:
                "@,^a-z"        アルファベットの仲間全て、ただしアルファベット
                                の小文字は除く
                "a-z,A-Z,@-@"   アルファベット全てと、文字 '@'
        コンマを含めるには、文字コードが来るはずのところにコンマをおけばよい。
        例:
                "48-57,,,_"     数字と、コンマと、下線 (アンダースコア)
        コンマを除外するには、前に '^' をおく。例:
                " -~,^,,9"      空白から '~' までのコンマを除いた全ての文字と
                                <Tab>
        値に空白や '\' を含める方法については、|option-backslash| を参照。

                                                *'isident'* *'isi'*
'isident' 'isi'         文字列  (MS-DOS, Win32とOS/2での既定値は:
                                           "@,48-57,_,128-167,224-235"
                                それ以外では: "@,48-57,_,192-255")
                        グローバル
                        {Vi にはない}
        Identifier に使われる文字を指定する。Identifier は、環境変数の認識とオ
        プション 'define' のマッチしたところの後に使われる。またパターン
        |pattern| 内の "\i" にも使われる。このオプションの書式の説明は、
        'isfname' を参考にすること。
        注意: このオプションを変更すると、環境変数の展開に失敗するかもしれない。
        例えば値に '/' が含まれているときに "$HOME/.viminfo" を展開しようとす
        るとき等である。おそらく代わりに 'iskeyword' を変更するべきだろう。

                                                *'iskeyword'* *'isk'*
'iskeyword' 'isk'       文字列 (MS-DOSとWin32でのVimの既定値:
                                            "@,48-57,_,128-167,224-235"
                                   それ以外のシステムでのVimの既定値:
                                            "@,48-57,_,192-255"
                                Viの既定値: "@,48-57,_")
                        バッファについてローカル
                        {Vi にはない}
        Keyword は、"w", "*", "[i" 等の多くのコマンドで検索と認識に使われる。
        またパターン |pattern| 内の "\k" にも使われる。このオプションの値の書
        式の説明については、オプション 'isfname' を参考にすること。C言語プログ
        ラムには "a-z,A-Z,48-57,_,.,-,>" が使えるだろう。
        ヘルプファイルでは、このオプションは '*', '"', '|' と空白の仲間を除い
        た全ての printable な文字 {訳注: 文書先頭を参照} に設定される (コマン
        ド上で CTRL-] を入力したときにそのコマンドについてのヘルプにジャンプで
        きるようにするため)。
        'lisp' がオンのときは、文字 '-' は常に含まれる。
        This option also influences syntax highlighting, unless the syntax
        uses |:syn-iskeyword|.
        NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
        値に、オフのときはVimの既定値になるので注意すること。

                                                *'isprint'* *'isp'*
'isprint' 'isp' 文字列  (MS-DOS, Win32, OS/2とMacintoshでの既定値:
                                "@,~-255"; それ以外では: "@,161-255")
                        グローバル
                        {Vi にはない}
        このオプションで指定された文字は、画面に直接表示される。またパターン
        |pattern| 内の "\p" にも使われる。空白 (ASCIIコード 32) から '~'
        (ASCIIコード 126) までの文字は、'isprint' に指定されていなくても、また
        は除外指定されていても、常に直接表示される。このオプションの書式の説明
        は、'isfname' を参考にすること。

        unprintable な文字 {訳注: 文書先頭を参照} は、2文字で表示される。
                  0 -  31       "^@" - "^_"
                 32 - 126       常に1文字で表示される
                   127          "^?"
                128 - 159       "~@" - "~_"
                160 - 254       "| " - "|~"
                   255          "~?"
        'encoding' がUnicodeの一種だったときは、文字コードが 128 から 255 まで
        の不正な文字は、<xx> という形式で16進表示される。
        'display' に "uhex" が含まれているときは、全ての unprintable な文字が
        <xx> の形式で表示される。
        unprintable な文字には、強調表示グループ SpecialKey が使われる
        |hl-NonText|

        文字コードが 256 以上のマルチバイト文字は常に含まれることになっている
        ので、文字コードが 255 以下の文字のみをこのオプションに指定する。文字
        が本来は printable だが現在のフォントでは表示できないときは、代替文字
        が表示される。
        Unprintable またはゼロ幅のUnicode文字は <xxxx> という形式で表示される。
        そういった文字を指定するオプションはない。

                        *'joinspaces'* *'js'* *'nojoinspaces'* *'nojs'*
'joinspaces' 'js'       切替    (既定ではオン)
                        グローバル
                        {Vi にはない}
        行連結コマンドにおいて、 '.', '?' や '!' の後に空白を 2 個挿入する。オ
        プション 'cpoptions' にフラグ 'j' が含まれるときは、'.' の後にのみ空白
        を2個挿入する。
        それ以外では空白は1個だけ挿入される。
        NOTE: このオプションは、オプション 'compatible' がオンのときにはオンに
        なるので注意。

                                                        *'key'*
'key'                   文字列  (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+cryptv| 機能付きでコンパイルされたときのみ有
                        効}
        カレントバッファを暗号化したり復号したりするのに使われるキー。
        |encryption| と 'cryptmethod' を参照。
        注意: このキーの値を手動で {訳注: コマンド ":set" を使って、ということ}
        設定しないこと。誰かが入力された文字を盗み見るかもしれない。代わりにコ
        マンド |:X| を使うこと。しかし次のようにして、'key' を空にするのはよい。
                :set key=
        このオプションの値は、":set key" や "echo &key" 等で得ることはできない。
        これは、値を知るべきでない人に知られないようにするためである。このこと
        はまた、設定してしまうとユーザー自身も値を知ることができないということ
        である。タイプミスをしないよう注意!
        スクリプトで "&key" を使うことで暗号化が有効になっているか確認できる。
        'key' がセットされている場合は "*****" (5個のスター) が返る。

                                        *'keymap'* *'kmp'* *E544*
'keymap' 'kmp'          文字列  (既定では "")
                        バッファについてローカル
                        {Vi にはない}
                        {Vimが |+keymap| 機能付きでコンパイルされたときのみ有
                        効}
        キーマッピングの名前を指定する。|mbyte-keymap| を参照。
        このオプションを適正なキーマップ名に設定すると、キーマッピングが有効に
        なるようにオプション 'iminsert' が 1 になるという影響がある。また
        'imsearch' も、元が -1 でない限り 1 になる。
        通常のファイル名文字だけが使用できる。"/\*?[|<>" は不正である。

                                        *'keymodel'* *'km'*
'keymodel' 'km'         文字列  (既定では "")
                        グローバル
                        {Vi にはない}
        キーで可能なことを指定するためのキーワードの、コンマ区切りのリスト。指
        定可能なキーワードは以下の通りである。
           startsel     シフトキーと特別なキーを同時に押して選択を開始する
                        (選択モードとビジュアルモードのどちらでも、オプション
                        'selectmode' で指定された "キー" によって)。
           stopsel      シフトキーを押さないままの特別なキーで選択を止める。
        ここでいう「特別なキー」とはカーソルキー、<End><Home><PageUp> や
        <PageDown> である。
        'keymodel' は、コマンド |:behave| によって設定される。

                                        *'keywordprg'* *'kp'*
'keywordprg' 'kp'       文字列  (既定では "man" または "man -s",  DOSでは:
                                ":help", OS/2では: "view /", VMSでは: "help")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        コマンド |K| に使われるプログラム。環境変数は展開される |:set_env|
        Vim の内部ヘルプを開くコマンドは ":help" である(以前はこのオプションの
        グローバル値を空にすると Vim の内部ヘルプが使われたが、今は推奨されて
        いない)。
        "man" が指定されたときは、"K" に指定されたカウントは自動的に章番号に変
        換される。"man -s" でも同様で、この場合カウントがないときは "-s" は取
        り除かれる。
        値に空白や '\' を含める方法については、|option-backslash| を参照。
        例:
                :set keywordprg=man\ -s
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                        *'langmap'* *'lmap'* *E357* *E358*
'langmap' 'lmap'        文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+langmap| 機能付きでコンパイルされたときのみ
                        有効}
        このオプションでは、ユーザーのキーボードを特別な言語モードに切り替えら
        れるようにする。 挿入モードで文字を入力しているときは、文字は直接入力
        される。しかしノーマルモードではオプション 'langmap' により、入力され
        た特別な文字をキー本来の文字に変換する。つまりノーマルモードコマンドを
        実行するためにキーボードモードを変更しなくともよいということである。
        このオプションは 'keymap' と正反対のものである。'keymap' は挿入モード
        でマッピングを行う。
        また 'langmap' の文字がマッピングの結果として適用されない様に
        'langnoremap' の設定も考慮する。
        このオプションはセキュリティ上の理由で、|modeline| からや |sandbox| の
        中で設定することはできない。

        例 (ギリシャ語に対して、UTF-8で):                       *greek* 
            :set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
        例 (コマンドの z と y の意味の交換):
            :set langmap=zy,yz,ZY,YZ

        'langmap' は、コンマ区切りの指定部のリストである。
        それぞれの指定部は次の2種類のうちどちらかの形式に従う。
        1.  2文字の組のリスト。変換「元」の文字の直後に変換「先」の文字を置い
            て組を作る。例: "aA", "aAbBcC"
        2.  変換「元」の文字のリスト、セミコロン、変換「先」の文字のリスト。
            例: "abc;ABC"
        例: "aA,fgh;FGH,cCdDeE"
        特別な文字は '\' を前に置く必要がある。そのような文字は ";", ',' と
        '\' 自身である。

        Langmap を使えば言語間の切り替えなしにVimの機能を有効化することができ
        る。以下のような場合では、ユーザーの言語の文字でも、Vimは (langmap の
        マッピングに従って) 通常の英語の文字として理解できる。
         o ノーマル/ビジュアルモード (コマンド、バッファ/レジスタ名、ユーザー
           のマッピング)
         o 挿入/置換モード: CTRL-R 入力後のレジスタ名
         o 挿入/置換モード: マッピング
        コマンドラインモードで入力された文字には、このオプションは効力を「持た
        ない」。Note このオプションは、異なった言語/エンコーディング用のマッ
        ピングを切り替えられるときにはいつでも設定を変更できることに注意。毎回
        マッピング設定を打ち込まずに済むようにするには、マッピングを使うこと!

                                        *'langmenu'* *'lm'*
'langmenu' 'lm'         文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+menu| 機能と |+multi_lang| 機能付きでコンパ
                        イルされたときのみ有効}
        メニュー翻訳に使われる言語。つまり 'runtimepath' 内のディレクトリ
        "lang" からどのファイルを読み込むのか指定する。指定方法は次の通り (空
        白はなし)。
                "lang/menu_" . &langmenu . ".vim"
        例えば、環境変数 $LANG が何に設定されていても、常にオランダ語メニュー
        を使うには、次のようにする。
                :set langmenu=nl_NL.ISO_8859-1
        'langmenu' が空のときは、変数 |v:lang| が使われる。
        通常のファイル名文字だけが使用できる。"/\*?[|<>" は不正である。
        ユーザーの環境変数 $LANG は英語以外の言語だが、必ず英語のメニューを使
        いたいならば、次のようにする。
                :set langmenu=none
        このオプションは、メニューの読み込み、ファイルタイプ判定の起動、構文強
        調表示の起動のいずれよりも先に設定しなければならない。メニューが定義さ
        れてしまうと、このオプションを設定しても何の効果もない。しかしこうする
        ことはできる。
                :source $VIMRUNTIME/delmenu.vim
                :set langmenu=de_DE.ISO_8859-1
                :source $VIMRUNTIME/menu.vim
        警告: こうすると、ユーザー自身の定義したメニューも含む、全てのメニュー
        がいったん削除される!

                        *'langnoremap'* *'lnr'* *'nolangnoremap'* *'nolnr'*
'langnoremap' 'lnr'     切替 (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {Vimが |+langmap| 機能付きでコンパイルされたときのみ
                        有効}
        オンの場合、'langmap' の文字がマッピングの結果として適用されない様に
        なる。基本的には、もし 'langmap' の設定により幾らかのマッピングが無効
        になっていると気づいた場合にはこのオプションの設定を試みると良い。
        このオプションは後方互換性の為にデフォルトでオフである。マッピングが壊
        れないようにするにはオンを設定すると良い。

                                        *'laststatus'* *'ls'*
'laststatus' 'ls'       数値    (既定では 1)
                        グローバル
                        {Vi にはない}
        最下ウィンドウにいつステータス行が表示されるかを設定する。
                0: 全く表示しない
                1: ウィンドウの数が2以上のときのみ表示
                2: 常に表示
        ウィンドウをいくつか表示しているときには、ステータス行があると見栄えが
        よくなる。しかし画面上の行をさらに必要とする。|status-line|

                        *'lazyredraw'* *'lz'* *'nolazyredraw'* *'nolz'*
'lazyredraw' 'lz'       切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        オンのときは、マクロやレジスタの内容およびその他のキーボードから打ち込
        まれないコマンドを実行する間、画面は再描画されなくなる。また、ウィンド
        ウタイトルの更新も後回しになる。画面の再描画を強制的に行うには、コマン
        ド |:redraw| を使うこと。

                        *'linebreak'* *'lbr'* *'nolinebreak'* *'nolbr'*
'linebreak' 'lbr'       切替    (既定ではオフ)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+linebreak| 機能付きでコンパイルされたときの
                        み有効}
        オンのときは、画面に収まりきる最後の文字ではなく、オプション 'breakat'
        に指定された文字のところで、長い行を折り返す。'wrapmargin' や
        'textwidth' と違い、これはファイルに実際の <EOL> を挿入しない。このオ
        プションが影響するのはファイルの表示方法であり、内容ではない。
        'breakindent' がオンのときは行はインデントされて表示される。そして、
        'showbreak' に設定された文字が折り返された行の先頭に置かれる。このオプ
        ションは、'wrap' がオフのときには使われない。
        Note 大抵、<EOL> の後の <Tab> は正しい数の空白として表示されないので注
        意。

                                                *'lines'* *E593*
'lines'                 数値    (既定では 24 またはターミナルの高さ)
                        グローバル
        画面上の行数。普通このオプションはターミナルの初期化の時点で設定され、
        手動で設定する必要はない。|posix-screen-size| も参照。
        VimがGUI環境内やサイズ変更可能なウィンドウ内で実行されているときは、こ
        のオプションを変更するとウィンドウサイズも変更される。このサイズ設定を
        GUI でだけ使用したいなら、このコマンドを |gvimrc| ファイルに書くこと。
        行数の最大値は、画面に収まる行数に制限される。可能な限りウィンドウの高
        さを大きくするには次のコマンドを使う:
                :set lines=999
        最小値は2、最大値は1000。
        行数が期待したのより少なかったら、オプション 'guiheadroom' を確認する
        こと。
        あなたがこのオプションを変更したのに、Vimがディスプレイの行数の物理的
        な値を変更できなかったら、ディスプレイ表示がめちゃめちゃになるおそれが
        ある。
        {訳注: オプション 'columns' も参照}

                                                *'linespace'* *'lsp'*
'linespace' 'lsp'       数値    (既定では 0, Win32のGUI版では 1)
                        グローバル
                        {Vi にはない}
                        {VimのGUI版でのみ有効}
        行間の幅のピクセル数。フォントが文字セルの高さを一杯に使っていて、行同
        士が接触してしまうときに便利である。1 以上のときには下線を引く余裕がで
        きる。
        フォントによっては行間が広すぎることがある。その場合は 'linespace'を負
        の値にすると調整することができる。しかしそうすると表示に問題が出る場合
        がある。
                                                *'lisp'* *'nolisp'*
'lisp'                  切替    (既定ではオフ)
                        バッファについてローカル
                        {Vimが |+lispindent| 機能付きでコンパイルされたときの
                        み有効}
        Lispモード: 挿入モードで <Enter> が入力されると、次の行のインデントを
        Lisp の標準 (というかまあ、その一種) にする。また "cc" や "S" でも同様
        である。これが機能するにはオプション 'autoindent' もオンでなければなら
        ない。'cpoptions' のフラグ 'p' はインデントの方法 (Vi互換か、より良い
        方法か) を変更する。'lispwords' も参照。
        キーワードを構成する文字に '-' も含まれるようになる。'equalprg' が空の
        ときには、外部プログラムを呼び出さず、Lisp用のインデント用アルゴリズム
        を使うように、オペレータ "=" を再定義する。
        このオプションは、'paste' がオンのときには使われない。
        {Vi では微妙に動作が違う}

                                                *'lispwords'* *'lw'*
'lispwords' 'lw'        文字列  (既定値はとても長い)
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
                        {Vimが |+lispindent| 機能付きでコンパイルされたときの
                        み有効}
        Lisp用のインデント方法を設定するキーワードの、コンマ区切りのリスト。
        |'lisp'|

                                                *'list'* *'nolist'*
'list'                  切替    (既定ではオフ)
                        ウィンドウについてローカル
        listモード: タブ文字を CTRL-I で表示し、行末に $ を表示する。タブ文字
        と空白文字との差異や、行末に続く空白の差異を見るのに便利である。
        オプション 'listchars' でより詳しく表示方法を設定できる。

        カーソルはタブが占める桁の最初の位置に表示される。nolist の場合はノー
        マルモードでカーソルをタブの上に移動させると、タブが占める桁の最後の位
        置にカーソルが表示されるが、それと異なる。タブをスペースで表示しつつ、
        カーソル位置をそのように変えたいなら、次のようにする:
                
                :set list lcs=tab:\ \ 
        {訳注: 最後、バックスラッシュの後にスペースがあることに注意}

        Note オプション 'cpoptions' がフラグ 'L' を含むならば、このオプション
        は整形コマンドにも影響することに注意 ('textwidth' や 'wrapmargin' と共
        に設定されたとき)。タブの表示方法の変更については、'listchars' を参照。

                                                *'listchars'* *'lcs'*
'listchars' 'lcs'       文字列  (既定では "eol:$")
                        グローバル
                        {Vi にはない}
        'list' モードと |:list| コマンドでの表示に使われる文字を設定する。値は
        指定文字列のコンマ区切りのリストである。
                                                        *lcs-eol*
          eol:文字      行末の表示に使われる文字。指定されないと、行末には何も
                        表示されない。
                                                        *lcs-tab*
          tab:2文字     タブ文字の表示に使われる文字。1文字目は1回だけ使われる。
                        2文字目はタブが通常占めるだけの空白を埋めるまで繰り返
                        し表示される。
                        "tab:>-" とすると、タブが4文字の設定では ">---" となる。
                        指定されないと、タブは ^I と表示される。
                                                        *lcs-space*
          space:文字    スペースの表示に使われる文字。指定されないと、スペース
                        は空白のまま。
                                                        *lcs-trail*
          trail:文字    行末のスペースの表示に使われる文字。指定されないと、行
                        末のスペースは空白のまま。行末のスペースでは "space"
                        の設定を上書きする。
                                                        *lcs-extends*
          extends:文字  'wrap' がオフで、行が画面の右端よりも伸びているときに、
                        最終列に表示される文字。
                                                        *lcs-precedes*
          precedes:文字 'wrap' がオフで、最前列で表示されている最初の文字より
                        前にテキストが存在するとき {訳注: 上の行の末尾が画面の
                        右端より伸びているとき} に、最前列に表示される文字。
                                                        *lcs-conceal*
          conceal:文字  'conceallevel' が 1 のときに Conceal されたテキストの
                        代わりに表示される文字。
                                                        *lcs-nbsp*
          nbsp:文字     ノーブレークスペース文字 (0xA0 (10進数では160) や
                        U+202F) の表示に使われる文字。指定されない場合は空白の
                        まま。{訳注: 0xA0はLatin1で改行なしスペースを表す}

        文字 ':' と ',' は使えない。'encoding' が "utf-8" のときはUTF-8の文字
        が使える。そうでないときはprintableな文字 {訳注: 文書先頭を参照} だけ
        が使える。全ての文字は幅が1でなければならない。
        例:
                :set lcs=tab:>-,trail:-
                :set lcs=tab:>-,eol:<,nbsp:%
                :set lcs=extends:>,precedes:<
        "eol", "extends", "precedes" には強調表示グループ "NonText" が、
        "nbsp", "space", "tab" , "trail" には "SpecialKey" が適用される。
        |hl-NonText| |hl-SpecialKey|

                        *'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
'loadplugins' 'lpl'     切替    (既定ではオン)
                        グローバル
                        {Vi にはない}
        オンのときは、Vimが立ち上がるときにプラグインスクリプトが読み込まれる
        |load-plugins|
        このオプションをユーザーのファイル |vimrc| 内でオフにすることで、プラグ
        インの読み込みを無効化できる。
        Note コマンドライン引数 "-u NONE" または "--noplugin" によってこのオプ
        ションをオフにできることに注意 |-u| |--noplugin|

                                                *'luadll'*
'luadll'                文字列  (既定値はビルドに依存)
                        グローバル
                        {Vi にはない}
                        {Vimが |+lua/dyn| 機能付きでコンパイルされたときのみ有
                        効}
        Lua 共有ライブラリの名前を指定。規定値はコンパイル時に指定された
        DYNAMIC_LUA_DLL の値。
        このオプションはセキュリティの理由により |modeline| や |sandbox| から
        は設定できない。

                                                *'macatsui'* *'nomacatsui'*
'macatsui'              切替 (既定ではオン)
                        グローバル
                        {Mac GUI 版でのみ利用可能}
        これは描画が正しく行われないときのための回避策である。マルチバイト機能
        付きでコンパイルされ、このオプションがオンになっているとATSUI テキスト
        描画が使われる。オフのときは ATSUI テキスト描画は使われない。描画に問
        題が出るならこのオプションをオフにすること。将来のバージョンではこの問
        題は解決し、このオプションは非推奨になるかもしれない。そのため、このオ
        プションをオフにするには次のような方法を使うこと:
                if exists('&macatsui')
                   set nomacatsui
                endif
        描画の問題があるかをチェックするもう1つのオプションは、'termencoding'
        である。

                                                *'magic'* *'nomagic'*
'magic'                 切替    (既定ではオン)
                        グローバル
        検索パターン内で使用可能な特別な文字を変更する。|pattern| を参照。
        NOTE: パターンの使用に関わる移植性の問題を避けるため、常にこのオプショ
        ンを既定値のオンにしておくこと。古いViのスクリプトを使うときのみオフに
        切り替えること。それ以外では、いつでも 'magic' がオンのときに動作する
        ようなパターンを書くこと。nomagic が使いたい場合は "\M" を使う。|/\M|

                                                *'makeef'* *'mef'*
'makeef' 'mef'          文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+quickfix| 機能付きでコンパイルされたときのみ
                        有効}
        コマンド |:make|  (|:make_makeprg| を参照) と |:grep| に使われるエラー
        ファイルの名前。
        値が空のときは、内部で生成された一時ファイルが使われる。
        "##" が含まれているときは、その部分はファイル名の一意性を保つための数
        字に置き換えられる。こうすれば ":make" で既存のファイルを上書きしてし
        まうことがなくなる。
        ":cf" には使われ「ない」。それについてはオプション 'errorfile' を参照。
        環境変数は展開される |:set_env|
        値に空白や '\' を含める方法については、|option-backslash| を参照。
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'makeprg'* *'mp'*
'makeprg' 'mp'          文字列  (既定では "make", VMSでは "MMS")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        コマンド ":make" で使われるプログラム。|:make_makeprg| を参照。値には
        文字 '%' と '#' を使える (|:_%| と |:_#| 参照)。これらはそれぞれ現在の
        ファイル名と代替ファイル名に展開される。ファイル名に特殊文字が含まれる
        ときは |::S| を使う。
        環境変数は展開される |:set_env|。値に空白や '\' を含める方法については、
        |option-backslash| を参照。Note 文字 '|' は2回エスケープすることに注意:
        1回目はコマンド ":set" に対して、 2回目はコマンドの解釈に対してである。
        ユーザーのフィルタが "マイフィルタ" であるときは、次のようにする。
                :set makeprg=gmake\ \\\|\ マイフィルタ
        引数が挿入される場所を指定するには、"$*" を (複数回でも) 使える。例:
                :set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。

                                                *'matchpairs'* *'mps'*
'matchpairs' 'mps'      文字列  (既定では "(:),{:},[:]")
                        バッファについてローカル
                        {Vi にはない}
        括弧などの組を構成する文字。コマンド |%| で片方からもう片方にジャンプ
        する。
        設定できるのは違う文字の組だけである。つまりダブルクォートで囲まれた区
        間をジャンプすることはできない。
        文字はコロンで区切る。
        組はコンマで区切って指定する。値に '<' と '>' を設定する例 (HTML用):
                :set mps+=<:>

        さらに興味深い例は、代入文の '=' と ';' の間でジャンプするもので、Cや
        Java等の言語で便利である。
                :au FileType c,cpp,java set mps+==:;

        コマンド "%" のさらに発展的な使用法については、ディレクトリ
        $VIMRUNTIME/macros 内のプラグイン matchit.vim を参照。
        |add-local-help|

                                                *'matchtime'* *'mat'*
'matchtime' 'mat'       数値    (既定では 5)
                        グローバル
                        {Vi にはない}{Nvi で使われる}
        オプション 'showmatch' がオンのとき、マッチしている括弧を表示するため
        の時間を0.1秒単位で指定する。Note このオプションでは、他の時間関係のオ
        プションと違い、単位がミリ秒でないので注意。これは Nvi との互換性を保
        つためである。

                                                *'maxcombine'* *'mco'*
'maxcombine' 'mco'      数値 (既定では 2)
                        グローバル
                        {Vi にはない}
                        {Vim が |+multi_byte| 機能付きでコンパイルされたとき
                        のみ利用可能}
        表示の際にサポートされている文字の組み合わせ数の最大値。
        'encoding' が "utf-8" のときだけ適用される。
        ほとんどの言語に対しては既定値で十分である。ヘブライ語は4以上が必要で
        ある。最大値は6。
        このオプションの値が2のときでも、それ以上の組み合わせのテキストを編集
        することは可能である。ただしそれを表示することはできない。|g8| や|ga|
        を使う。|mbyte-combining| を参照。

                                                *'maxfuncdepth'* *'mfd'*
'maxfuncdepth' 'mfd'    数値    (既定では 100)
                        グローバル
                        {Vi にはない}
                        {Vimが |+eval| 機能付きでコンパイルされたときのみ有効}
        ユーザー定義関数の関数呼び出しの深さの最大値。これは普通、終わらない再
        帰呼び出しを捉えるために使われる。関数のさらに深い再帰呼び出しを使うと
        きは、オプション 'maxfuncdepth' に、さらに大きい値を設定すること。しか
        しこうするとメモリを余計に消費するので、メモリを使い果たしたときに落ち
        る危険がある。|:function| も参照。

                                                *'maxmapdepth'* *'mmd'* *E223*
'maxmapdepth' 'mmd'     数値    (既定では 1000)
                        グローバル
                        {Vi にはない}
        マッピングに対するマッピングを、文字が使われるまでに繰り返す回数の最大
        値。これは普通、":map x y" と ":map y x" のような堂々巡りで終わらない
        マッピングを捉えるために使われる。しかしこれは ":map g wg" 等は捉えな
        い。それは次のマッピングが行われる前に 'w' が使われているからである。
        |key-mapping| も参照。

                                                *'maxmem'* *'mm'*
'maxmem' 'mm'           数値    (既定では 256 から 5120 の間 (システムによって
                                 異なる) または利用できるメモリの半分)
                        グローバル
                        {Vi にはない}
        1つのバッファに使用できるメモリの最大値 (キロバイト単位)。この限界に達
        すると、バッファにさらにメモリを割り当てるときには、他のメモリを解放す
        る。このオプションの最大値は約 2000000 である。限界を設けないときには
        この値に設定すること。'maxmemtot' も参照。

                                                *'maxmempattern'* *'mmp'*
'maxmempattern' 'mmp'   数値    (既定では 1000)
                        グローバル
                        {Vi にはない}
        パターンマッチングに使うメモリ量の最大値(キロバイト単位)。設定可能な最
        大値は約2000000。限界を設けないときにはこの値に設定すること。
                                                        *E363*
        この制限に達したときは、エラーメッセージを表示し、たいていの場合
        CTRL-C が押されたのと同じように振る舞う。
        制限に達するのはたいてい、検索パターンが極めて非効率であるか複雑過ぎる
        ときである。これは非常に長い行の上で "\(.\)*" を検索するとすぐになる。
        ".*" の方がはるかによい。
        'maxmempattern' の制限に達する前に Vim がメモリ不足になるかもしれない。

                                                *'maxmemtot'* *'mmt'*
'maxmemtot' 'mmt'       数値    (既定では 2048 から 10240 の間 (システムによっ
                                 て異なる) または利用できるメモリの半分)
                        グローバル
                        {Vi にはない}
        全てのバッファで使用するメモリの合計の最大値 (キロバイト単位)。このオ
        プションの最大値は約 2000000 (2 ギガバイト)である。限界を設けないとき
        にはこの値に設定すること。
        64 ビットマシンではもっと高くしても動作するかもしれない。けれど、本当
        にテキストの編集に 2 ギガバイト以上も必要ですか?  Keep in mind that
        text is stored in the swap file, one can edit files > 2 Gbyte anyay.
        We do need the memory to store undo info.
        'maxmem' も参照。

                                                *'menuitems'* *'mis'*
'menuitems' 'mis'       数値    (既定では 25)
                        グローバル
                        {Vi にはない}
                        {Vimが |+menu| 機能付きでコンパイルされたときのみ有効}
        メニューの項目数の最大値。自動生成されるメニュー、例えばバッファメニュー
        に対して使われる。このオプションを変更しても直接の効果はなく、メニュー
        を更新しなければならない。

                                                *'mkspellmem'* *'msm'*
'mkspellmem' 'msm'      文字列  (既定では "460000,2000,500")
                        グローバル
                        {Vi にはない}
                        {Vimが |+syntax| 機能付きでコンパイルされたときのみ有
                        効}
        |:mkspell| に対するパラメーター。単語ツリーの圧縮を開始するタイミング
        を設定する。単語がたくさんあると圧縮に時間がかかるが、メモリ不足になる
        のを防ぐためには必要な事である。単語につき使われるメモリ量はそれらの単
        語がどれだけ似ているかに密接に関係する。そのため、この設定は複雑になる。

        3つの数値があり、それらをコンマで区切る:
                {start},{inc},{added}

        ほとんどの言語では圧縮しない単語ツリーがメモリに収まる。{start} は圧縮
        を行う前に使えるメモリ量をキロバイト単位で指定する。これは Vim が利用
        可能なメモリ量より少し少なくするべきである。

        {start} の制限を超えたとき、別な圧縮を行う前に割り当てることができるメ
        モリ量を {inc} によりキロバイト単位で指定する。これを低い値にするとよ
        り少ない単語を追加した後に圧縮を行うことになる。高い値にするとより多く
        のメモリが割り当てられることになる。

        圧縮を行った後、さらにメモリが必要になって {inc} の制限が無視されて圧
        縮が行われる前に {added}×1024 個の単語を追加することができる。これを
        低い値にすると {inc} の制限にぶつかる機会が少なくなり、より少ないメモ
        リを使うが、遅くなる。

        これらの値が重要になる言語はイタリア語とハンガリー語である。システムが
        約 512Mbyte のメモリを備えているときは既定値でうまくいく。1 GByte のメ
        モリを持っているならこうしてもよい:
                :set mkspellmem=900000,3000,800
        512 Mbyte より少ないメモリしか持っていないなら、'mkspellmem' がどんな
        値であっても、ある言語に対しては |:mkspell|が失敗するかもしれない。

                                   *'modeline'* *'ml'* *'nomodeline'* *'noml'*
'modeline' 'ml'         切替    (Vimの既定値はオン (rootの場合はオフ)、
                                Viの既定値はオフ)
                        バッファについてローカル
                                                *'modelines'* *'mls'*
'modelines' 'mls'       数値    (既定では 5)
                        グローバル
                        {Vi にはない}
        オプション 'modeline' がオンのときは、テキスト中のコマンド ":set" を
        'modelines' に指定された行数だけ調べる。'modeline' がオフであるか、
        'modelines' が 0 のときは、":set" は調べられない。|modeline| を参照。
        NOTE'modeline' は、オプション 'compatible' がオンのときはViの既定値
        に、オフのときはVimの既定値になるので注意。

                                *'modifiable'* *'ma'* *'nomodifiable'* *'noma'*
'modifiable' 'ma'       切替    (既定ではオン)
                        バッファについてローカル
                        {Vi にはない}           *E21*
        オフのときは、バッファの内容が変更できなくなる。オプション
        'fileformat' と 'fileencoding' も変更できなくなる。
        コマンドライン引数 |-M| でオフに設定できる。

                                *'modified'* *'mod'* *'nomodified'* *'nomod'*
'modified' 'mod'        切替    (既定ではオフ)
                        バッファについてローカル
                        {Vi にはない}
        オンのとき、バッファは変更を受けたものとされる。これは以下のようなとき
        にオンになる。
        1. 最後に書き込みをした後にテキストが変更されたとき。|undo| をするコマ
           ンドで元の状態まで戻ったときは、このオプションはオフになる。しかし
           書き込みより前の編集を undo すると、再びこのオプションはオンになる。
           テキストが最後に書き込まれたときと異なっているからである。
        2. オプション 'fileformat' や 'fileencoding' が元の値と異なっていると
           き。元の値とは、バッファが読み込まれたり書き込まれたときに設定され
           た値である。コマンド ":set nomodified" は 'fileformat' や
           'fileencoding' を現在の値に設定し、'modified' をオフにする。
        このオプションは、BufNewFile、BufRead/BufReadPost、BufWritePost、
        FileAppendPost、VimLeave イベントでバッファが変更された場合には設定さ
        れない。例として |gzip-example| 参照。
        'buftype' が "nowrite" または "nofile" であるときもこのオプションを設
        定できるが、無視される。

                                                *'more'* *'nomore'*
'more'                  切替    (Vimの既定値: オン、Viの既定値: オフ)
                        グローバル
                        {Vi にはない}
        オンのときは、一覧表示で画面が一杯になったときは一旦停止し、「継続」プ
        ロンプト |more-prompt| を表示する。オフのときは停止せず、最後まで表示
        する。
        NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
        値に、オフのときはVimの既定値になるので注意。

                                                *'mouse'* *E538*
'mouse'                 文字列  (既定では "", MS-DOS, Win32とGUI版では "a")
                        グローバル
                        {Vi にはない}
        オンのとき、マウスが利用可能になる。特定のターミナルでのみ有効である
        (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, sysmouse 付きの *BSD
        コンソール, gpm 付きの Linux コンソール)。GUIでマウスを使うことについ
        ては、|gui-mouse| を参照。
        マウスの利用はモードごとに設定できる。
                n       ノーマルモード
                v       ビジュアルモード
                i       挿入モード
                c       コマンドラインモード
                h       ヘルプファイルを閲覧しているときの上記の4モード全て
                a       上記の4モード全て
                r       「続けるには」プロンプト |hit-enter| および「継続」プ
                        ロンプト |more-prompt| が出ているとき
        普通、次のようにしてマウスを4モード全てで利用可能にする。
                :set mouse=a
        マウスを有効にしていなくても、GUI版ではモードレスセレクションにマウス
        を使うことができる。しかしこのときにはカーソルは動かない。

        |mouse-using| を参照。またオプション  'clipboard' も参照。

        Note: ターミナルでマウスを有効にすると、Xサーバーにアクセスできるなら
        ばコピー/貼り付けではレジスタ "* を使うことに注意。マウスボタンの
        xterm風の操作は、シフトキーを押したままにすることで実現できる。
        'clipboard' も参照。

                        *'mousefocus'* *'mousef'* *'nomousefocus'* *'nomousef'*
'mousefocus' 'mousef'   切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {VimのGUI版でのみ有効}
        オンのときは、マウスカーソルのおかれたウィンドウが自動的にアクティブに
        なる。マウス以外でウィンドウ配置やウィンドウフォーカスを変更すると、マ
        ウスカーソルはキーボードフォーカスと共に移動する。既定ではオフだが、こ
        れはマウスカーソルを動かして予期しないウィンドウをアクティブにしてしま
        うことがあるため、プルダウンメニューの利用を少し面倒にするからである。

                        *'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
'mousehide' 'mh'        切替    (既定ではオン)
                        グローバル
                        {Vi にはない}
                        {VimのGUI版でのみ有効}
        オンのとき、文字が入力されるときにはマウスカーソルが隠される。マウスが
        動くとマウスカーソルは再び現れる。

                                                *'mousemodel'* *'mousem'*
'mousemodel' 'mousem'   文字列  (既定では "extend", MS-DOSとWin32では "popup")
                        グローバル
                        {Vi にはない}
        マウスの動作モデルを設定する。モデル名は主にマウスの右クリックで行われ
        る動作を表している。
           extend       右クリックで選択範囲を広げる。これは xterm と同様の動
                        作である。
           popup        右クリックでポップアップメニューを表示する。シフト+左
                        クリックで選択範囲を広げる。これは MS-Windows のような
                        動作になる。
           popup_setpos "popup" と似ているが、カーソルが右クリックした場所に移
                        動する。その結果、選択範囲を対象とする操作が {訳注: マ
                        ウスのドラッグで選択した範囲ではなく} クリックしたオブ
                        ジェクトに対して働くようになる。
                        元々操作の対象となるはずの選択範囲内を右クリックしたと
                        きは、カーソルは移動しない。もちろん、選択範囲の外側を
                        左クリックすればビジュアルモードは終了する。
        それぞれのモデルでの、マウス操作の働きの一覧:
        マウス操作          extend              popup(_setpos)
        左クリック          カーソル移動        カーソル移動
        左ドラッグ          選択開始            選択開始
        シフト+左           単語検索            選択範囲の拡張
        右クリック          選択範囲の拡張      メニュー (カーソル移動)
        右ドラッグ          選択範囲の拡張      なし
        中央クリック        貼り付け            貼り付け

        "popup" モデルでは、右クリックでポップアップメニューを表示する。これは
        先に定義しておかなければならない。|popup-menu| を参照。

        Note マウス操作による動作は、マッピングでさらに詳しく設定できることに
        注意。|gui-mouse-mapping| を参照。しかしマッピングはモードレスセレクショ
        ンには「使われない」 (GUIそのものの機能であるため)。

        オプション 'mousemodel' は、コマンド |:behave| で設定できる。

                                        *'mouseshape'* *'mouses'* *E547*
'mouseshape' 'mouses'   文字列  (既定では "i:beam,r:beam,s:updown,sd:cross,
                                        m:no,ml:up-arrow,v:rightup-arrow")
                        グローバル
                        {Vi にはない}
                        {Vimが |+mouseshape| 機能付きでコンパイルされたときの
                        み有効}
        それぞれのモードでのマウスカーソルの外観を設定する。値はコンマ区切りの
        指定部のリストであり、オプション 'guicursor' に使われるものと大分似て
        いる。指定部は、次のような状態リストと外観設定からなる。
                状態リスト:外観,状態リスト:外観,..
        状態リストは、以下のモードまたはカーソル位置のダッシュ '-' 区切りのリ
        ストである。
                        普通のウィンドウ内:
                n       ノーマルモード
                v       ビジュアルモード
                ve      'selection' に "exclusive" が含まれているときのビジュ
                        アルモード (指定されなければ 'v' と同じ設定になる)
                o       Operator-pendingモード
                i       挿入モード
                r       置換モード

                        その他:
                c       コマンドラインへの追加時
                ci      コマンドラインへの挿入時
                cr      コマンドラインでの置換時
                m       「続けるには」プロンプトまたは「継続」プロンプト表示中
                e       全てのモードにおいて、マウスカーソルが最下ウィンドウよ
                        りも下に置かれているとき
                s       全てのモードにおいて、マウスカーソルがステータス行に置
                        かれているとき
                sd      全てのモードにおいて、ステータス行をドラッグ中のとき
                vs      全てのモードにおいて、マウスカーソルが垂直分割の区切り
                        行に置かれているとき
                vd      全てのモードにおいて、垂直分割区切りをドラッグ中のとき
                a       あらゆる場所

        指定可能なマウスカーソルの形は以下の通りである。
        avail   名前            外見
        w x     arrow           普通のマウスカーソル
        w x     blank           カーソルなし (注意して使うこと!)
        w x     beam            I 状の縦棒
        w x     updown          上下のサイズ変更矢印
        w x     leftright       左右のサイズ変更矢印
        w x     busy            システムの「待ち」カーソル
        w x     no              システムの「入力不可」カーソル
          x     udsizing        上下のサイズ変更を示す
          x     lrsizing        左右のサイズ変更を示す
          x     crosshair       大きくて細い +
          x     hand1           黒い手
          x     hand2           白い手
          x     pencil          文字を書くときの、あの鉛筆
          x     question        大きな ?
          x     rightup-arrow   右上向き矢印
        w x     up-arrow        上向き矢印
          x     <number>        任意の X11 のカーソルナンバー
                                (X11/cursorfont.h を参照)

        上の "avail" という項目は、 'w' ならばそのマウスカーソルをWin32で利用
        でき、'x' ならばX11で利用できることを表す。
        指定されなかったモードや、利用不可能なカーソルを指定されたモードでは、
        通常のマウスカーソルを使う。

        例:
                :set mouseshape=s:udsizing,m:no
        とすると、マウスカーソルはステータス行の上ではサイズ変更を表す形になり、
        「続けるには」プロンプトが表示されているときには入力不可を表す (この状
        態ではマウスクリックに効果がないので)。

                                                *'mousetime'* *'mouset'*
'mousetime' 'mouset'    数値    (既定では 500)
                        グローバル
                        {Vi にはない}
        GUI版, MS-DOS, Win32とUnixのxtermでのみ有効。ダブルクリックなどとして
        認識されるクリックとクリックの間の時間を、ミリ秒単位で設定する。

                                                    *'mzquantum'* *'mzq'*
'mzquantum' 'mzq'       数値    (既定では 100)
                        グローバル
                        {Vi にはない}
                        {Vimが |+mzscheme| 機能付きでコンパイルされたときのみ
                        有効}
        MzScheme のスレッドを切り替える間隔(ミリ秒)。
        負または0にするとスレッドのスケジューリングを行わなくなる。

                                                        *'nrformats'* *'nf'*
'nrformats' 'nf'        string  (default "bin,octal,hex")
                        バッファについてローカル
                        {Vi にはない}
        テキスト内の数をコマンド CTRL-A や CTRL-X で増減させるとき、 Vimに何を
        数として認識させるかを設定する。これらのコマンドの詳しい情報については
        |CTRL-A| を参照。
        alpha   これが含まれると、単一のアルファベットも増減操作を受ける。これ
                は a), b) 等の、文字を使ったリストに対して便利である。
                                                        *octal-nrformats*
        octal   これが含まれると、0 で始まる数は8進数として認識される。例:
                "007" の上で CTRL-A を使うと "010" となる。
        hex     これが含まれると、"0x" や "0X" で始まる数は16進数として認識さ
                れる。例: "0x100" の上で CTRL-X を使うと "0x0ff" となる。
        bin     If included, numbers starting with "0b" or "0B" will be
                considered to be binary.  Example: Using CTRL-X on
                "0b1000" subtracts one, resulting in "0b0111".
        1 から 9 の数字で始まる数は、常に10進数として認識される。8進数または16
        進数として認識されない数も10進数として認識される。

                                *'number'* *'nu'* *'nonumber'* *'nonu'*
'number' 'nu'           切替    (既定ではオフ)
                        ウィンドウについてローカル
        毎行の前に行番号を表示する。オプション 'cpoptions' にフラグ 'n' が含ま
        れていないときは、折り返された行の先頭は行番号の表示される桁に入り込ま
        ない ('compatible' がオフのときはこれが既定である)。
        オプション 'numberwidth' で行番号の幅を設定することができる。
        折り返された行が長すぎて {訳注: 行の途中の部分だけで画面一杯になってし
        まい} 行の本当の先頭の文字が表示されていないときは、文字 '-' が行番号
        の前に表示される。行番号に使われる強調表示グループについては
        |hl-LineNr| と |hl-CursorLineNr| を参照。
                                                *number_relativenumber*
        'relativenumber' オプションは表示される番号をカーソルからの相対にす
        る。'number' と共にこれら4つの組み合わせがある。 (カーソルは3行目):

                'nonu'          'nu'            'nonu'          'nu'
                'nornu'         'nornu'         'rnu'           'rnu'

            |apple          |  1 apple      |  2 apple      |  2 apple
            |pear           |  2 pear       |  1 pear       |  1 pear
            |nobody         |  3 nobody     |  0 nobody     |3   nobody
            |there          |  4 there      |  1 there      |  1 there

                                                *'numberwidth'* *'nuw'*
'numberwidth' 'nuw'     数値    (Vim の既定値: 4  Vi の既定値: 8)
                        ウィンドウについてローカル
                        {Vi にはない}
                        {Vimが |+linebreak| 機能付きでコンパイルされたときの
                        み利用可能}
        行番号を表示するのに使われる桁数の最小値。'number' か 'relativenumber'
        がオンのときか行番号付きで印刷するときのみ意味がある。常に番号とテキス
        トの間にスペースが1つ置かれるので、番号そのものに割かれる桁数はこれよ
        り1文字少なくなる。
        この値は最小の幅である。'number' がオンのときにはバッファの行数、
        'relativenumber' がオンのときにはウィンドウの行数を、それぞれ表示する
        のに足りないときは設定されたよりも広い幅が使われる。つまり、Vim の既定
        値の4だと、999行目までの幅が割り当てられることになる。バッファが1000行
        以上になると5桁が割り当てられるようになる。
        最小値は1。最大値は10。
        NOTE'compatible' がオンになると 'numberwidth' は8になる。

                                                *'omnifunc'* *'ofu'*
'omnifunc' 'ofu'        文字列  (既定では: 空)
                        バッファについてローカル
                        {Vi にはない}
                        {Vim が |+eval| と |+insert_expand| 機能付きでコンパ
                        イルされたときのみ利用可能}
        このオプションは挿入モードにおける CTRL-X CTRL-O でのオムニ補完で使わ
        れる関数を指定する。|i_CTRL-X_CTRL-O|
        この関数がどのように呼び出され、何を返すべきかについては
        |complete-functions| を参照。
        このオプションは普通ファイルタイププラグインによって設定される。
        |:filetype-plugin-on|
        このオプションは |modeline| や |sandbox| の中ではセキュリティ上の理由
        により設定できない。

                            *'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
'opendevice' 'odev'     切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
                        {MS-DOS, MS-Windows and OS/2 でのみ有効}
        デバイスからの読み書きを有効にする。これを有効にすると、オープンされて
        いる可能性があるが、実際には入出力を行わないデバイスにひっかかる
        可能性がある。{訳注: 原文は次の通り:
        This may get Vim stuck on a device that can be opened but doesn't
        actually do the I/O. }
        そのため既定ではオフになっている。
        MS-Windowsで "aux.h"、"lpt1.txt" などを編集するとデバイスを編集中にな
        ることに注意。


                                                *'operatorfunc'* *'opfunc'*
'operatorfunc' 'opfunc' 文字列  (既定では: 空)
                        グローバル
                        {Vi にはない}
        このオプションはオペレータ |g@| で呼び出される関数を指定する。
        より詳しい情報と例については |:map-operator| を参照。

        安全上の理由から、このオプションをモードライン|modeline|やサンドボック
        ス|sandbox|の中で設定することはできない。


                                        *'osfiletype'* *'oft'*
'osfiletype' 'oft'      文字列 (既定では: "")
                        バッファについてローカル
                        {Vi にはない}
        このオプションは RISC OS でサポートされていたが、RISC OS サポートは削
        除された。


                                                *'paragraphs'* *'para'*
'paragraphs' 'para'     文字列  (既定では "IPLPPPQPP TPHPLIPpLpItpplpipb")
                        グローバル
        Nroff {訳注: UNIXで使われる画面整形システム} で使われる、段落を分ける
        ためのマクロを指定する。値は2文字の組である (|object-motions| を参照)。

                                                *'paste'* *'nopaste'*
'paste'                 切替    (既定ではオフ)
                        グローバル
                        {Vi にはない}
        オンにするとVimはPasteモードに移行する。これはテキストを別のウィンドウ
        から切り取ったりコピーして、Vim内に貼り付けたいときに便利であり、予想
        しない作用を避けることができる。
        このオプションはVimをターミナルで使っているときに便利である。ターミナ
        ルでは打ち込まれたテキストと貼り付けられたテキストの区別がつかないから
        だ。GUI版のVimでは貼り付け時にすべき動作を知っているので、'paste' がオ
        フでも大抵うまくいく。Vimがマウスクリックを扱えるようなターミナルでも
        同様にうまくいく。
        GUI を開始するとこのオプションはオフになる。そのため、.vimrc 内でこの
        オプションをオンにすると、それはターミナル内では働くが、GUI ではオフに
        なる。GUI 版で 'paste' をオンにすると次のような副作用がある: 例.
        「ペースト」ツールバーボタンが挿入モードで動作しなくなる。このボタンは
        マッピングを使っているためである。
        'paste' がオンのときは、以下のように設定が変わる。
                - 挿入モードとコマンドラインモードでのマッピングが無効になる
                - 略語展開が無効になる
                - 'autoindent' がオフになる
                - 'expandtab' is reset
                - 'formatoptions' が空のときのような動作になる
                - 'revins' がオフになる
                - 'ruler' がオフになる
                - 'showmatch' がオフになる
                - 'smartindent' がオフになる
                - 'smarttab' is reset
                - 'softtabstop' が 0 になる
                - 'textwidth' が 0 になる
                - 'wrapmargin' が 0 になる
        以下のオプションの値に変化はないが、働きは無効になる。
                - 'cindent'
                - 'indentexpr'
                - 'lisp'
        NOTE'paste' がオンのときに別のファイルの編集を始めると、モードライン
        や autocommand によって設定が再び変わり、貼り付け時に問題が起きること
        があるので注意。そのときは 'paste' を再びオンにするとよいだろう。
        'paste' をオフにすると、上記のオプションの設定は 'paste' がオンになっ
        た時点の前の状態に復元される。
        'paste' をオンにする前にオフにしても何の効果もない。
        'paste' がオンの間はマッピングが無効になるので、どれかのキーで 'paste'
        を切り替えるには 'pastetoggle' を使う必要がある。

                                                *'pastetoggle'* *'pt'*
'pastetoggle' 'pt'      文字列  (既定では "")
                        グローバル
                        {Vi にはない}
        空でないとき、オプション 'paste' を切り替えるキー列を指定する。これは
        以下のようなマッピングの設定に似ている。
            :map {keys} :set invpaste<CR>
        ここで {keys} は 'pastetoggle' の値が当てはまる。
        違うのは、こちらは 'paste' がオンでも有効だという点だ。
        'pastetoggle' は挿入モードとノーマルモードで有効だが、コマンドライン
        モードでは無効である。
        マッピングが最初に調べられるので、'pastetoggle' を上書きできる。しかし
        'paste' がオンならば挿入モードでマッピングは無視されるので、以下のよう
        な設定が可能である。
            :map <F10> :set paste<CR>
            :map <F11> :set nopaste<CR>
            :imap <F10> <C-O>:set paste<CR>
            :imap <F11> <nop>
            :set pastetoggle=<F11>
        こうすると <F10> でPasteモードが始まり、<F11> でPasteモードが終わる。
        Note Pasteモードで <F10> を入力すると "<F10>" が挿入されるので注意。こ
        れは、Pasteモードでは 'pastetoggle' で指定されたキー列以外は全てそのま
        ま挿入されるからである。
        このオプションの値が複数バイトからなる場合、'ttimeoutlen' が適用される。

                                                *'pex'* *'patchexpr'*
'patchexpr' 'pex'       文字列  (既定では "")
                        グローバル
                        {Vi にはない}
                        {Vimが |+diff| 機能付きでコンパイルされたときのみ有効}
        ファイルにパッチを適用し、ファイルの新しいバージョンを生成するために使
        われる式。|diff-patchexpr| を参照。

                                        *'patchmode'* *'pm'* *E205* *E206*
'patchmode' 'pm'        文字列  (既定では "")
                        グローバル
                        {Vi にはない}
        値が空でないとき、ファイルの最も古いバージョンが保管されるようになる。
        ソース配布物内のファイルに変更を加えたとき、元のバージョンを取っておき
        たいならこれを使う。最初にファイルが書き込まれたときのみ、元のファイル
        のコピーが作られる。コピーのファイル名は、元のファイル名の後に
        'patchmode' の値を付け加えたものである。このオプションの値はドットで始
        めるようにすべきである。".org" 等を使うこと。この機能を使うには、
        'backupdir' が空であってはならない (詳細: 変更後のファイルの書き込みが
        成功してから、バックアップファイルがオリジナルをコピーしたファイルにリ
        ネームされるため、バックアップファイルを生成できなければならない)。バッ
        クアップすべきファイルがないときは、空ファイルが作られる。
        'backupskip' がファイル名にマッチしたときは、元のファイルは保管されな
        い。
        圧縮ファイルに 'patchmode' を使うと、ファイル名末尾に拡張子が付けられ
        るので (例えば "file.gz.orig")、その結果できたファイルは必ずしも圧縮ファ
        イルとは認識されなくなってしまう。
        通常のファイル名文字だけが使える。"/\*?[|<>" は不正である。

                                *'path'* *'pa'* *E343* *E345* *E347* *E854*
'path' 'pa'             文字列  (Unixでの既定値: ".,/usr/include,,"
                                   OS/2での既定値: ".,/emx/include,,"
                                   他のシステムでの既定値: ".,,")
                        グローバル/バッファについてローカル |global-local|
                        {Vi にはない}
        値はディレクトリのリストであり、コマンド |gf|, [f, ]f, ^Wf, |:find|,
        |:sfind||:tabfind| 等で、検索されるファイルが相対パス ("/", "./",
        "../" で始まらないパス {訳注: MS-Windowsでは "C:/" 等で始まらないパス})
        で指定されたときに使われるものである。オプション 'path' にディレクトリ
        を指定するには、相対パスでも絶対パスでもよい。
        - 複数のディレクトリ名はコンマで区切る。
                :set path=.,/usr/local/include,/usr/include
        - 区切りには空白も使える (Vim version 3.0 との後方互換性のため)。中に
          空白を含んだディレクトリ名を指定するには、空白の前に余分に '\' {訳注:
          |option-backslash| を参照} を置き、その上で空白と '\' を '\' でエス
          ケープすること。
                :set path=.,/dir/with\\\ space
                {訳注: 結果は ".,/dir/with\ space"}
        - 中にコンマを含んだディレクトリ名を指定するには、コンマの前に余分に
          '\' を置き、その上で '\' を '\' でエスケープすること。
                :set path=.,/dir/with\\,comma
                {訳注: 結果は ".,/dir/with\,comma"}
        - カレントファイルに対し相対的にディレクトリを指定するには、こうする。
                :set path=.
        - カレントディレクトリを指定するには、2個のコンマで空文字列を挟む。
                :set path=,,
        - ディレクトリ名の末尾は ':' や '/' でもよい。
        - 環境変数は展開される |:set_env|
        - 公式プラグイン |netrw.vim| を使っているときはURLも指定できる。例えば
          "http://www.vim.org" を追加すると ":find index.html" とすることがで
          きる。
        - "*", "**", ";" を使えばディレクトリツリーの上下に向かって検索できる。
          詳しくは |file-searching| を参照。
          {Vimが |+path_extra| 機能付きでコンパイルされたときのみ有効}
        - 文字 '\' の扱いには注意。オプションの値に '\' を1個含めるには、次の
          ように2個打ち込む。
                :set path=.,c:\\include
          または、次のように代わりに '/' を使う。
                :set path=.,c:/include
        値に "." を含めるのを忘れないこと!そうしないと、カレントファイルと同
        じディレクトリ内のファイルさえも発見できない!
        値の長さには制限がある。システムごとに異なるが、大抵は256文字か1024文
        字等の長さである {訳注: これは半角の場合で、全角では半分}。
        'path' でインクルードしたファイルを全て発見できているかどうかについて
        は、|:checkpath| を参照。
        リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディ
        レクトリを除くときにはコマンド |:set-=| を使うのがよい。こうすると将来
        のバージョンで異なった既定値が使われるようになったときに、問題が起きる
        のを防げる。ただしカレントディレクトリを取り除くには次のようにする。
                :set path-=
        またカレントディレクトリを追加するには次のようにする。
                :set path+=
        環境変数を使うには、その中の区切り文字を変える必要があるだろう。次のも
        のは環境変数 $INCL を追加する例だが、その中ではディレクトリ名はセミコ
        ロン ';' で区切られているとする。
                :let &path = &path . "," . substitute($INCL, ';', ',', 'g')
        文字 ';' を ':' または指定可能な区切り文字で置換する。  Note この方法
        は、$INCL がコンマや空白を含んでいるときには使えないので注意。

                                                *'perldll'*
'perldll'               文字列  (既定値はビルドに依存)
                        グローバル
                        {Vi にはない}
                 &