Up: 目次   [Index]


全オプションの說明

*options.txt*	For Vim バージョン 8.1.  Last change: 2019 Nov 10


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

オプション

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

オプションの槪要については、quickref.txt |option-list| を參照。

Vim には、特別な働きをさせるための多くの內部變數とスイッチがある。それらのオプションには 3 種類ある。

切替 boolean オプションオンかオフかのどちらかの値をとる
數値 number オプション數値の値を取る
文字列 string オプション文字列の値を取る

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

ローカルな:

あるバッファまたはウィンドウにのみ適用されるやうな、といふ意味。

ローカルオプション:

あるバッファまたはウィンドウ內の設定のみを變へ、その他のバッファまたはウィンドウの設定に影響しないやうなオプション。

ウィンドウについてローカルな:

あるウィンドウにのみ適用されるやうな、といふ意味。バッファについてローカルな、も同樣な意味を持つ。

グローバルな:

Vim 全體に適用されるやうな、または、Vim 全體で共通の値を使ふやうな、といふ意味。

上の 4 項目については |option-summary| も參照。

non-printable, unprintable:

文字が畫面に表示可能なフォントに對應してゐないこと。具體的には <CTRL> などを押しながら入力した文字や <ESC> が例である。主に制禦に利用される。

譯語で、さらに相應しいものがあればご提案を下さい。}

1. オプションの設定

:se[t]

既定値と違ふ値のオプションを全て表示する。

:se[t] all

ターミナルオプション以外の全てのオプションを表示する。

:se[t] termcap

ターミナルオプションを全て表示する。

Note:
GUI バージョンでは、キーコードは表示されないので注意。なぜなら、キーコードは內部的に生成され、變更が不可能だからだ。それに、GUI バージョンでターミナルコードを變更するのは便利とは言へない...

:se[t] {option}?

{option} の値を表示する。

:se[t] {option}

切替オプション: セット、すなはちオンに切り替へる。
數値オプション: 値を表示する。
文字列オプション: 値を表示する。

:se[t] no{option}

切替オプション: リセット、すなはちオフに切り替へる。

:se[t] {option}!
:se[t] inv{option}

切替オプション: オンとオフを切り替へる。

:se[t] {option}&

オプションを既定値に設定する。オプション ’compatible’ のその時點の値によつて違ふかもしれない。

:se[t] {option}&vi

オプションを Vi の既定値に設定する。

:se[t] {option}&vim

オプションを Vim の既定値に設定する。

:se[t] all&

全てのオプションを既定値に設定する。ただし以下のオプションについては變更しない。

t_ で始まる端末用のオプション全部

'columns'
'cryptmethod'
'encoding'
'key'
'lines'
'term'
'ttymouse'
'ttytype'

警告: これにはたくさんの副作用があるだらう。

: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}

數値オプションに對しては {value} だけその値を增す。文字列オプションに對しては後ろに {value} を追加する。オプションがコンマ區切りのリストのときは、値が空でない限り、元の値と {value} の閒にコンマが付け加へられる。

オプションがフラグのリストであるときは、冗長なフラグは取り除かれる。すでに入つてゐるフラグを加へようとしたときは、そのオプションの値は變はらない。上の |:set-args| も參照。

:se[t] {option}^={value}

數値オプションに對してはその値を {value} 倍する。文字列オプションに對しては前に {value} を追加する。オプションがコンマ區切りのリストのときは、{value} と元の値の閒にコンマが付け加へられる。上の |:set-args| も參照。

:se[t] {option}-={value}

數値オプションに對しては {value} だけその値を減らす。文字列オプションに對しては {value} を (それが含まれてゐたら) 取り除く。そのとき {value} が含まれてゐなくても、警告やエラーは出ない。オプションがコンマ區切りのリストであり、取り除くオプションが唯一の値でない限り、閒のコンマも削除される。

オプションがフラグのリストであるときは、{value} は値の中に現れるままに、正確に指定しなければならない。問題が起こるのを避けるために、フラグを取り除くときは 1 個ずつ指定すること。上の |:set-args| も參照。

1 回のコマンド ":set" に對し、複數の {option} を引數に指定できる。例:

:set ai nosi sw=3 ts=3

引數の中にエラーがあると、エラーメッセージが現れ、エラーの元になつたオプション以降は無視される。

オプション ’verbose’ の値が非 0 なら、オプションの値を表示するとき、同時に、そのオプションが最後に設定されたのはどこであつたかも分かる。例:

:verbose set shiftwidth cindent?
shiftwidth=4
    Last set from modeline line 1
cindent
    Last set from /usr/local/share/vim/vim60/ftplugin/c.vim line 30

これは特定のオプション名が指定されたときのみ機能する。コマンド ":set all" や、引數のないコマンド ":verbose" ではメッセージが現れない。

オプションが手動で設定されてゐると、メッセージ "Last set" は現れない。オプションが函數やユーザーコマンド、自動コマンド autocommand の實行中に設定されたときは、それらが定義されてゐるスクリプト名が報告される。

Note:
compatible’ を設定すると副作用として他のオプションも設定されることがある。

以下のやうな特殊なメッセージがある:

Last set from modeline line 1

モードライン |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| 機能付きでコンパイルされたときのみ有效}

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

キーコードが設定されてゐない場合、それは存在しないのと同じである。その値を取得しようとするとエラーになる:

:set t_kb=
:set t_kb
E846: Key code not set: t_kb

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

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

文字列オプションの値に空白を含めるには、空白の前に ’\’ を置く必要がある。値に ’\’ を含めるには、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番目の結果は、おそらく希望通りのものではないだらう。このやり方は避けること。

値がフラグのリストからなるオプションもある。さういつたオプションにフラグを追加したいとき、既存の値を變更したくないならば、かうすること。

:set guioptions+=a

オプションからフラグを取り除くには、かうすること。

:set guioptions-=a

これはオプション ’guioptions’ からフラグ ’a’ を取り除く。

Note:
フラグは1個ずつ追加したり取り除いたりするやう注意。オプション ’guioptions’ が "ab" といふ値であるとき、"‘set guioptions-=ba’" は機能しない。なぜなら、"ba" といふ文字列は現れてゐないからである。

特定の文字列オプションでは環境變數が展開される。’$’ とそれに續く環境變數名が、その値に置き換へられる (その環境變數が存在するとき)。環境變數が存在しないとき、’$’ とそれに續く變數名は變更を受けない。識別子に使へない non-id 文字 (英字、數字、’_’ 以外) なら、どれでも環境變數名の後に續けることができる。識別子に使へない文字とそれに續く文字は、環境變數の値の後ろにそのまま追加される。例:

:set term=$TERM.new
:set path=/usr/$INCLUDE,$HOME/include,.

コマンド ":set opt-=値" でオプションから文字列を取り除いたり、コマンド ":set opt+=値" でオプションに文字列を追加したりするときには、環境變數の展開が行はれてからさうした操作がなされる。

ローカルオプションの扱ひ

いくつかのオプションは、1 つのウィンドウや 1 つのバッファのみに適用される。それぞれのウィンドウやバッファは、さうしたオプションの獨自のコピーを保持してゐるため、獨自の値を持つことができる。

これにより、あるウィンドウ內では ’list’ オプションをオンにするが、他のウィンドウではオフにする、といふことが可能になる。またオプション ’shiftwidth’ を、あるバッファ內では 3 にし、他では 4 にすることもできる。

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

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

新しいバッファを編輯するとき、そのバッファのローカルオプションは初期化されなければならない。その以前のカレントバッファのローカルオプションは、そのバッファのみに適用すべきものかもしれないので、新しいバッファには適用されない。その代はり、バッファについてローカルなオプションにはそれぞれグローバルな値があり、新しいバッファにはそれが適用される。

コマンド ":set" によつて、ローカルな値とグローバルな値の兩方が變更される。コマンド "setlocal" はローカルな値のみを變更するので、それで指定した値は新しいバッファには適用されない。

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

特定のバッファの種類についてウィンドウ內のローカルオプションを設定することも可能である。同じウィンドウ內で別のバッファを編輯するときは、ウィンドウについてローカルなオプションを使ひ續けたくはないだらう。

そのため Vim はウィンドウについてローカルなオプションのグローバルな値を記憶してをり、別のバッファの編輯時にはそれを用ゐる。ウィンドウはそれぞれ、それらの値の獨自のコピーを持つてゐる。

そのため、それらのオプションはウィンドウについてはローカルであるが、そのウィンドウ內の全てのバッファについてグローバルである。それらを用ゐて、次のやうなことが可能である。

:e 1 つ目
:set list
:e 2 つ目

かうするとオプション ’list’ はバッファ "2 つ目" にも適用される。コマンド ":set list" により、グローバルな値もオンになつたからである。

:set nolist
:e 1 つ目
:setlocal list
:e 2 つ目

今度はバッファ "2 つ目" ではオプション ’list’ はオフである。なぜならコマンド ":set nolist" がグローバルな値をオフにしたが、コマンド ":setlocal list" はバッファ "1 つ目" についてローカルな値をオンにしただけで、":e 2 つ目" ではグローバルな値が適用されるからである。

Note:
次にかうすると

:e 1 つ目

最後にバッファ "1 つ目" を編輯したときの通りにオプション ’list’ の値が戾る。ウィンドウについてローカルなオプションはバッファ每に記憶される。バッファがロードされてゐなくても同樣に記憶されてゐる。ただし、バッファが破毀 (|:bwipe|) されたときは設定は消える。

:setl[ocal] ...

コマンド ":set" と似てゐるが、カレントバッファ/ウィンドウについてローカルな値のみを設定する。全てのオプションがローカルな値を持つわけではない。オプションがローカルな値を持たないときは、グローバルな値が設定される。 引數が "all" のとき: 全てのローカルオプションのローカルな値を表示する。

引數がないとき: 全てのローカルオプションのローカルな値で、既定値と異なるものを表示する。 特定のローカルオプションを表示するときは、ローカルな値も表示する。グローバルまたはローカルな切替オプションに對しては、グローバルな値が表示される場合には、オプション名の前に "‘--’" が表示される。

グローバルオプションに對しては、グローバルな値が表示される (しかし、これは將來變更されるかもしれない)。

:setl[ocal] {option}<

値をコピーすることによつて {option} のローカルな値をグローバルな値と同じにする。

:se[t] {option}<

|global-local| オプションに對して: {option} のローカル値を削除する。さうすることでグローバル値が使はれるやうになる。

:setg[lobal] ...

コマンド ":set" と似てゐるが、ローカルオプションのグローバルな値のみを設定し、ローカルな値は變更しない。オプションの値を表示するときは、グローバルな値が表示される。

引數が "all" のとき: 全てのローカルオプションのグローバルな値を表示する。

引數がないとき: 全てのローカルオプションのグローバルな値で、既定値と異なるものを表示する。

バッファ/ウィンドウについてローカルなオプションに對して:

コマンドグローバルな値ローカルな値
:set オプション=値設定される設定される
:setlocal オプション=値なし設定される
:setglobal オプション=値設定されるなし
:set オプション?なし表示される
:setlocal オプション?なし表示される
:setglobal オプション?表示されるなし

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

オプションがグローバルであるといふのは、1 つの値を全てのバッファとウィンドウに用ゐるやうな場合である。いくつかのグローバルオプションでは、ローカルな別の値を持てると便利である。ローカルな値は、コマンド ":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] [FALLBACK] {filetype}

{filetype} に對してオプション ’filetype’ を設定する。ただし autocommand の中 (入れ子になつてゐるときは、外側も含めて) でまだ實行されてゐないときのみ有效である。

これは以下のコマンドの略である。

:if !did_filetype()
:  setlocal filetype={filetype}
:endif

このコマンドは filetype.vim の中で使はれ、オプション ’filetype’ が 2 度設定されて別の設定や構文ファイルが讀み込まれることがないやうにしてゐる。

任意の引數 FALLBACK が存在すると、後の :setfiletype コマンドは ’filetype’ を上書きする。これはファイルタイプの決定を正確に推測するために使はれる。|did_filetype()| はこのコマンドの後では false を返すだらう。

:bro[wse] se[t]
:opt[ions]

全てのオプションを表示したり設定するためのウィンドウを開く。オプションは機能ごとにまとめられてゐる。ここではオプションの短い說明が讀める。その上で <CR> を打ち込むと、そのオプションについてのヘルプウィンドウが開き、詳しい說明が讀める。 表示されてゐる値を修正した後に "set" 行の上で <CR> を打ち込むと、新しい値を設定できる。ウィンドウやバッファ固有のオプションについては、變更した値は最後に使用したウィンドウに適用される。そのウィンドウがヘルプウィンドウだつたときは、變更した値はヘルプウィンドウの (オプションウィンドウを拔かして) 1 つ下のウィンドウに適用される。

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

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

Unix 系のシステムでは "~user" も使へる。これは "user" といふユーザーのホームディレクトリに置き換へられる。例:

:set path=~mool/include,/usr/include,.

Unix 系のシステムでは "${HOME}" といふ形式も使へる。ここで {} の閒には識別子に使へない文字 {譯注: 上を參照} が入つてもよい。

Note:
これをコマンド "gf" のために使ひたいなら、文字 ’{’ と ’}’ をオプション ’isfname’ に追加する必要がある。

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

MS-Windows では、$HOME 環境變數が定義されてゐない場合は Vim の起動時に $HOMEDRIVE$HOMEPATH といふ値で定義される。もしも $HOMEDRIVE が設定されてゐなければ $USERPROFILE が使はれる。

この展開された値は環境變數にはエクスポートされない。これは外部コマンドを動作してゐるときに問題となる:

:echo system('set | findstr ^HOME=')

そして

:echo luaeval('os.getenv("HOME")')

は、exists(’$HOME’) が眞であるにもかかはらず何も出力しないだらう (空文字列)。$HOME に空ではない何らかの文字列を設定すると、それはサブプロセスにエクスポートされるだらう。

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

:fix[del]

ターミナルオプション ’t_kD’ {譯注: デリートキー} の値を設定する。

’t_kb’’t_kD’
CTRL-?のときCTRL-H になる
CTRL-? 以外のときCTRL-? になる

(CTRL-? は 8 進數で 0177、16 進數で 0x7f)

ターミナルのデリートキーのキーコードが違つてゐるが、バックスペースのキーコードは正しいときは、次のコマンドをファイル .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" にはあなたの使ふターミナルの種類を當てはめる。

Note:
Linux についての注意: 既定ではバックスペースキーは CTRL-? を送るが、これは違つてゐる。これを修正するには、ファイル rc.local に次の行を加へる。

echo "keycode 14 = BackSpace" | loadkeys

Note:
NetBSD についての注意: バックスペースキーが正しいキーコードを送らないとき、これを試すこと。

xmodmap -e "keycode 22 = BackSpace"

有效だつたら、ファイル .Xmodmap に次の行を加へること。

keysym 22 = BackSpace

これを有效にするには、再起動する必要がある。

2. オプションの自動設定

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

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

モードラインには 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:" の略かもしれないから)。

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

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

モードラインの內容が、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| が有效になる。’modelineexpr’ が設定されてゐる場合、一部のオプションはモードラインからしか設定できない (デフォルトはオフ)。

しかしそれでもモードラインが問題を引き起こす可能性はわづかに殘る。例へば、惡意のある誰かが ’textwidth’ を 5 にすると、ファイルの全ての行が豫期せず折り返されてしまふ。そのため、信用できないファイルを編輯する前にはモードラインを無效にすること。例へば mail ftplugin はそれを行つてゐる。

Hint: ファイルを讀み込みときにオプション設定以外を行ひたいなら、ファイル內の特定の文字列を調べる autocommand を定義すればよい。例:

au BufReadPost * if getline(1) =~ "VAR" | call SetVar() | endif

そして "VAR" を含む行に何かを行ふための SetVar() 函數を定義すればよい。

3. オプションの要約

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

この文書內では、切替オプションを「オンに」するといふのは ":set オプション" を實行することを表す。切り替へオプションを「オフに」するといふのは ":set noオプション" を實行することを表す。

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

ほとんどのオプションは全てのウィンドウやバッファで共通である。さてその中には、テキストがウィンドウ內でどのやうに表示されるかを定めるものもある。さういつたオプションは、ウィンドウごとに違ふ値にできる。

例へばオプション ’list’ は、あるウィンドウ內でオンにしても、同じテキストを編輯してゐる別のウィンドウ內ではオフにすることができる。すると同時に違つた表示方法が使へる。

また、ファイルごとに特定の値にできるオプションもある。さういつたオプションは、ファイルごとまたはバッファごとに違ふ値にできる。例へばオプション ’textwidth’ は、通常のテキストファイルには 78 にし、C プログラムのファイルには 0 にするやうにできる。

グローバル:1 つのオプションが全てのバッファやウィンドウに對して適用される
ウィンドウについてローカル:ウィンドウがそれぞれ、そのオプションのコピーを獨自に持つ
バッファについてローカル:バッファがそれぞれ、そのオプションのコピーを獨自に持つ

{譯注: 上の項目については、文書先頭も參照}

新しいウィンドウを開くとき、ウィンドウ固有のオプションには、その前にアクティブだつたウィンドウでの値がまず使はれる。バッファ固有のオプションは、オプション ’cpoptions’ のフラグ ’s’ とフラグ ’S’ によつて違つてくる。

フラグ ’s’ が含まれてゐると (既定ではかうなつてゐる)、新しいバッファが最初にアクティブになつたときに、その前にアクティブだつたバッファでの値がコピーされる。

フラグ ’S’ が含まれてゐると、バッファがアクティブになる度に値がコピーされる。これはグローバルオプションであるやうなものである。フラグ ’s’ もフラグ ’S’ も含まれてゐないときは、バッファが作られるときに、その前にアクティブだつたバッファでの値がコピーされる。

隱しオプション

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

オプション "foo" が ":set" で設定できるかどうか判定するにはこのやうにする:

if exists('&foo')

これは隱しオプションに對しても true を返す。オプション "foo" が本當にサポートされてゐるかを判定するにはこのやうにする:

if exists('+foo')

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

’aleph’ ’al’

數値 (既定値は MS-DOS では 128、それ以外では 224)
グローバル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ有效}

ヘブライ語アルファベットの最初の文字を表す ASCII コード。插入モード (オプション ’hkmap’ がオンのとき) と コマンドラインモード (CTRL-_ を打ち込んだとき) の兩方において、ヘブライモードのキーボード排列をマッピングするルーチンは、[aleph..aleph+26] の範圍のヘブライ文字を出力する。’aleph’=128 は PC コード、’aleph’=224 は ISO 8859-8 に使はれる。|rileft.txt| を參照。

’allowrevins’ ’ari’

切替 (既定ではオフ)
グローバル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ有效}

插入モードとコマンドラインモードで CTRL-_ を使用可能にする。これは既定ではオフになつてゐる。ユーザーが閒違つて SHIFT-_ ではなく CTRL-_ を打ち込み、右から左に書いていくモードに入つて拔けられなくなる事態を防ぐためである。オプション ’revins’ を參照。

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

’altkeymap’ ’akm’

切替 (既定ではオフ)
グローバル
{Vim が |+farsi| 機能付きでコンパイルされたときのみ有效}

このオプションはペルシア語を使ふためのもので、削除された。|farsi.txt| を參照。

’ambiwidth’ ’ambw’

文字列 (既定では "single")
グローバル

encoding’ が "utf-8" など Unicode エンコーディングのときのみ效果がある。East Asian Width Class Ambiguous な文字 (ユーロ、登錄商標記號、著作權記號、ギリシャ文字、キリル文字など) をどう扱ふかを定める。

現在のところ、設定可能な値は次の 2 通りである:

"single":US-ASCII の文字と同じ幅を使ふ。これはほとんどのユーザーにとつて期待どほりになる。
"double":ASCII 文字の 2 倍の幅を使ふ。

"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 の起動時に自動的に設定される。レスポンスは |v:termu7resp| の中に見つけることができる。

’antialias’ ’anti’

切替 (既定ではオフ、MacVim ではオン)
グローバル
{Vim が Mac OS X で GUI を有效にしてコンパイルされたときのみ有效}

このオプションは Mac OS X v10.2 以降の上で GUI 版の Vim を使ふときだけ效果がある。これがオンであるとなめらかな (アンチエイリアスされた) フォントが使はれる。このフォントはある種のディスプレイ上、あるサイズでは讀み易くなる。

Carbon 版では ’guifont’ が既定値 (空文字列) のときこのオプションを設定すると問題が發生することがある。

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

MacVim でのこのオプションのサポートは完璧ではない。特に、Monaco は常に 10 ポイントまでのサイズではアンチエイリアスされずに描畫されてゐるやうに見える。ATSUI はアンチエイリアスのサポートがより良い。

’autochdir’ ’acd’

切替 (既定ではオフ)
グローバル
{Vim のコンパイル時に有效にされたときのみ有效。使用できるかどうかは exists("+autochdir") で確認できる}

これがオンであるとファイルを開くとき、バッファを切り替へるとき、バッファを削除するとき、ウィンドウを開閉するときに每囘作業ディレクトリが變更される。開かれた/選擇されたファイルを含んでゐるディレクトリがカレントディレクトリになる。

Note:
このオプションがオンになつてゐると動かないプラグインがある。

’arabic’ ’arab’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+arabic| 機能付きでコンパイルされたときのみ有效}

アラビア語のテキストを編輯するときにこのオプションを設定することができる。 このオプションを設定すると次のことが行はれる:

Note:
アラビア語のテキストを編輯するには ’encoding’ が "utf-8" でなければならないことに注意。

このオプションをオフにすると次のことが行はれる:

arabicshape’ と ’delcombine’ はオフにならない (これらはグローバルオプションである)。

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

|arabic.txt| も參照。

’arabicshape’ ’arshape’

切替 (既定ではオン)
グローバル
{Vim が |+arabic| 機能付きでコンパイルされたときのみ有效}

これがオンで ’termbidi’ がオフになつてゐるとアラビア語を表示するのに必要な文字表示補正が行はれる。本質的には字形作成 (shaping) が有效になる。この用語は次の事を含む廣い用語である。

これが無效になつてゐると、表示がそれぞれの文字の本來の孤立形になる。アラビア語は他にも設定が必要な複雜な言語である。より詳しくは |arabic.txt|を參照。

Note:
compatible’ が設定されたときにこのオプションが設定されることに注意。

’autoindent’ ’ai’

切替 (既定ではオフ)
バッファについてローカル

新しい行を開始したとき (插入モードで <CR> を打ち込むか、コマンド "o" や "O" を使つたとき)、新しい行のインデントを現在行と同じくする。新しい行で <BS>CTRL-D 以外を打ち込まずに <Esc>, CTRL-O<CR> を打ち込むと、その行のインデントは削除される。’cpoptions’ にフラグ ’I’ が入つてゐないかぎり、カーソルを他の行に移動させても同樣である。 オプション ’autoindent’ がオンのときは、テキストの整形處理 (コマンド "gq" を使つたり、插入モードで 1 行の文字數がオプション ’textwidth’ で指定した數に屆いたとき) には最初の行のインデントが使はれる。

オプション ’smartindent’ かオプション ’cindent’ がオンのときは、インデントの方法は違つてくる。 オプション ’autoindent’ はオプション ’paste’ がセットされたらリセットされ、オプション ’paste’ がリセットされたら復元される。

’autoread’ ’ar’

切替 (既定ではオフ)
グローバル/バッファについてローカル |global-local|

ファイルが Vim の內部では變更されてないが、Vim の外部で變更されたことが判明したときは自動的に讀み直す。ファイルが削除されたときにはこれは行はれないので、削除される前のテキストが保持される。ファイルが再度現れた場合、それを讀み込む。|timestamp|

このオプションがローカルな値を持つとき、再びグローバルな値を使ふやうにするには次のやうにする。

:set autoread<
’autowrite’ ’aw’

切替 (既定ではオフ)
グローバル

コマンド :next, :rewind, :last, :first, :previous, :stop, :suspend, :tag, :!, :make, CTRL-], CTRL-^ を實行したときや、コマンド :buffer, CTRL-O, CTRL-I, '{A-Z0-9}, `{A-Z0-9} の移動先が別のファイルのとき、ファイルが變更されてゐるなら書き込む。

Note:
autowrite’ が適用されないコマンドもあることに注意。それについてはオプション ’autowriteall’ を參照。

いくつかのバッファは書き込まれない。特に ’buftype’ が "nowrite", "nofile", "terminal", "prompt" の場合。

’autowriteall’ ’awa’

切替 (既定ではオフ)
グローバル

オプション ’autowrite’ と似てゐるが、さらにコマンド ":edit", ":enew", ":quit", ":qall", ":exit", ":xit", ":recover" を實行したときや、Vim のウィンドウを閉ぢるときも、ファイルが變更されてゐるなら保存する。

このオプションをオンにすると、同時に ’autowrite’ もオンになつたやうな動作になる {譯注: このオプションは ’autowrite’ の適用されるコマンド全てに適用されるので}。

’background’ ’bg’

文字列 (既定は "dark" または "light"、下記參照)
グローバル

値が "dark" のときは、Vim は暗い背景によく合ふ色を使はうとする。値が "light" のときは、Vim は明るい背景によく合ふ色を使はうとする。その他の値は無效である。

Vim は使はれてゐるターミナルの種類に從つて既定の値を定めるが、常に正しいとは限らない。

このオプションを變更しても背景色は變はらない。これはただ Vim に背景色がどのやうなものかを傳へるだけである。背景色の變更には |:hi-normal| を參照。

オプション ’background’ が變更されると、Vim は既定の色設定グループをその値に合はせて調整する。しかし構文强調表示に使はれる色設定は變化しない。

カラースキームが讀み込まれてゐるとき (つまり變數 "g:colors_name" が設定されてゐるとき) ’background’ を變更するとカラースキームが再び讀み込まれる。カラースキームが ’background’ に對應してゐればこれは適用される。

しかしカラースキームが ’background’ 自體を設定してゐるときは效果がない。必要ならば變數 "g:colors_name" を消去すること。

background’ を次のやうにして既定値に戾したとき、

:set background&

Vim はその値を推測する。GUI 版ならばうまくいくはずだが、さうでなければ正しい値を推測できないかもしれない。

GUI がダークテーマをサポートしてゐる場合、’guioptions’ で "d" フラグを使用できます。’go-d’ を參照してください。

|t_RB| オプションが設定されると、Vim はターミナルから背景色をリクエストするために使はれる。もしも返された RGB の値が dark/light であり、’background’ が dark/light でなかつたなら、’background’ が設定されて畫面が再描畫される。これは副作用があるかもしれない。問題があると疑はしき場合は、.vimrct_BG を空にしよう。|t_RB| へのレスポンスは |v:termrbgresp| の中に見つけることができる。

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" である。

|:terminal| コマンドと |term_start()| 函數は、ターミナルウィンドウが白もしくは黑の背景でスタートするかどうかを決めるために ’background’ の値を使ふ。

通常、このオプションは .vimrc 內で設定される。おそらく、設定はターミナルの名前に依存する。例:

:if &term == "pcterm"
:  set background=dark
:endif

このオプションが設定されると、强調表示の既定の設定が變更される。他の設定を使ひたいなら、’background’ を設定した「後」にコマンド ":highlight" を置くこと。

このオプションはファイル "$VIMRUNTIME/syntax/syntax.vim" 內でも、構文强調表示のための色を選擇するのに使はれる。このオプションを設定した後は syntax.vim を再讀み込みしないと結果が分からない。これにはコマンド ":syntax on" を實行すればよい。

’backspace’ ’bs’

文字列 (既定では ""、|defaults.vim| 內で "indent,eol,start" にセットされる)
グローバル

插入モードでの <BS>, <Del>, CTRL-W, CTRL-U の働きに影響する。値はキーワードのコンマ區切りのリストである。それぞれのキーワードがバックスペースの働く對象を定めてゐる。

效果
indentautoindent を超えてバックスペースを働かせる
eol改行を超えてバックスペースを働かせる (行を連結する)
start插入區閒の始めでバックスペースを働かせるが CTRL-WCTRL-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’

切替 (既定ではオフ)
グローバル

ファイルを上書きする前にバックアップを作る。書き込みが成功してもバックアップはそのまま取つておく。バックアップを取つておきたくはないが、書き込み中にはバックアップが欲しいときには、このオプションをオフにしてオプション ’writebackup’ をオンにすること (既定ではさうなつてゐる)。全くバックアップが要らないなら兩方をオフにすること (ユーザーのファイルシステムがほとんど滿杯ならかうするとよい)。詳しくは |backup-table| を參照。

どちらにしてもオプション ’backupskip’ のパターンがマッチすると、バックアップは作られない。オプション ’patchmode’ がオンのときは、バックアップはリネームされてファイルの最も古いバージョンになることがある。

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

’backupcopy’ ’bkc’

文字列 (Unix での Vi の既定値: "yes"、それ以外: "auto")
グローバル/バッファについてローカル |global-local|

ファイルの書き込みをしてバックアップが作られるとき、その方法をこのオプションで指定する。このオプションはコンマで區切られた單語のリストである。

主な値は次の通り:

"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" とまつたく同じやうにシンボリックリンクやハードリンクを切るやうになり、元のファイルがそのままバックアップになり、新しいファイルが作成される。

これは例へば全てのファイルがシンボリックリンクやハードリンクになつてゐるソースツリーで便利である。變更がローカルのソースツリーに對してだけ行はれ、元のソースツリーには反映されない。

"no" と "auto" では問題が起きる場合がある。プログラムによつては、ファイルを開き、Vimを呼び出してそのファイルを編輯させ、(ファイル區別プログラムを使つて) そのファイルが變更されたかどうかを調べるものがある。さうしたプログラムは新しく書き出されたファイルではなく、バックアップファイルの方を調べてしまふ。例としては "crontab -e" が擧げられる。

コピーの方法のときは、元のファイルの中身はいつたん空になり、そこに新しいテキストが書き込まれる。つまり、元のファイルの保護ビット、ファイル所有者やシンボリックリンクは變更されない。しかし、新しく作られることになるバックアップファイルは、ファイルを編輯したユーザーの所有となる。

またバックアップファイルの屬するグループは、元のファイルと同じグループになる。これが失敗すると、他の屬性と同樣に、そのグループの保護ビットが設定される。

リネームの方法のときは別の結果になる。バックアップファイルは元のファイルと同じ屬性を持ち、新しく書き出されたファイルは、ファイルを編輯したユーザーの所有となる。

開いたファイルがハードリンクまたはシンボリックリンクだつた場合でも、新しく書き出されたファイルはリンクにならない!だから値が "auto" のとき、ファイルがリンクならリネームを行はないのである。

新しく書き出されたファイルの所有者と屬するグループは、元のファイルと同じとして設定される。しかしシステムがかうすることを許可しないかもしれない。その場合、値が "auto" ならもうファイルのリネームをしようとはしない。

Note:
このオプションは ’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’backupdir’ ’bdir’

文字列 (Amiga での既定値: ".,t:",
    MS-DOS と Win32 での既定値: ".,$TEMP,c:/tmp,c:/temp"
    Unix での既定値: ".,~/tmp,~/")
グローバル 値は、バックアップファイル用ディレクトリの、コンマ區切りのリストである。

オプション ’backup’ および ’writebackup’ も參照。 Unix でユーザーのバックアップファイルを隱したいなら、次のやうにしてみること。

:set backupdir=./.backup,~/.backup,.,/tmp

この方法を使ふには、それぞれのディレクトリとあなたのホームディレクトリにディレクトリ ".backup" を作らなければならない。

リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディレクトリを除くときにはコマンド |:set-=| を使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。

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

’backupext’ ’bex’

文字列 (既定では "~", VMSでは "_")
グローバル

バックアップファイルの名前を作る際、元のファイル名の後ろに付け加へる文字列。既定では普段使ひさうもないものに定めてあるが、これは既存のファイルをバックアップファイルで上書きするのを避けるためである。".bak" を使ひたいかもしれないが、大事なファイルに ".bak" で終はるものがないか確かめること。

通常のファイル名文字だけ使へる。"/\*?[|<>" は不正である。

たくさんのバックアップを殘しておきたいなら、自動コマンド BufWritePre を使つてファイルを書き込む直前に ’backupext’ にタイムスタンプを含めるやうに變更するとよい。

:au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~'

バックアップを別のディレクトリに保存させるには、オプション ’backupdir’ を設定すること。

’backupskip’ ’bsk’

文字列 (既定では: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
    Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
    Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
グローバル
{Vim が |+wildignore| 機能付きでコンパイルされたときのみ有效}

ファイル名のパターンのリスト。書き込みをするファイルの名前にマッチするパターンがこの中にあれば、そのファイルのバックアップは作られない。ファイル名を指定してもよいし、ファイルのフルパスを指定 {譯注: C:/temp/* 等の方法。既定値ではこの方法で一時ファイル用のディレクトリを指定し、一時ファイルのバックアップを作らないやうにしてゐる} してもよい。

パターンの指定方法は |:autocmd| と同じである。|autocmd-patterns| を參照。特別な文字に注意するために |option-backslash| を參照。

環境變數の $TMPDIR, $TMP または $TEMP が定義されてゐないとき、それらは既定値に使はれない。"/tmp/*" は Unix でのみ使はれる。

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

Note:
環境變數は展開されない。$HOME を使ひたい場合は、明示的に展開しなければならない。例:

:let &backupskip = escape(expand('$HOME'), '\') . '/tmp/*'

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

’balloondelay’ ’bdlay’

數値 (既定では 600)
グローバル
{Vim が |+balloon_eval| 機能付きでコンパイルされたときのみ有效}

バルーン表示が出るまでの時閒 (ミリ秒單位)。|balloon-eval| を參照。

’ballooneval’ ’beval’

切替 (既定ではオフ)
グローバル
{Vim が |+balloon_eval| 機能付きでコンパイルされたときのみ有效}

GUI 向けに |balloon-eval| 機能を働かせる。

’balloonevalterm’ ’bevalterm’

切替 (既定ではオフ)
グローバル
{Vim が |+balloon_eval_term| 機能付きでコンパイルされたときのみ有效}

ターミナル向けに |balloon-eval| 機能を働かせる。

’balloonexpr’ ’bexpr’

文字列 (既定では "")
グローバル/バッファについてローカル |global-local|
{Vim が |+balloon_eval| 機能付きでコンパイルされたときのみ有效}

バルーンウィンドウに表示するテキストの式。’ballooneval’ か ’balloonevalterm’ がオンのときのみ使はれる。以下の變數を使用できる:

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

プレーンテキストに限定されたバルーンを表示する代はりに、ポップアップウィンドウの使用を檢討してください。|popup_beval_example| を參照してください。ポップアップウィンドウでは、ハイライトを使用してボーダーを表示できます。

この式の評價には副作用があつてはならない!

例:

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

|balloon_show()| も參照してください。バルーンの內容を非同期に取り込む場合に使ふことができます。この場合、’balloonexpr’ の評價の結果は空文字になるでせう。もしもあなたが "0" のみのバルーンを得たなら、たぶんあなたの函數からは何も返してゐないのでせう。

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

このオプションがモードラインで設定されたときは、式はサンドボックス (|sandbox|) の中で評價される。|sandbox-option| を參照。’modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

balloonexpr’ を評價してゐる閒は、テキストの變更や他のウィンドウへのジャンプをすることは許されません。|textlock| を參照してください。

バルーンのテキスト中の改行が機能するかを調べるにはこれを使ふ:

if has("balloon_multiline")

これがサポートされてゐるなら文字列 "\n" は新規行を開始する。この式を評價した結果がリスト |List| になる場合は、そのリストの各要素を文字列とし、それらの閒に "\n" を置くのと同じことになる。

Note:
このオプションは、’compatible’ がオンになると "" になるので注意。

’belloff’ ’bo’

文字列 (既定では "")
グローバル

ベルを鳴らさないやうにするイベントを指定する。これはコンマ區切りのアイテムのリストである。指定したアイテムにおいてベルは沈默する。これは、插入モードにおいて特定のイベントで沈默するやうに指定できることが最も有用である。

アイテム指定した時の意味
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ハングル入力時にエラーが發生した。
insertmodeinsertmode’ で <Esc> を押した。
langLua/Mzscheme/TCL のためにビープモジュールを呼び出す。
mess|g<| で利用可能な出力がない。
showmatchshowmatch’ 機能でエラーが發生した。
operator空の範圍エラー。|cpo-E|
register|Insert-mode| で <C-R> の後に不明なレジスタ。
shellシェルの出力からのベル。|:!|
spellスペルの提案でエラーが起こつた。
wildmode|cmdline-completion| でより多くの一致が利用可能。(’wildmode’ の設定に依存する)

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

’binary’ ’bin’

切替 (既定ではオフ)
バッファについてローカル

バイナリファイルを編輯する前には、このオプションをオンにすべきである。Vim の起動時に引數 |-b| を使つてもよい。オンのときは、いくつかのオプションの設定が變はる。

textwidth0 になる
wrapmargin0 になる
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’

切替 (既定ではオン)
グローバル
{MS-DOS 版のみ}

これは MS-DOS のためのものであつたが、もうサポートされてゐない。

’blurradius’ ’blur’

數値 (既定では 0)
グローバル
{Vi にはない} {MacVim GUI のみ}

transparency’ が有效であるとき、正の値がウィンドウの背景にぼや效果を加へる。

’bomb’

切替 (既定ではオフ)
バッファについてローカル

ファイルを書き込むときに以下の條件が滿たされれば、BOM (Byte Order Mark {譯注: バイト順マーク。Unicode を適切に扱ふために使はれるマーク}) がファイル先頭に付けられる。

アプリケーションの中には、ファイルのエンコーディングを認識するために 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’

文字列 (既定では " ^I!@*-+;:,./?")
グローバル
{Vim が |+linebreak| 機能付きでコンパイルされたときのみ有效}

オプション ’linebreak’ がオンのとき、どの文字のところで行が折り返されて表示されるかを、このオプションで指定する。これが機能するのは ASCII と 8bit 文字 (’encoding’ が 8bit エンコーディングのとき) だけである。

’breakindent’ ’bri’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+linebreak| 機能付きでコンパイルされたときのみ有效}

折り返された行を同じインデントで表示する (行の先頭にある空白の量と同じだけインデントされる)。つまりテキストブロックの水平位置が保持される。

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

’breakindentopt’ ’briopt’

文字列 (既定では空)
ウィンドウについてローカル
{Vim が |+linebreak| 機能付きでコンパイルされたときのみ有效}

breakindent’ の設定。次の項目を設定できる。それぞれの項目はコンマで區切る:

min:{n}テキストの最小幅。’breakindent’ が適用されたときにテキストがその幅よりも狹くならないやうにする。これは、ウィンドウの右端近くまでインデントされたテキストが折り返されたときにたくさんの行に渡つて表示されるのを防ぐ。
shift:{n}breakindent’ が適用されたときに、折り返された最初の行を指定した量だけずらす。動的なフランス式の段落インデント (負の値) や行の繼續を强調 (正の値) したりできる。
sbr追加インデントの前に ’showbreak’ を表示する。

初期設定は、min が 20、shift が 0 である。

’browsedir’ ’bsdir’

文字列 (既定では "last")
グローバル
{Motif, Athena, Mac, Win32 の GUI 版のみ}

ファイルブラウザーの開始時、どのディレクトリを開くかを指定する。

last前囘にファイルブラウザーでファイルを開く・または保存したディレクトリ
bufferバッファで開いてゐるファイルのディレクトリ
currentカレントディレクトリ
{path}{path} で指定されたディレクトリ
’bufhidden’ ’bh’

文字列 (既定では "")
バッファについてローカル

バッファがウィンドウ內に表示されなくなつたときの動作を指定する。

<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’

切替 (既定ではオン)
バッファについてローカル

オンのときは、バッファはバッファリストに表示される。オフのときは、そのバッファはコマンド ":bnext" や ":ls" およびバッファメニュー等の對象にならない。

ファイル名やマークを思ひ出したりするためだけのバッファでは、このオプションはオフになる。バッファの編輯を始めたときは、このオプションはオンになる。しかし ":buffer" でバッファに移動したときはオンにはならない。

’buftype’ ’bt’

文字列 (既定では "")
バッファについてローカル

このオプションはバッファの種類を指定する:

<empty>普通のバッファ
nofileファイルと關聯がなく、書き込まれる豫定のないバッファ
nowrite書き込まれる豫定のないバッファ
acwriteいつも自動コマンド BufWriteCmd で書き込まれる豫定のバッファ
quickfixエラーリスト/ロケーションリスト用の quickfix バッファ (|:cwindow|, |:lwindow| を參照)
helpヘルプバッファ (ユーザーが手動でこれに設定することはないはずである)
terminal|terminal| のためのバッファ (ユーザーが手動でこれを設定することはないはずである)
promptプラグインに使はれることを意圖した、最後の行だけを編輯できるバッファ、|prompt-buffer| を參照。

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

popupポップアップウィンドウで使はれるバッファ

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

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

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

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

"nofile" バッファと "nowrite" バッファは似てゐる。

兩方バッファの內容はファイルに書き込まれない。":w" が使へない (":w 新ファイル名" は使へる)。
兩方バッファの內容が變更された ’modified’ と認識されることがない。Vimの終了時等、變更點が失はれるときでも警告が現れない。
兩方スワップファイルはメモリを大量に消費したときのみ作られる (’swapfile’ がオフだと、スワップファイルは作られない)。
nofile のみバッファ名は固定され、ファイル名のやうには扱はれない。|:cd| の結果としてバッファ名が變はることはない。
兩方":e bufname" を使ひ、すでに "bufname" を編輯してゐたとき、バッファは空になり |:edit| 用の自動コマンドは通常通り起動される。

"acwrite" は "nofile" と同樣にバッファ名がファイルと關係してゐないことを意味するが、"nofile" と違つて保存される。すなはち、"nofile" と "nowrite" とは違つて ":w" ができ、變更されたバッファを保存せずに破毀することはできない。これを保存するには、マッチする自動コマンド |BufWriteCmd|, |FileWriteCmd|, |FileAppendCmd| がなければならない。

’casemap’ ’cmp’

文字列 (既定では "internal,keepascii")
グローバル

大文字・小文字の變更について詳細を指定する。このオプションはコンマ區切りで以下の單語を含む:

internal內部の大文字・小文字對應函數を使ふ。現在のロケールによつて對應が變更されない。これは ’encoding’ が Unicode エンコーディング, "latin1", "iso-8859-15" のときのみ問題になる。"internal" が除かれるとシステムライブラリ函數 towupper() と towlower() が利用可能ならば使はれる。
keepasciiASCII 文字 (0x00 から 0x7f) については US 大文字小文字對應を使ふ。現在のロケールは效果を持たない。これはおそらくトルコ語でだけ問題になる。
’cdpath’ ’cd’

文字列 (既定では環境變數 $CDPATH または ",,")
グローバル
{Vim が |+file_in_path| 機能付きでコンパイルされたときのみ有效}

|:cd|, |:tcd| や |:lcd| コマンドを使つたときに檢索されるディレクトリのリスト。ただし檢索されるディレクトリが "/", "./" や "../" で始まるときはこのオプションは使はれない。

オプション ’cdpath’ には、|'path'| と同樣の指定方法を使ふ。|file-searching| も參照。

既定値は環境變數 $CDPATH から取り込まれるが、カレントディレクトリを最初に探すために "," が先頭に插入される。

$CDPATH から取り込まれたものが望ましくないときは、値を上書きするために、次のコマンドを適當に修正し、ユーザーのファイル vimrc に加へること。

:let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g')

安全上の理由から、このオプションをモードライン |modeline| やサンドボックス |sandbox| の中で設定することはできない。(’cdpath’ の値の一部は、ファイル名を展開するためにシェルに渡すことができる)。

’cedit’

文字列 (Vi の既定値: "", Vim の既定値: CTRL-F)
グローバル

コマンドラインモードで、コマンドラインウィンドウを開くために使はれるキー。オプション ’compatible’ がオフならば、既定では CTRL-F である。non-printable なキー {譯注: 文書先頭を參照} しか指定できない。キーは單一の文字として設定することもできるが、それでは入力しにくい。<> を使つた表記を推奬する。例:

:exe "set cedit=\<C-Y>"
:exe "set cedit=\<Esc>"

|Nvi| にもこのオプションがあるが、最初の 1 文字だけが使用される。|cmdwin| を參照。

Note:
このオプションは ’compatible’ がオフになると Vim の既定値に設定されるので注意。

’charconvert’ ’ccv’

文字列 (既定では "")
グローバル
{Vim が |+eval| 機能付きでコンパイルされたときのみ有效}

文字エンコーディングの變換に使はれる expression を定める。これは讀み込まれようとしてゐるファイルや書き込みをしたファイルのエンコーディングが、望むものと違ふときに評價される。 オプション ’charconvert’ の値は、內部函數 iconv() がサポートされ、それによる變換が可能ならば使はれることはない。ずつと高速なため、iconv() の使用を推奬する。

charconvert’ は標準入力 (stdin |--|) から讀み込むときには使はれない。なぜなら變換元のファイルが存在しないからだ。まづテキストの內容をファイルに保存しなければいけない。

使はれる expression は、變換成功時には空文字列または 0、失敗時には非 0 を返さなければならない。 expression が遭遇する可能性のあるエンコーディング名は、’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’

切替 (既定ではオフ)
バッファについてローカル
{Vim が |+cindent| 機能付きでコンパイルされたときのみ有效}

C プログラムファイルの自動インデントを行ふ。插入モードで再インデントを引き起こす文字列を指定するにはオプション ’cinkeys’ を、好みのインデントスタイルを設定するには ’cinoptions’ を參照。 ’indentexpr’ の値が空でないなら、それは ’cindent’ の設定を上書きする。’lisp’ がオフで、’indentexpr’ と ’equalprg’ の兩方の値が空なら、"=" によるインデントはこのアルゴリズムを使ひ、外部プログラムを使はない。|C-indenting| を參照。

cindent’ の動作が氣に入らないならば、’smartindent’ か ’indentexpr’ を試してみること。

このオプションは ’paste’ がオンのときには使はれない。

Note:
このオプションは ’compatible’ がオンになるとオフになるので注意。

’cinkeys’ ’cink’

文字列 (既定では "0{,0},0),0],:,0#,!^F,o,O,e")
バッファについてローカル
{Vim が |+cindent| 機能付きでコンパイルされたときのみ有效}

插入モードで入力されたときに、現在行の再インデントを引き起こす文字のリスト。オプション ’cindent’ がオンで、かつ ’indentexpr’ が空の時のみ使はれる。

このオプションの設定方法については |cinkeys-format| を參照。また |C-indenting| を參照。

’cinoptions’ ’cino’

文字列 (既定では "")
バッファについてローカル
{Vim が |+cindent| 機能付きでコンパイルされたときのみ有效}

このオプションは、’cindent’ での C 言語ソース內の行の再インデント方法に影響を與へる。このオプションの値については |cinoptions-values| を、一般的な C 言語ソースのインデントの情報については |C-indenting| を參照。

’cinwords’ ’cinw’

文字列 (既定では "if,else,while,do,for,switch")
バッファについてローカル
{Vim が |+cindent| 機能と |+smartindent| 機能(兩方)付きでコンパイルされたときのみ有效}

オプション ’smartindent’ か ’cindent’ がオンのとき、ここに指定したキーワードの次の行は、さらにインデントされる。’cindent’ がオンのときには、適切な場所 ({} の內側) でのみ機能する。

Note:
ignorecase’ は ’cinwords’ の値には適用されないので注意。大文字か小文字かを區別したくないなら、値に兩方を指定すること。例: "if,If,IF"

’clipboard’ ’cb’

文字列 (既定値は X-windows では "autoselect,exclude:cons\|linux" それ以外では "")
グローバル
{Vim の GUI バージョンか |+xterm_clipboard| 機能付きでコンパイルされたもののみ有效}

コンマ區切りのキーワードのリストを指定する。

認識されるのは、以下のキーワードである:

unnamedこれが含まれると、コピー、削除、變更、ペーストなどの操作で、普通なら無名レジスタが使はれるところで、全てクリップボードレジスタ ’*’ が使はれるやうになる。

ただしレジスタ名を明示的に指定した場合は、オプション ’clipboard’ に "unnamed" が含まれてゐるかゐないかにかかはらず、指定されたレジスタが使はれる。

またクリップボードレジスタは、"* といふ記法を用ゐれば常にアクセスできる。|gui-clipboard| も參照。

unnamedplus"unnamed" と似てゐるがコピー、削除、變更、ペーストなどの操作で、普通なら無名レジスタが使はれるところで、クリップボードレジスタ ’+’ (|quoteplus|) が使はれる。

"unnamed" も同時に指定した場合は、コピー操作 (削除、變更、ペースト以外の操作) で、レジスタ ’*’ にもテキストがコピーされる。

|+X11| 機能が有效な場合のみ利用可能。利用できるかどうかは次のコマンドで確認できる:

if has('unnamedplus')
autoselectguioptions’ のフラグ ’a’ のやうに働く: これが含まれると、ビジュアルモードが開始されるたび、または ビジュアル選擇範圍が變更されるたびに、Vim はウィンドウシステムのグローバルなクリップボードのオーナーにならふとするか、選擇されたテキストをクリップボード用レジスタ "* を使つてクリップボードにコピーしようとする。

詳細は |'go-a'| と |quotestar| を參照。GUI 機能が有效のときは ’guioptions’ のフラグ ’a’ が使用され、無效のときはこの "autoselect" フラグが使用される。また、モードレスなセレクションにも適用される。

autoselectplus"autoselect" と似てゐるが、* レジスタの代はりに + レジスタが使はれる。’guioptions’ の ’P’ フラグと比較してみること。
autoselectml"autoselect" と似てゐるが、モードレスセレクションのみに適用される。’guioptions’ のフラグ ’A’ と比較してみること。
htmlクリップボードの內容が HTML であるとき、貼り付け時に使はれる。テキストをクリップボードにコピーするとき、HTML としてマークアップする。Firefox で描畫された HTML をコピーして Vim で HTML ソースとして貼り付けるときや、Vim で HTML を選擇して Firefox のリッチエディットボックスに貼り付けるときに使はれる。

これを一時的にのみ使ひたい場合は BufEnter 自動コマンドを使ふといいかもしれない。

GTK 2 以降のみ對應してゐる。

exclude:{pattern}ターミナルの名前 ’term’ にマッチするパターンを定義する。パターンがマッチすると、X サーバーとの通信がなされなくなる。

このオプションは以下の場合に便利である:

  • Vim をコンソールで使用してゐるとき。
  • アプリケーションを別のディスプレイで使ふため、環境變數 $DISPLAY が設定されてゐるとき。
  • コンソールでは X サーバーと通信してほしくないが、ターミナルエミュレータ上では通信してほしいとき。

X サーバーと全く通信しないやうにするには、次のやうにする。

exclude:.*

これは引數 |-X| を使用したのと同じ效果を持つ。

Note:
X サーバーと通信してゐないとき、ウィンドウタイトルは復元されず、クリップボードにはアクセスできない。

magic’ の値は無視され、{pattern} は ’magic’ がオンのときのやうに解釋される。オプション ’clipboard’ の値の殘りは {pattern} として認識されるので、"exclude" は最後に指定しなければならない。

’cmdheight’ ’ch’

數値 (既定では 1)
グローバル

コマンドラインに使はれる畫面上の行數。|hit-enter| プロンプトの出現を避けるのに役立つ。各タブページが異なる値を持てるやうにするために、このオプションの値はタブページに保存される。

’cmdwinheight’ ’cwh’

數値 (既定では 7)
グローバル

コマンドラインウィンドウに使はれる畫面上の行數。|cmdwin| を參照。

’colorcolumn’ ’cc’

文字列 (既定では "")
ウィンドウについてローカル
{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’

數値 (既定では 80 またはターミナルの幅)
グローバル

畫面上の列幅を設定する。普通このオプションはターミナルの初期化の時點で設定され、手動で設定する必要はない。|posix-screen-size| も參照。 Vim が GUI 內やサイズ變更可能なウィンドウ內で實行されてゐるときは、このオプションを變更するとウィンドウサイズも變更される。GUI でだけこのサイズを使用したい場合は、このコマンドを |gvimrc| に書くこと。

ユーザーがこのオプションを變更したのに、Vim がディスプレイの列幅の物理的な値を變更できなかつたら、ディスプレイ表示がめちやめちやになるおそれがある。GUI では常にその可能性があるので、Vim は桁數を畫面に收まる値に制限してゐる。可能なウィンドウ幅の最大値を取得するには、次のコマンドを使ふ:

:set columns=9999

最小値は 12、最大値は 10000。

{譯注: オプション |'lines'| も參照}

’columnspace’ ’csp’

數値 (既定では 0)
グローバル
{Vi にはない}
{MacVim GUI のみ}

文字閒に插入された桁のピクセル數。いくつかのフォントでは、字閒が廣くなり過ぎることがある。それなら ’columnspace’ に負數を設定するのが理にかなつてゐる。もつとも、これは描畫に問題を生じるかもしれない!

’comments’ ’com’

文字列 (既定では "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
バッファについてローカル

コメント行の始まりとなる文字列の、コンマ區切りのリスト。|format-comments| を參照。’\’ を使つて値にスペースを含める方法については、|option-backslash| を參照。

’commentstring’ ’cms’

文字列 (既定では "/*%s*/")
バッファについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

コメント用のテンプレート (雛形)。値の中の "%s" はコメントの內容と置き換へられる。現在のところ、折り疊み用のマーカーを追加するためにのみ使用されてゐる。|fold-marker| を參照。

’compatible’ ’cp’

切替 (既定では オン、ファイル |vimrc| または |gvimrc| が發見されたらオフ、|defaults.vim| 內でリセット)
グローバル

Vim をなるべく Vi 互換にするか、便利な機能を使へるやうにするかを決定する。

これは、特別な種類のオプションである。このオプションの値が變更されると、それに伴つて他のオプションも變更されるからだ。

Note:
このオプションを變更すると、豫期しない效果が數多く現れる。キーマップの解釋は變はり、アンドゥも違つた方法で行はれる、等々。このオプションをファイル 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 との互換性をより細かく調整するには ’cpoptions’ を參照すること。

このオプションがオンにされると、Vim ができる限りVi互換となるやうに數多くの他のオプションが設定される。このオプションがオフにされると、Vim がより使ひやすくなるやうに多くのオプションが設定される。下の表は影響を受けるすべてのオプションを示す。

{?} 列は、いつそのオプションが影響を受けるかを示す:

+compatible’ がオンになつたときに、{設定値} に示した値が設定されることを意味する。
&compatible’ がオンになつたときに、{設定値} に示した値が設定され、かつ、’compatible’ がオフになつたときに Vim の既定値に設定されることを意味する。
-compatible’ がオンになつたときには値は變更されないが、’compatible’ がオフになつたときには Vim の既定値に設定されることを意味する。

{效果} 列は、’compatible’ がオンになつたときの變更をまとめてある。

オプション? 設定値效果
allowrevins+ オフコマンド CTRL-_ なし
antialias+ オフアンチエイリアスフォントを使用しない
arabic+ オフアラビア語關聯オプションをリセット
arabicshape+ オン文字表示補正を行ふ
backspace+ ""普通のバックスペース
backup+ オフバックアップファイルなし
backupcopy& Unix: "yes"バックアップファイルがコピーになる
他: "auto"バップアップはコピーまたはリネーム
balloonexpr+ ""バルーンに表示するテキストの式
breakindent+ オフ折り返した行をインデントしない
cedit- {變更なし}{’cp’ リセット時に Vim の既定値に設定}
cindent+ オフC 言語ファイルにインデントなし
compatible- {變更なし}{’cp’ リセット時に Vim の既定値に設定}
copyindent+ オフインデント構造をコピーしない
cpoptions& (全フラグ)Vi 互換のフラグ
cscopepathcomp+ 0タグ一覽にディレクトリを表示しない
cscoperelative+ オフ保存されてゐるディレクトリをプリフィックスとして使はない
cscopetag+ オフ":tag" に cscope を使はない
cscopetagorder+ 0|cscopetagorder| を參照
cscopeverbose+ オフ|cscopeverbose| を參照
delcombine+ オフunicode: すべての合成文字を削除
digraph+ オフダイグラフなし
esckeys& オフ插入モードで <Esc> で始まるキーなし
expandtab+ オフタブはスペースに展開されない
fileformats& ""自動ファイルタイプ決定なし
"dos,unix"(ただし DOS, Windows と OS/2 以外で)
formatexpr+ ""formatprg’ を自動整形に使ふ
formatoptions& "vt"Vi 互換の文書整形
gdefault+ オフ":s" でフラグの既定値に ’g’ なし
history& 0コマンドラインの履歷なし
hkmap+ オフヘブライ語用キーボードマップなし
hkmapp+ オフphonetic ヘブライ語用キーボードマップなし
hlsearch+ オフ檢索でマッチした文字列に强調なし
incsearch+ オフインクリメンタルサーチなし
indentexpr+ ""expression によるインデントなし
insertmode+ オフ插入モードでの開始なし
iskeyword& "4,8-57,_"キーワードはアルファベットと數字と ’_’
joinspaces+ オンピリオドの後ろには空白を 2 個插入
modeline& オフモードラインなし
more& オフリスト表示が止まらない
mzquantum- {變更なし}{’cp’ リセット時にVimの既定値に設定}
numberwidth& 8行番號用の最小桁數
preserveindent+ オフインデント變更時に現在のインデント構造を保持しない
revins+ オフ右から左の插入なし
ruler+ オフルーラーなし
scrolljump+ 1ジャンプスクロールなし
scrolloff+ 0スクロールにオフセットなし
shelltemp- {變更なし}{’cp’ リセット時に Vim の既定値に設定}
shiftround+ オフインデントは shiftwidth の整數倍でない
shortmess& "S"メッセージの短縮なし
showcmd& オフコマンドの文字は表示されない
showmode& オフ現在のモードは表示されない
sidescrolloff+ 0スクロール時、カーソルは畫面端に移動
smartcase+ オフ大文字小文字の無視は自動にならない
smartindent+ オフ高度なインデントなし
smarttab+ オフ高度なタブ插入なし
softtabstop+ 0タブは常に ’tabstop’ を基準
startofline+ オンいくつかのコマンドで行頭に移動する
tagcase& "followic"タグファイル檢索時 ’ignorecase’ に從ふ
tagrelative& オフタグファイル名は相對的でない
termguicolors+ オフhighlight-(guifg|guibg) を使用しない
textauto& オフ自動改行コード決定なし
textwidth+ 0自動行分割なし
tildeop+ オフチルダはオペレータではない
ttimeout+ オフターミナルの時閒切れなし
undofile+ オフアンドゥファイルを使用しない
viminfo- {變更なし}{’cp’ リセット時に Vim の既定値に設定}
virtualedit+ ""カーソルは文字の上にのみ置ける
whichwrap& ""左から右への移動は行を超えない
wildchar& CTRL-E現在の値が <Tab> のときのみ、コマンドライン補完に CTRL-E を使ふ
writebackup+ オンかオフ|+writebackup| 機能に依る
’complete’ ’cpt’

文字列 (既定では: ".,w,b,u,t,i")
バッファについてローカル

コマンド CTRL-PCTRL-N によるキーワード補完 |ins-completion| の動作を指定する。このオプションは行全體の補完 |i_CTRL-X_CTRL-L| にも適用される。このオプションは補完の方法と、キーワード檢索の對象となる場所を示す、コンマ區切りのフラグのリストである:

.カレントバッファから檢索 (’wrapscan’ の値は無視)
w別のウィンドウ內のバッファから檢索
bバッファリスト內の、現在讀み込まれてゐる別のバッファから檢索
uバッファリスト內の、現在讀み込まれてゐない別のバッファから檢索
Uバッファリストにないバッファから檢索
kdictionary’ で指定されたファイルから檢索
kspell現在有效化されてゐるスペルチェックを使ふ |spell|
k{dict}{dict} で與へられたファイルから檢索。"k" を複數指定してもよい。ファイル名はパターンでも指定できる。例:
:set cpt=k/usr/dict/*,k~/spanish
sthesaurus’ で指定されたファイルから檢索
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-NCTRL-P は ’iskeyword’ を利用した全てのファイル名展開で使用できる (つまり辭書 |i_CTRL-X_CTRL-K|、インクルードされるパターン |i_CTRL-X_CTRL-I|、タグ |i_CTRL-X_CTRL-]| および通常の展開)。

’completefunc’ ’cfu’

文字列 (既定では空)
バッファについてローカル
{Vim が |+eval| 機能付きでコンパイルされたときのみ有效}

このオプションは入力モードの CTRL-X CTRL-U |i_CTRL-X_CTRL-U| での補完に使はれる函數を指定する。

その函數がどのやうに起動され、何を返すべきかについての說明は |complete-functions| を參照。

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

’completeslash’ ’csl’

文字列 (既定では "")
バッファについてローカル
{Vim の MS-Windows 版でのみ有效} このオプションを設定すると、補完のための ’shellslash’ が無效になります:

插入モードの補完には、バッファローカル値が使用されます。コマンドラインの補完には、グローバル値が使用されます。

’completeopt’ ’cot’

文字列 (既定では "menu,preview")
グローバル

入力モードでの補完 |ins-completion| についてのオプションのコンマ區切りのリスト。サポートされてゐる値は次の通り:

menuポップアップメニューで補完候補を表示する。ポップアップメニューは、候補が 2 個以上あり、十分な數の色が使用できるときだけ表示される。|ins-completion-menu| を參照。
menuone候補が 1 つしかないときもポップアップメニューを使ふ。候補について付加的な情報があるときに便利である。例へば、それがどのファイルに含まれてゐるかなど。
longest候補の文字列の最長の共通部分だけを插入する。メニューが表示されてゐるならば CTRL-L でさらに文字を插入することができる。

大文字・小文字が同一視されるかどうかは補完の種類による。バッファのテキストについてはオプション ’ignorecase’ が適用される。

preview現在選擇されてゐる候補についての付加的な情報をプレビューウィンドウに表示する。"menu" または "menuone" と組み合はせたときのみ有效。
popup現在選擇されてゐる補完に關する追加情報をポップアップウィンドウに表示します。"menu" または "menuone" との組み合はせでのみ機能します。"preview" を無視します。

指定するプロパティについては |'completepopup'| を參照してください。

{|+textprop| 機能付きでコンパイルされたときのみ有效}

popuphidden"popup" と同樣ですが、最初はポップアップを非表示にします。|CompleteChanged| 自動コマンドを使用して情報を取得し、ポップアップがいつぱいになれば |popup_show()| を呼び出します。

|complete-popuphidden| の例を參照してください。

{|+textprop| 機能付きでコンパイルされたときのみ有效}

noinsertいかなるマッチしたテキストも、ユーザーがメニューから選擇しない限り插入しない。"menu" か "menuone" と組み合はせたときにだけ機能する。"longest" が指定された場合には、なんの影響も發生しない。
noselectメニューからマッチを {譯注: 自動では} 選擇せず、ユーザーに自分で選ぶことを强制する。"menu" か "menuone" と組み合はせたときにだけ機能する。
’completepopup’ ’cpp’

文字列 (既定では空)
グローバル
{|+textprop| または |+quickfix| 機能付きでコンパイルされたときのみ有效} ’completeopt’ に "popup" が含まれてゐる場合、このオプションは、作成時に情報ポップアップのプロパティに使用されます。また、|popup_findinfo()| を使用して、|popup_setoptions()| で既存の情報ポップアップのプロパティを設定することもできます。|complete-popup| を參照してください。

’concealcursor’ ’cocu’

文字列 (既定では: "")
ウィンドウについてローカル
{Vim が |+conceal| 機能付きでコンパイルされたときのみ有效}

カーソル行のテキストを Conceal 表示するモードを設定する。現在のモードがこのオプション値に含まれてゐるなら他の行と同樣に Conceal 表示される。

nノーマルモード
vビジュアルモード
i插入モード
cコマンドライン編輯 (’incsearch’ 用)

’v’ はカーソル行だけでなくビジュアル選擇された行全體に適用される。便利な値は "nc" である。これはヘルプファイルで使はれてゐる。移動してゐるときはテキストは Conceal 表示されるが、テキストを入力したりビジュアル選擇したりするときは實際のテキストが表示されるので、自分の操作を視覺できる。

カーソルの位置は實際の表示とは異なる場合があるので注意すること。例へば縱に移動することで列が變はることがある。

’conceallevel’ ’cole’

數値 (既定では 0)
ウィンドウについてローカル
{Vim が |+conceal| 機能付きでコンパイルされたときのみ有效}

"conceal" 構文屬性 (|:syn-conceal|) のテキストをどのやうに表示するかを設定する:

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

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

’confirm’ ’cf’

切替 (既定ではオフ)
グローバル

オプション ’confirm’ がオンならば、バッファへの變更を保存してゐないと實行に失敗する操作 (例へばコマンド ":q" と ":e") の際、ダイアログ |dialog| を開いてファイルを保存するかどうか尋ねる。これがオンになつてゐても、意圖的に變更を廢棄したいなら ! を使へる。

confirm’ がオフでも、コマンド |:confirm| で個別に確認を求めることができる (これはキーマッピングで使ふととても便利である)。函數 |confirm()| と ’guioptions’ のフラグ ’v’ も參照。

’conskey’ ’consk’

切替 (既定ではオフ)
グローバル

これは MS-DOS のためのものであつたが、もうサポートされてゐない。

’copyindent’ ’ci’

切替 (既定ではオフ)
バッファについてローカル

新規行を自動インデントするとき、既存の行のインデント構造をコピーする。普通、新しい行のインデントは |'expandtab'| が有效になつてゐないかぎり (この場合は全てスペースになる)、まづタブが使はれ、足りない部分がスペースで埋められる。

このオプションを有效にすると、既存の行のインデントにどんな文字が使はれていやうとそれを新規行にコピーする。’expandtab’ はこれらの文字には影響せず、タブはタブのままになる。新規行のインデントが既存の行よりも深いならば、その差の部分は通常の方法で埋められる。

Note:
このオプションは ’compatible’ がオンになるとこのオプションはオフになる。’preserveindent’ も參照。

’cpoptions’ ’cpo’

文字列 (Vim の既定値: "aABceFs", 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 仕樣に近い擧動をするやうになる。

フラグ動作
aこれが含まれると、":read" にファイル名の引數を與へたとき、そのファイルをカレントウィンドウの代替ファイルに設定する。
Aこれが含まれると、":write" にファイル名の引數を與へたとき、そのファイルをカレントウィンドウの代替ファイルに設定する。
b":map" 內の "\|" がコマンドの終端と見なされるやうになる。’\’ はキーマッピングの一部に、’|’ の次のテキストは次のコマンドと見なされる。’|’ をキーマッピングに含めるには、’\’ でなく CTRL-V を使ふこと。キーマッピングや略語やメニューや autocmd コマンドの全てに適用される。|map_bar| も參照。
B’\’ が、キーマッピングや略語やユーザーコマンドや ":menu" のメニューから實行される部分において、特別な意味を持たなくなる。’\’ を CTRL-V のやうに使ひたいのならこのフラグを取り除くこと。

例へば、":map X \<Esc>" で X がマップされるのは、

’B’ が含まれたとき:"\^[" (^[ は本當の <Esc>)
’B’ が除かれたとき:"<Esc>" (5個の文字)

(どちらの場合も ’<’ が除かれてゐるとする)

c{譯注: 檢索でマッチする文字列があつた後} カーソル位置のマッチの終はり (ただし次行の開始位置を越えない) から次の檢索を行ふ。

このフラグが含まれないと、次の檢索はカーソル位置の 1 文字後から始まる。’c’ が含まれると、"/abab" で檢索したとき "abababababab" には 3 回しかマッチしないが、’c’ が含まれないと5回マッチする。

C":source" で讀み込まれたファイルのうち、’\’ で始まる行を連結しない。|line-continuation| を參照。
dtags’ 內で "./" といふ記法を使つたとき、タグファイルはカレントファイルのディレクトリでなく、カレントディレクトリから探す。
D|r|, |f| や |t| のやうな、文字を引數に取る ノーマルモードコマンドの後で、CTRL-K によるダイグラフの入力ができなくなる。
e":@r" でレジスタの內容を {譯注: Ex コマンドとして} 實行するとき、レジスタが行全體を保存したものでないときでも、常に最終行に <CR> を付け加へる。このフラグが含まれないときは、レジスタの內容が行全體を保存したものでなく、かつ <CR> で終はらないならば、實行すると最終行はコマンドラインに表示され、<CR> を打ち込むまでは編輯できる。
E空の範圍に "y", "d", "c", "g~", "gu", "gU" などのコマンドを使ふとエラーになる。オペレータは作用する對象が最低でも 1 文字ないと使へない。例: これが含まれると、最初の桁で "y0" を行ふとエラーになる。
fこれが含まれると、カレントバッファにファイル名がまだ設定されてゐないなら、":read" にファイル名の引數を與へたとき、そのファイル名をカレントバッファのファイル名に設定する。
Fこれが含まれると、カレントバッファにファイル名がまだ設定されてゐないなら、":write" にファイル名の引數を與へたとき、そのファイル名をカレントバッファのファイル名に設定する。|cpo-P|も參照。
g":edit" を引數なしで使ふと 1 行目に移動する。
H空白のみを含む行の上で "I" を使つたとき、最後の空白の前から插入する。このフラグが含まれてゐないと、最後の空白の後から插入を開始する。
iこれが含まれると、ファイルの讀み込み中に中斷が起きたとき、ファイルは變更されたままになる。
Iautoindent’ によるインデントが插入された直後にカーソルを上下に移動したときインデントを削除しない。
j行の連結時に追加する空白が、’.’ の後のみ2個になり、’!’ や ’?’ の後は 1 個になる。’joinspaces’ も參照。
J文 |sentence| は ’.’, ’!’ または ’?’ の後に 2 個の空白を伴はなければならない。<Tab> は空白とは見なされない。
k":menu" で實行される部分や、キーマッピングや略語において、直接入力されたキーコードを認識しない。例へば、<Key> が ^[OA を送るなら (ここで ^[ は <Esc> )、":map X ^[OA" で X がマップされるのは、
’k’ が含まれたとき:"^[OA" (3 個の文字)
’k’ が除かれたとき:"<Key>" (1 個のキーコード)

下の ’<’ も參照。

Kキーマッピングの途中で、キーコードが完全に入力されるのを待たない。<F1><F1> のマッピングは、2 番目の <F1> の一部のみが讀み込まれた場合、動作しなくなる。かうすると <F1><Esc> と打ち込めばマッピングをキャンセルできる。
l檢索パターンの [] 範圍內で、’\’ は文字通りに解釋され、"\]", "\^", "\\" だけが特別な意味を持つ。|/[]| を參照。
’l’ が含まれたとき:"/[ \t]" がマッチするのは <Space>, ’\’ と ’t’
’l’ が除かれたとき:"/[ \t]" がマッチするのは <Space> と <Tab>

|cpo-\|も參照。

Llist’ がオンのとき、’wrapmargin’, ’textwidth’, ’softtabstop’ と假想置換モード (|gR| を參照) で、<Tab> の普通の數え方をせず、必ず 2 文字に數へる。
mこれが含まれると、對應する括弧の表示を 0.5 秒待つ。含まれてゐないと、對應する括弧の表示を 0.5 秒または次の文字が打ち込まれるまで待つ。|'showmatch'| を參照。
Mこれが含まれてゐない場合、"%" での括弧の對應にバックスラッシュを考慮に入れる。すなはち "( \( )" や "\( ( \)" で外側の括弧同士が對應するやうになる。含まれてゐる場合、"%" は Vi 互換になり、バックスラッシュは無視される。
nこれが含まれてゐるときは折り返された行のテキストの表示に ’number’ と ’relativenumber’ によつて行番號表示されてゐる列も使用される。
o檢索コマンドの行オフセットは、次囘の檢索には使はれない。
Oファイルが上書きされたとき、編輯を始めたときにはそのファイルが存在しなかつた場合でも警告しない。これは別人に突然作り出されたファイルに對する防禦である。Vi はこれに警告を出さなかつた。
pVi 互換の Lisp 用インデント。これが含まれないと、いくらか良いアルゴリズムが使はれる。
Pこれとフラグ ’F’ が同時に含まれてゐると、コマンド ":write" で既存のファイルに追加するとき、カレントバッファの名前がまだないならそのファイルの名前をカレントバッファの名前にする。|cpo-F|
q複數の行を連結するとき、2 行を連結するときと同じ位置にカーソルを置く。
rリドゥ (コマンド ".") で檢索を繰り返すとき、實際には "/" を使ふ。
Rフィルタされた行のマークを除去する。このフラグが入つてゐないと、|:keepmarks| を使つたときと同じやうにフラグはそのまま保たれる。
sバッファが初めてアクティブになる時點でバッファのオプションが設定される。これは Vim version 3.0 と同じ動作である。そして既定ではこの動作を行ふ。これが含まれないと、オプションはバッファが作られた時點で設定される。
Sバッファのオプションを常にバッファに移動する時點で設定する (’readonly’, ’fileformat’, ’filetype’ と ’syntax’ 以外)。これは (ほとんど) Vi 互換の設定である。

オプションの値は元のカレントバッファでの値になる。ユーザーがオプションを變更し、その後で別のバッファに移ると、その値はコピーされる。事實上、バッファオプションを全てのバッファに對しグローバルにしてゐる。

’s’’S’バッファのオプションをコピーするタイミング
オフオフバッファが作られた時點
オンオフバッファが初めてアクティブになつた時點 (既定)
なしオンバッファに移動するたび (Vi 互換)
tタグコマンドの檢索パターンが "n" による檢索の繰り返しにも使はれる。これが含まれないと、檢索パターンの履歷には加へられるが、最終檢索パターンは變化しない。
uアンドゥが Vi 互換になる。|undo-two-ways| を參照。
v插入モードにおいて、バックスペースで消した文字を畫面上に表示したままにしておく。このフラグが入つてゐないと、消された文字はすぐに畫面から消える。このフラグが入つてゐると、新しく入力された文字がバックスペースで消された文字を上書きする。
w空白の上で "cw" を使つたとき、1 文字だけ變更して、次の單語の始まりまでの空白は變更しない。
W讀み込み專用ファイルを上書きしない。これが含まれないと、可能であれば ":w!" で讀み込み專用ファイルも上書きできる。
xコマンドラインで <Esc> を打ち込むとコマンドを實行する。Vim での既定ではコマンドライン入力を中止して元のモードに戾る。それは <Esc> は普通はコマンドの中止に使はれるからである。|c_<Esc>| を參照。
X"R" でカウントを指定したとき、置換されるテキストが一度だけ削除される。カウントをつけた "." で "R" を繰り返したときも同じ。
yコピーコマンドを "." でリドゥできる。本當にこれを使ひたいのであれば、2 度考へること。いくつかのプラグインを壞すかもしれない。ほとんどの人が、"." が變更を繰り返すことを期待してゐるからである。
Zオプション ’readonly’ がオンになつてゐるのに "w!" をしたとき ’readonly’ をオフにしない。
!フィルタコマンドをリドゥするとき、何であつてもとにかく最後に實行された外部コマンドを使ふ。これが含まれないと、最後に實行された「フィルタ」コマンドが使はれる。
$1 行に對して變更をするとき、行を再描畫せず、代はりに變更されたテキストの最後に ’$’ を表示する。變更されたテキストはユーザーが新しいテキストを入力したときに上書きされる。その行はユーザーがカーソルを插入點から動かすコマンドを入力したときに再描畫される。
%"%" で Vi 互換の對應檢索が行はれる。"#if", "#endif" などを認識しない。"/*" と "*/" も認識しない。

單引用符 ”’ または二重引用符 ’"’ の內部の括弧も數へられる。すると括弧を含む文字列が對應を亂すことになる。例へば、"if (strcmp("foo(", s))" などでは最初の括弧と最後の括弧はマッチしない。これが含まれないと、單引用符または二重引用符の內部の括弧は特別な扱ひを受ける。

引用符の外部の括弧の對應を調べるときは、引用符の內部は一切無視される。引用符の內部の括弧の對應を調べるときは、對應する括弧を探す (存在すれば)。これは C 言語プログラムではとても良く機能する。このフラグは C インデントなど他の機能にも使はれる。

-これが含まれてゐると最初の行や最後の行を越えるやうな上下移動コマンドは失敗する。含まれてゐるとカーソルが最初の行または最後の行に移動する (既にカーソルがその行にないかぎり)。

コマンド "-", "k", CTRL-P, "+", "j", CTRL-N, CTRL-J, ":1234" に適用される。

{譯注: 2 行目で 3k したとき、これが含まれてゐるならカーソルは移動しない。含まれてゐないなら 1 行目へ移動する}

+これが含まれてゐると、":write file" をしたとき、まだそのバッファが對應するファイルと異なつてゐても、そのバッファのフラグ ’modified’ がオフになる。
*":*" を ":@" と同じやうに扱ふ。これが含まれないと、":*" は ":’<,’>" の別名となり、ビジュアルエリアを選擇する。
<":menu" で實行される部分や、キーマッピングや略語において、|<>| 記法による特殊キーの認識を行はない。例へば、":map X <Tab>" で X がマップされるのは、
’<’ が含まれたとき:"<Tab>" (5 個の文字)
’<’ が除かれたとき:"^I" (^I は本當の <Tab>)

上の ’k’ も參照。

>レジスタにテキスト追加するとき、そのテキストの前に改行文字をつける。
;|,| や |;| で最後の |t| 檢索を繰り返すとき、カーソルの位置が檢索文字の 1 つ手前であればカーソルを移動しない。フラグが含まれてゐない場合は、カーソルはその文字を飛び越えて次の場所にジャンプする。

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

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

文字列 (既定では "blowfish2")
グローバル/バッファについてローカル |global-local|

バッファをファイルに保存するときに使用される暗號化メソッドを設定する:

zipPkZip 互換メソッド。弱い暗號化。Vim 7.2 以前との後方互換。
blowfishBlowfish メソッド。中强度の暗號化だが實裝上の脆弱性がある。Vim 7.3 以降が必要。このメソッドで保存されたファイルは Vim 7.2 以前のバージョンでは開くことができない。ファイルには "seed" が付加されるのでファイルを書き込むたびに暗號化されたバイト列は異なる。
blowfish2Blowfish メソッド。中强度の暗號化。Vim 7.4.401 以降が必要。このメソッドで保存されたファイルは Vim 7.3 以前のバージョンでは開くことができない。ファイルには "seed" が付加されるのでファイルを書き込むたびに暗號化されたバイト列は異なる。undo ファイルは (テキスト部分だけではなく) 全體が暗號化される。

古いファイルを再度暗號化する時も "blowfish2" を使ふべきである。

暗號化されたファイルを讀み込んだとき、’cryptmethod’ は自動的にそのファイルに使用されてゐる暗號メソッドに設定される。つまり、そのまま ’cryptmethod’ を變更せずにファイルを保存すれば同じメソッドが使用される。

cryptmethod’ の設定を變更してもファイルは變更あり狀態にはならない。設定變更を有效にするにはファイルを保存する必要がある。もし他に變更がなければ保存せずに終了したとしても警告は表示されない。|:X| 參照。

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

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

’cscopepathcomp’ ’cspc’

數値 (既定では 0)
グローバル
{Vim が |+cscope| 機能付きでコンパイルされたときのみ有效}

タグのリストの中でパスを {譯注: 上にさかのぼって} どこまで表示するかを指定する。|cscopepathcomp| を參照。

Note:
このオプションは、’compatible’ がオンになると 0 になるので注意。

’cscopeprg’ ’csprg’

文字列 (既定では "cscope")
グローバル
{Vim が |+cscope| 機能付きでコンパイルされたときのみ有效}

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

’cscopequickfix’ ’csqf’

文字列 (既定では "")
グローバル
{Vim が |+cscope| または |+quickfix| 機能つきでコンパイルされたときのみ利用可能}

cscope の結果を表示するのに QuickFix ウィンドウを使ふかどうかを指定する。|cscopequickfix| を參照。

’cscoperelative’ ’csre’

切替 (既定ではオフ)
グローバル
{Vim が |+cscope| 機能つきでコンパイルされたときのみ利用可能}

cscope のプリフィックス (-P) がないとき、このオプションをオンに設定すると、cscope.out が保存されてゐるディレクトリがプリフィックスとして使はれる。|cscoperelative| 參照。

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

’cscopetag’ ’cst’

切替 (既定ではオフ)
グローバル
{Vim が |+cscope| 機能つきでコンパイルされたときのみ有效}

コマンド tag に cscope を使ふ。|cscope-options| を參照。

Note:
このオプションは ’compatible’ がオンになるとオフになる。

’cscopetagorder’ ’csto’

數値 (既定では 0)
グローバル
{Vim が |+cscope| 機能付きでコンパイルされたときのみ有效}

コマンド ":cstag" が檢索を行ふ順番を指定する。|cscopetagorder| を參照。

Note:
このオプションは、’compatible’ がオンになると 0 になるので注意。

’cscopeverbose’ ’csverb’

切替 (既定ではオフ)
グローバル
{Vim が |+cscope| 機能付きでコンパイルされたときのみ有效}

Cscope のデータベースに情報を追加するときメッセージを表示する。|cscopeverbose| を參照。

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

’cursorbind’ ’crb’

切替 (既定ではオフ)
ウィンドウについてローカル

このオプションをオンにすると、現在のウィンドウでカーソルを動かしたときに、他のウィンドウ (’cursorbind’ オプションが設定されたウィンドウ) 內のカーソルも同じ行と列に移動する。このオプションはバージョン違ひのファイルの差を見るときに便利である (’diff’ 參照)。差分モードでは追加または削除された行 (行に文字がなくても) のみが考慮される。

’cursorcolumn’ ’cuc’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+syntax| 機能つきでコンパイルされたときのみ有效}

カーソルのある畫面上の桁を CursorColumn で强調する |hl-CursorColumn|。テキストを桁揃へするのに便利。スクリーンの再描畫が遲くなる。カレントウィンドウに對してだけこの强調をしたいなら次の自動コマンドを使ふ:

au WinLeave * set nocursorline nocursorcolumn
au WinEnter * set cursorline cursorcolumn
’cursorline’ ’cul’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+syntax| 機能つきでコンパイルされたときのみ有效}

カーソルがあるテキスト行を CursorLine で强調する |hl-CursorLine|。カーソルを目立たせるのに便利。スクリーンの再描畫が遲くなる。ビジュアルモードでは選擇されたテキストをわかりやすくするためにこの强調は行はれない。

’cursorlineopt’ ’culopt’

文字列 (既定では "number,line")
ウィンドウについてローカル
{|+syntax| 機能つきでコンパイルされたときのみ有效}

cursorline’ の表示方法の設定のコンマ區切りのリスト。

有效な値:

"line"CursorLine |hl-CursorLine| でカーソルのテキスト行を强調表示します。
"screenline"CursorLine |hl-CursorLine| を使用して、カーソルの畫面行のみを强調表示します。
"number"CursorLineNr |hl-CursorLineNr| でカーソルの行番號を强調表示します。

特別な値:

"both"値 "line,number" のエイリアス。

"line" と "screenline" を一緖に使用することはできません。

’debug’

文字列 (既定では "")
グローバル

以下の値を指定することができる:

msg省かれるはずのエラーメッセージも表示する。
throw省かれるはずのエラーメッセージも表示し、さらに例外を投げ、|v:errmsg| を設定する。
beepビープが鳴るだけのところでメッセージを表示する。

これらの値はコンマで區切つて組み合はせることができる。"msg" と "throw" はオプション ’foldexpr’ や ’formatexpr’, ’indentexpr’ をデバッグするのに便利である。

’define’ ’def’

文字列 (既定では "^\s*#\s*define")
グローバル/バッファについてローカル |global-local|

マクロ定義を發見するのに使はれるパターンを指定する。値はコマンド "/" で使ふのと同樣の檢索パターンである。このオプションは "[i" や "[d" 等に使はれる |include-search|。オプション ’isident’ は、これがマッチした部分の後の定義された名前を認識するのに使はれる。

{'define' のマッチ}{非識別子}{定義名}{非識別子}

値に空白や ’\’ を含めるために ’\’ を插入することに關しては、|option-backslash| を參照。 既定値は C プログラム用である。C++ プログラムには、定數定義を加へて次のやうにすると便利だらう。

^\(#\s*define\|[a-z]*\s*const\s*[a-z]*\)

名前の直前に "\ze" を使用し、何が續くか確認するためのパターンを續けることもできる。Javascript の例、函數が "func_name = function(args)" で定義されてゐる場合:

^\s*\ze\i\+\s*=\s*function(

函數が "func_name : function() {..." で定義されてゐる場合:

^\s*\ze\i\+\s*[:]\s*(*function\s*(

":set" で設定するときは、’\’ の數を 2 倍にする必要がある!これを囘避するには、‘:let‘ とシングルクォートの文字列を使用する:

let &l:define = '^\s*\ze\k\+\s*=\s*function('
’delcombine’ ’deco’

切替 (既定ではオフ)
グローバル

オンのときは、Unicode のファイルの編輯時、バックスペースとノーマルモードのコマンド "x" はそれぞれの文字の上の combining character のみを削除する。オフのときは (これが既定である) combining character と文字は同時に削除される。

Note:
delcombine’ がオンになつてゐると "xx" の動作が "2x" と異なる場合がある。

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

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

’dictionary’ ’dict’

文字列 (既定では "")
グローバル/バッファについてローカル |global-local|

ファイル名のコンマ區切りのリスト。キーワード補完コマンド |i_CTRL-X_CTRL-K| 用の單語を探すために使はれる。單語のリストからなるファイルを指定する。

その中では 1 行ごとに 1 語が竝べられてゐてもよいし、1 行にキーワードでない文字 (空白を推奬) で區切られた數語が竝んでゐてもよい。

1 行の文字數の最大値は 510 バイト分である {譯注: 日本語のいはゆる全角文字では半分の 255 文字}。

このオプションが空もしくはエントリに "spell" が含まれてゐて、かつスペルチェックが有效になつてゐるとき、現在アクティブな ’spelllang’ 用の單語リスト內の單語が使はれる。|spell| を參照。

ファイル名にコンマを含めるには、コンマの前に ’\’ を置くこと。コンマの後ろの空白は無視されるが、それ以外の空白はファイル名の一部として扱はれる。’\’ の使ひ方については |option-backslash| を參照すること。

このオプションは變數の辭書型 |Dictionary| とは關係ない。單語リストはどこで見つかるか?

リストにディレクトリを追加するときには |:set+=| コマンド、リストからディレクトリを除くときには |:set-=| コマンドを使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。

安全上の理由から、バッククォート (‘) をこのオプションの値に使ふことはできない。

’diff’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+diff| 機能付きでコンパイルされたときのみ有效}

カレントウィンドウをファイル閒の差異を示すウィンドウのグループに組み入れる。|vimdiff| を參照。

’diffexpr’ ’dex’

文字列 (既定では "")
グローバル
{Vim が |+diff| 機能付きでコンパイルされたときのみ有效}

2 個のファイル閒の差異を求めるとき、(ed もしくは unified 形式の) diff ファイルを求めるために評價される expression。|diff-diffexpr| を參照。

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

’diffopt’ ’dip’

文字列 (既定では "internal,filler,closeoff")
グローバル
{Vim が |+diff| 機能付きでコンパイルされたときのみ有效}

差分モード用のオプション設定。値は、以下のキーワードのコンマ區切りのリストである。指定しないものがあつてもよい。

filler片方のウィンドウ內のテキストのある位置に行が插入されてゐたときに、ウィンドウのスクロールを同調させるために、埋め立て用の行を表示する。ウィンドウが隣り合つてゐて、オプション ’scrollbind’ がオンのときには大抵便利である。
context:{n}變更のあつた行の上下を {n} 行だけ折り疊まずに表示 (コンテキストの表示) する。指定されないと、コンテキストは 6 行になる。

0 を使用する場合、折り疊みは削除された行についてもその閒に行を必要とするので、コンテキストは實際には 1 である。

|fold-diff| を參照。

iblank空行の變更を無視する。’diffexpr’ が空なら "diff" コマンドに "-B" フラグを追加する。これが正確には何を指定してゐるのかについては、コマンド "diff" のドキュメントを參照すること。

Note:
空行の無差分は勘定に入れられるため、diff ウィンドウは同調しないことに注意。

icaseテキストの大文字と小文字の違ひを無視する。"a" と "A" は同じものと見なされる。オプション ’diffexpr’ が空なら、コマンド "diff" にフラグ "-i" を追加する。
iwhite空白の數の違ひを無視する。オプション ’diffexpr’ が空なら、コマンド "diff" にフラグ "-b" を追加する。これが正確には何を指定してゐるのかについては、コマンド "diff" のドキュメントを參照すること。これは後ろに追加された空白は無視するが、前に追加された空白は無視しないはずである。
iwhiteall空白の變更すべてを無視する。もしも ’diffexpr’ が空なら "diff" コマンドに "-w" フラグを追加する。これが正確には何を指定してゐるのかについては、コマンド "diff" のドキュメントを參照すること。
iwhiteeol最終行の空白の變更を無視する。’diff expr’ が空なら "diff" コマンドに "-Z" フラグを追加する。これが正確には何を指定してゐるのかについては、コマンド "diff" のドキュメントを參照すること。
horizontal(他に明示的に指定されない限り) ウィンドウを水平分割して差分モードを開始する。
vertical(他に明示的に指定されない限り) ウィンドウを垂直分割して差分モードを開始する。
closeoffdiff’ が設定されたウィンドウが閉ぢられ、同じタブ內で殘つてゐる ’diff’ が設定された唯一のウィンドウがあるとき、そのウィンドウ內で ‘:diffoff‘ を實行します。これは ‘:diffsplit‘ コマンドやり直します。
hiddenoffバッファが隱れバッファになるときに差分モードを使用しない。
foldcolumn:{n}差分モードの開始時にオプション ’foldcolumn’ を {n} に設定する。
internal內藏する diff ライブラリを使ふ。これは ’diffexpr’ が設定されてゐるときは無視される。

バッファを書き込んでゐるときにメモリ不足になると、バッファと關係する diff のために、この項目は無視されるだらう。何が置きてゐるのかを見るには、’verbose’ オプションを設定する。

indent-heuristic內藏する diff ライブラリのためにヒューリスティックなインデントを使ふ。
algorithm:{text}內藏する diff エンジンと共に、指定した diff アルゴリズムを使ふ。現在サポートしてゐるアルゴリズムは:
myersデフォルトのアルゴリズム
minimal可能な限り小さい diff を生成するために厖大な時閒を使ふ
patienceペイシェンス diff アルゴリズム
histogramヒストグラム diff アルゴリズム

例:

:set diffopt=internal,filler,context:4
:set diffopt=
:set diffopt=internal,filler,foldcolumn:3
:set diffopt-=internal  " 內藏 diff パーサーを使はない
’digraph’ ’dg’

切替 (既定ではオフ)
グローバル
{Vim が |+digraphs| 機能付きでコンパイルされたときのみ有效}

插入モードで {char1} <BS> {char2} でダイグラフを入力できるやうにする。|digraphs| を參照。

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

’directory’ ’dir’

文字列 (Amiga での既定値: ".,t:",
    MS-DOS と Win32 での既定値: ".,$TEMP,c:\tmp,c:\temp"
    Unix での既定値: ".,~/tmp,/var/tmp,/tmp")
グローバル

スワップファイル用ディレクトリの、コンマ區切りのリスト。

リストの先頭には "." を指定することを推奬する。かうすると、同じファイルを 2 重に編輯しようとすると警告が出る。

Unix でディレクトリ "/tmp" を使ふのはお勸めできない。システムがクラッシュすると、スワップファイルも失はれてしまふ。ディレクトリ "/var/tmp" の中はリブート時にも大抵クリアされないので、ディレクトリ "/tmp" よりもよい選擇である。

しかしその中には多くのファイルが入つてゐるかもしれないので、ユーザーのスワップファイルは他のファイルに紛れて分からなくなるかもしれない。ユーザーのホームディレクトリ內のディレクトリ "tmp" が最初に試されるのはそのためだ。 リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディレクトリを除くときにはコマンド |:set-=| を使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。

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

’display’ ’dy’

文字列 (既定では ""、|defaults.vim| 內で "truncate" にセットされる)
グローバル

テキスト表示の方法を變へる。値は以下のフラグのコンマ區切りのリストである:

lastlineこれが含まれると、ウィンドウの最後の行ができる限りまで表示される。その行に表示されてゐない箇所があることを示すために、畫面の最後の行の最後の桁に "@@@" が表示される。
truncate"lastline" に似てゐるが、"@@@" は畫面の最後の行の最初の桁に表示される。"lastline" を上書きする。
uhexunprintable な文字を {譯注: 文書先頭を參照} <xx> といふ形式で 16 進數表示し、^C や ~C の形式を使はない。

"lastline" も "truncate" も含まれてゐない時、收まらない最後の行は "@" に置き換へられる。

’eadirection’ ’ead’

文字列 (既定では "both")
グローバル

オプション ’equalalways’ が適用されるときに、

verウィンドウの高さにのみ效果がある
horウィンドウの幅にのみ效果がある
bothウィンドウの高さと幅、兩方に效果がある
’edcompatible’ ’ed’

切替 (既定ではオフ)
グローバル

コマンド ":substitute" のフラグ ’g’ と ’c’ を、次に別の方を指定するまでずつと效力を持つやうにする。|complex-change| を參照。オプション ’gdefault’ も參照。

このオプションをオンに設定するとプラグインを壞すかもしれない!

’emoji’ ’emo’

切替 (既定ではオン)
グローバル

オンにすると全ての Unicode 繪文字は全角とみなされる。

’encoding’ ’enc’

文字列 (既定では "latin1" または $LANG)
グローバル

Vim 內部で使はれる文字エンコーディングを設定する。そのエンコーディングはバッファやレジスタ內のテキスト、expression 內の文字列、ファイル viminfo 內のテキスト等に適用される。つまり、このオプションは Vim の通常扱ふ文字の種類を設定する。指定できる値については |encoding-names| を參照。

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

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

Note:
MacVim と GTK+ では ’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’

切替 (既定ではオン)
バッファについてローカル

ファイルを書き込むときに、このオプションがオフでオプション ’binary’ がオンあるいはオプション ’fixeol’ がオフに設定されてゐる場合は、ファイルの最終行に <EOL> が書き込まれない。このオプションはファイルの編輯を始める時に、ファイルが <EOL> を持つてゐるかどうかによつて自動的にオンまたはリセットされる。普通はユーザーがこのオプションを設定する必要はない。

binary’ がオフで ’fixeol’ がオンのとき、このオプションの値はファイル書き込み時に使用されない。{譯注: 必ず最終行に <EOL> が書き込まれる。}

binary’ がオンもしくは ’fixeol’ がオフの時は最終行の <EOL> の狀態を維持する爲にこのオプションが使用される。これはファイルが書き込まれる際に、<EOL> の有無を元のファイルのままにするといつたシチュエーションを想定してゐる。しかし <EOL> の有無を現狀から變へたい場合には、このオプションを變更することで實現できる。

’equalalways’ ’ea’

切替 (既定ではオン)
グローバル

オンのときは、ウィンドウを分割したり閉ぢたりした後、全てのウィンドウが自動的に同じサイズになる。これはこのオプションがオフになつた瞬閒にも起こる。オフのときは、ウィンドウを分割するとカレントウィンドウのサイズだけが減り、他のウィンドウに變化はない。ウィンドウを閉ぢると、(’splitbelow’ と ’splitright’ に從つて) 閉ぢたウィンドウの隣のウィンドウの行數が增す。

水平に分割されたウィンドウと垂直に分割されたウィンドウが混在してゐるときは、サイズの最小値が計算され、いくつかのウィンドウは (餘裕があれば) 大きくなる。’eadirection’ はサイズの變化する方向を指定する。’winfixheight’, ’winfixwidth’ を設定するとウィンドウの高さ・幅が變はるのを防ぐことができる。

新規ウィンドウ作成時にウィンドウサイズが指定された場合、ウィンドウサイズは等しくならない(これは複雜だが、將來は實裝されるかもしれない)。

’equalprg’ ’ep’

文字列 (既定では "")
グローバル/バッファについてローカル |global-local|

コマンド "=" に使ふ外部プログラムを指定する。値が空のときは內部函數が整形に使はれる (オプション ’lisp’, ’cindent’ または ’indentexpr’)。

Vim が內部フォーマットなしでコンパイルされてゐるときは indent コマンドが使はれる。

環境變數は展開される |:set_env|。値に空白や ’\’ を含める方法については |option-backslash| を參照。

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

’errorbells’ ’eb’

切替 (既定ではオフ)
グローバル

エラーメッセージに伴つてベル (ビープ音または畫面フラッシュ) を發生させる。このオプションはエラーメッセージにのみ適用され、メッセージのない多くのエラー (例へばノーマルモードで <ESC> を打ち込んだとき) についてはベルは常に使用される。ベルをビープ音にしたり、畫面フラッシュにしたり、無效にしたりするためには、オプション ’visualbell’ を參照。ベルを鳴らす條件を微調整するには ’belloff’ を參照。

’errorfile’ ’ef’

文字列 (Amiga での既定値: "AztecC.Err", 他の既定値: "errors.err")
グローバル
{Vim が |+quickfix| 機能付きでコンパイルされたときのみ有效}

QuickFix モードで使はれるエラーファイルの名前 (|:cf| を參照)。

コマンドライン引數 "-q" が指定されたときは、オプション ’errorfile’ はそれに續く値に設定される。|-q| を參照。

コマンド ":make" には「使はれない」。それについては |'makeef'| を參照。

環境變數は展開される |:set_env|。値に空白や ’\’ を含める方法については |option-backslash| を參照。

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

’errorformat’ ’efm’

文字列 (既定値はとても長い)
グローバル/バッファについてローカル |global-local|
{Vim が |+quickfix| 機能付きでコンパイルされたときのみ有效}

エラーファイルの內容の書式を、函數 scanf 風に指定する (|errorformat| を參照)。

’esckeys’ ’ek’

切替 (Vim の既定値: オン, Vi の既定値: オフ)
グローバル

オンのときは、<Esc> で始まるファンクションキーも插入モードで認識されるやうになる。オフのときは、<Esc> で始まるカーソルキーとファンクションキーは、插入モードで使ふことができない。かうすることの利點は、<Esc> を 1 回打ち込むだけですぐに認識され、1 秒ほど待つ必要がないことだ。このオプションをオフにしなくても、オプション ’timeoutlen’ と ’ttimeoutlen’ を變更してみるとよい。

Note:
esckeys’ がオフのときでも、どのキーをマッピングすることもできるが、そのままではカーソルキーは使用できないことに注意。

Note:
このオプションは ’compatible’ がオンになると Vi の既定値に、オフになると Vim の既定値に設定されるので注意。

Note:
このオプションがオフのとき、とある修飾キーによつて插入モードの終了を囘避するために、插入モードのあひだは |modifyOtherKeys| の機能性が無效にされることに注意してください。

’eventignore’ ’ei’

文字列 (既定では "")
グローバル

Autocommand のイベント名のうち、無視したいもののリスト。"all" が含まれてゐると全ての autocommand のイベントが無視され、autocommand は實行されなくなる。それ以外では、値はイベント名のコンマ區切りのリストである。例:

:set ei=WinEnter,WinLeave
’expandtab’ ’et’

切替 (既定ではオフ)
バッファについてローカル

插入モードで <Tab> を插入するとき、代はりに適切な數の空白を使ふ。また、コマンド ’>’ や ’<’ によるインデントや、オプション ’autoindent’ がオンのときのインデントでも空白を使ふ。’expandtab’ がオンのときに本當のタブを插入するには、CTRL-V<Tab> を使ふこと。|:retab| と |ins-expandtab| も參照。

このオプションは ’paste’ オプションがオンになつた時にはリセットされ、’paste’ オプションがリセットされた際には復元される。

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

’exrc’ ’ex’

切替 (既定ではオフ)
グローバル

カレントディレクトリ內のファイル .vimrc, .exrc.gvimrc 等の讀み込みを有效にする。

このオプションを設定することは潛在的な機密漏洩を意味する。例へば、パッケージを解凍することや github からファイルを取得することを考へると、その中に含まれる .vimrc はトロイの木馬になりえる。

このオプションは設定しないはうが良い! {譯注:太字で强調} その代はりに自分の .vimrc で、ディレクトリ每のオプションを設定する autocommand を定義するべきである。

このオプションをオンにするなら、オプション ’secure’ もオンにするやう檢討すること (|initialization| を參照)。|.vimrc| と |gui-init| も參照。

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

’fileencoding’ ’fenc’

文字列 (既定では "")
バッファについてローカル

カレントバッファのファイルの文字エンコーディングを設定する。

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" での終了を妨げないのでいいかもしれない。

このオプションは ’modifiable’ がオフのときには變更することができない。

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

’fileencodings’ ’fencs’

文字列 (既定値: "ucs-bom", ’encoding’ の値が Unicode に設定されたときは "ucs-bom,utf-8,default,latin1")
グローバル

値は、既存のファイルの編輯を開始するときに考慮される文字エンコーディングのリストである。ファイルが讀み込まれると、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,latin1utf-8 のファイルで BOM が認識されない
cp1250,latin1常に "cp1250" が使はれてしまふ

fileencodings’ が空のときには ’fileencoding’ は變更されない。設定可能な値については ’encoding’ を參照すること。このオプションを設定しても次にファイルを讀み込むときまでは效果がない。

’fileformat’ ’ff’

文字列 (

MS-Windows での既定値:"dos",
Unix, macOS での既定値:"unix")

バッファについてローカル

バッファにファイルを讀み込んだり、バッファからファイルに書き込んだりするときに使はれる <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’

文字列 (既定値:

Vim+Vi MS-Windows:"dos,unix",
Vim Unix, macOS:"unix,dos",
Vi Cygwin:"unix,dos",
Vi その他:"")

グローバル

想定される改行 (<EOL>) の種類を指定する。これは新しいバッファの編輯を始めたときと、ファイルを既存のバッファに讀み込んだときに使はれる。

binary’ がオンのときは、’fileformats’ は使はれない。

Vim が空のバッファで起動されたときは最初の項目が使はれる。.vimrc 內で ’fileformat’ を設定することでこれを變更することができる。

DOS 形式の <EOL> (<CR><NL>) のシステムでは、コマンド ":source" で讀み込まれるファイルと、ファイル vimrc については、<EOL> の判別が自動的に行はれる。

また |file-formats| も參照。

後方互換性のために: このオプションに、空の文字列か 1 種類だけの名前が設定されたとき (コンマが含まれてゐないとき) には、’textauto’ はオフになる。さうでなければ ’textauto’ はオンになる。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’fileignorecase’ ’fic’

切替 (既定値: ファイル名の大文字と小文字の違ひを無視するシステムではオン)
グローバル

このオプションが設定すると、ファイル名とディレクトリ名の大文字と小文字の違ひが無視される。補完で大文字と小文字の違ひを無視したい場合は ’wildignorecase’ を參照。

’filetype’ ’ft’

文字列 (既定では "")
バッファについてローカル

このオプションが變更されると 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’

文字列 (既定では "vert:|,fold:-")
グローバル
{Vim が |+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’

切替 (既定ではオン)
バッファについてローカル

このオプションがオンの時にファイルを書き込むとファイル末尾に <EOL> が無い場合に復元される。もしオリジナルのファイルのまま維持したいのであればこのオプションをオフに切り替へる。

binary’ オプションが設定されてゐるときはこのオプションは意味を成さない。オプション ’endofline’ を參照。

’fkmap’ ’fk’

切替 (既定ではオフ)
グローバル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ有效}

このオプションはペルシア語を使ふためのもので、削除された。|farsi.txt| を參照。

’foldclose’ ’fcl’

文字列 (既定では "")
グローバル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

"all" に設定すると、カーソルが折り疊み區閒の外に出たとき、その區閒の折り疊みの深さがオプション ’foldlevel’ より大きければ折り疊みを行ふ。折り疊み區閒の外に出るとき、自動的に折り疊みを行ひたいときに便利である。

’foldcolumn’ ’fdc’

數値 (既定では 0)
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

非 0 に設定されると、ウィンドウの端の指定された幅の列が折り疊みを (開いてゐても閉ぢてゐても) 表示する。最大値は 12 である。|folding| を參照。

’foldenable’ ’fen’

切替 (既定ではオン)
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

オフのときは、全ての折り疊みが開かれる。このオプションは、全てのテキストを折り疊みなしで見る狀態とテキストの一部を折り疊んで見る (手動で開かれたり閉ぢられた折り疊みも含む) 狀態を素早く切り替へるために使はれる。

このオプションはコマンド |zi| で切り替へることができる。オプション ’foldenable’ がオフのときは、’foldcolumn’ は空白のままである。このオプションは、新しい折り疊みを作つたり、折り疊みを閉ぢたりするコマンドによつてオンにされる。|folding| を參照。

’foldexpr’ ’fde’

文字列 (既定では "0")
ウィンドウについてローカル
{Vim が |+folding| 機能と |+eval| 機能付きでコンパイルされたときのみ有效}

オプション ’foldmethod’ が "expr" のときに使はれる expression。これは折り疊みの深さを求めるために各行について評價される。|fold-expr| を參照。

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

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

’foldignore’ ’fdi’

文字列 (既定では "#")
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

オプション ’foldmethod’ が "indent" のときのみ使はれる。’foldignore’ で指定した文字で始まる行の折り疊みの深さは、上下の行から決められる {譯注: その行のインデントが上下と違つてゐても、一緖に折り疊めるやうにするため}。空白を無視した上で指定された文字の存在を調べる。既定値の "#" は C 言語プログラムについてはうまく動作する。|fold-indent| を參照。

’foldlevel’ ’fdl’

數値 (既定では 0)
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

折り疊みの深さを設定する。指定した數値よりレベルの深い折り疊み區閒は閉ぢられる。このオプションを 0 に設定すると、全ての折り疊みが閉ぢられる。

大きな數値を設定すると、それだけ閉ぢられる折り疊みの數は減る。

このオプションはコマンド |zm|, |zM| や |zR| によつて設定される。|fold-foldlevel| を參照。

’foldlevelstart’ ’fdls’

數値 (既定では -1)
グローバル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

ウィンドウで新しいバッファの編輯を始めるときのオプション ’foldlevel’ を設定する。編輯開始時に常に全ての折り疊みを閉ぢておいたり (そのためには 0 にする)、いくつかを閉ぢておいたり (1 にする)、全て開いておいたり (99 にする) するときに便利である。

これによる設定はモードラインの讀み込み前に行はれるので、モードライン內での設定はこのオプションによる設定より優先される。ファイルの編輯を |diff-mode| で開始してもやはりこのオプションは無視され、全ての折り疊みが閉ぢられる。

またこれによる設定はイベント BufReadPre による autocommand よりも前に行はれるので、特定のファイルについて autocommand で ’foldlevel’ を上書きできる。値が負のときには、このオプションは使はれない。

’foldmarker’ ’fmr’

文字列 (既定では "{{{,}}}")
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

オプション ’foldmethod’ が "marker" のときに使はれる、折り疊み開始/終了を示すマーカー。開始マーカーと終了マーカーを分けるために、閒に 1 個のコンマがなければいけない。マーカーはただの文字列である (正規表現では動作が遲すぎるだらう)。|fold-marker| を參照。

’foldmethod’ ’fdm’

文字列 (既定では "manual")
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

カレントウィンドウに適用される折り疊みの種類を設定する。指定可能な値は以下の通り:

|fold-manual|manual折り疊みは手動で設定する。
|fold-indent|indent等しいインデントの行で折り疊みを作る。
|fold-expr|exprオプション ’foldexpr’ で深さを設定する。
|fold-marker|markerマーカーで折り疊みを指定する。
|fold-syntax|syntax構文强調表示のキーワードを使つて指定する。
|fold-diff|diff變更されてゐないテキストを折り疊む。
’foldminlines’ ’fml’

數値 (既定では 1)
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

畫面上の行數を設定する。設定された行數より大きな折り疊みだけが閉ぢた折り疊みとして表示される。手動で閉ぢられた折り疊みにも適用される。初期設定の 1 では、折り疊みが 2 行以上の場合のみ閉ぢることができる。ゼロに設定することで 1 行だけの折り疊みを閉ぢることができる。

Note:
このオプションは折り疊みの表示方法に關してのみ效果を持つ。例へば "zc" で折り疊みを閉ぢて、その折り疊みが ’foldminlines’ より小さいために開いた狀態で表示されてゐるとき、續けて "zc" を入力するとその外側の折り疊みを閉ぢることになる。

’foldnestmax’ ’fdn’

數値 (既定では 20)
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

折り疊みの方法に "indent" や "syntax" が選ばれたときの、折り疊みの入れ子の深さの最大値を設定する。これにより折り疊みが厖大に作られるのを防ぐことができる。Vim 內部の制限が 20 になつてゐるので、20 以上を設定しても無效である。

’foldopen’ ’fdo’

文字列 (既定では "block,hor,mark,percent,quickfix,search,tag,undo")
グローバル
{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()")
ウィンドウについてローカル
{Vim が |+folding| 機能付きでコンパイルされたときのみ有效}

閉ぢられた折り疊みのところに表示されるテキストを生成する expression を指定する。|fold-foldtext| を參照。

このオプションがモードラインで設定されたときは、式はサンドボックス (|sandbox|) の中で評價される。|sandbox-option| を參照。’modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

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

’formatexpr’ ’fex’

文字列 (既定では "")
バッファについてローカル
{Vim が |+eval| 機能つきでコンパイルされたときのみ有效}

オペレータ |gq| や自動整形 (’formatoptions’ 參照) で行の範圍を整形するために評價される式。このオプションが空だと ’formatprg’ が使はれる。

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

例:

:set formatexpr=mylang#Format()

これは ’runtimepath’ にある autoload/mylang.vim 中の mylang#Format() 函數を呼ぶ。|autoload|

また、’textwidth’ がオンになつてゐて、テキストを追加してゐるときにその値を超えたときにもこの式が評價される。これは內部整形が使はれるときと同じ條件で起こる。この式を評價した後のカーソル位置がテキストに對して元の位置と同じになるやうにすること。この式を評價中は、函數 |mode()| は "i" または "R" を返す。

この函數が非ゼロを返すと Vim 內部の文章整形處理が使はれる。

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

Note:
This option is set to "" when ’compatible’ is set.

’formatlistpat’ ’flp’

文字列 (既定では "^\s*\d\+[\]:.)}\t ]\s*")
バッファについてローカル

リストのヘッダーを認識するのに使はれるパターン。’formatoptions’ のフラグ "n" に適用される。

このパターンにマッチする部分が、それ以下の行のインデントとなる。|/\ze| を使ふとマッチの終はりをマークしつつ、さらに文字のチェックを續けることができる。

{ 譯注: 例へば、このオプションが既定の "^\s*\d\+[\]:.)}\t ]\s*" のとき、マッチする部分は

    1.    the first item
          wraps
^^^^^^^^^^

の部分である。既定の値に \ze をはさんで "^\s*\d\+[\]:.)}\t ]\ze\s*" とすると、リストのヘッダーと認識されるパターンはまつたく變はらないが、次行のインデントが \ze 以前の部分に等しくなる:

    1.    the first item
      wraps
^^^^^^

}

パターンの後ろに文字がなければならない。行全體がマッチすると、その行はマッチがないのと同樣に扱はれてしまふ。

既定では數字 (後ろに句讀點や空白があつてもよい) を認識する。

’formatoptions’ ’fo’

文字列 (Vim の既定値: "tcq", Vi の既定値: "vt")
バッファについてローカル

自動整形の實行方法を決めるフラグの列である。|fo-table| を參照。オプション ’paste’ がオンのときは、(’formatoptions’ が空のときのやうに) 整形は行はれない。讀みやすくするために、フラグの閒にコンマを挾んでもよい。

將來追加されるフラグによる問題を避けるため、コマンド ":set" では "+=" と "-=" を使ふこと |add-option-flags|。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’formatprg’ ’fp’

文字列 (既定では "")
グローバル/バッファについてローカル |global-local|

選擇された行をコマンド |gq| で整形するのに使はれる外部プログラムの名前を指定する。使はれるプログラムは標準入力からテキストを讀み込み、整形されたテキストを標準出力に出力しなければいけない。Unix のプログラム "fmt" が代表である。

オプション ’formatexpr’ が空でないならば、代はりにその値が使はれる。このオプションが空ならば、內部の整形函數が使はれる |C-indenting|。

環境變數は展開される |:set_env|。値に空白や ’\’ を含める方法については、|option-backslash| を參照。

このオプションは |modeline| や |sandbox| の中ではセキュリティ上の理由により設定できない。

’fsync’ ’fs’

切替 (既定ではオン)
グローバル

これがオンになつてゐると、ファイル書き込みの後にライブラリ函數 fsync() が呼ばれる。するとファイルがディスクにフラッシュされ、メタデータのみをジャーナルするファイルシステム上でも安全に書き込みが行はれるやうになる。

ラップトップモードで動作する Linux システム上で强制的にハードドライブを廻轉させることになるが、これはある種の狀況では望ましくない。これをオフにするとクラッシュ時にデータを失ふ可能性を高めることに注意。fsync() の實裝がないシステム上ではこの變數は常にオフである。

スワップファイルに對して fsync() をコントロールするには ’swapsync’ を參照。’fsync’ は、フラグがこれを却下するやうに指定されてゐない限り、|writefile()| にも適用する。

セキュリティ上の理由から、このオプションを |modeline| または |sandbox| 內で設定することはできない。

’gdefault’ ’gd’

切替 (既定ではオフ)
グローバル

オンのときは、コマンド ":substitute" のフラグ ’g’ がオンであることが既定になる。つまり行內のマッチする文字列が、1 番目のものだけでなく、全て置換される。":substitute" に ’g’ が指定されると、逆に 1 番目のみを置換するやうになる。|complex-change| を參照。

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

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

DEPRECATED:
このオプションを設定すると、このオプションを知らないプラグインを壞すかもしれない。また、多くのユーザーが、標準の /g とは正反對の效果を持つてゐる /g フラグを付けることについて混亂する。

’grepformat’ ’gfm’

文字列 (既定では "%f:%l:%m,%f:%l%m,%f %l%m")
グローバル

コマンド ":grep" の出力を認識するための書式。オプション ’errorformat’ と同じく、函數 scanf 風の書式指定を使ふ。|errorformat| を參照。

’grepprg’ ’gp’

文字列 (既定では "grep -n ",
    Unix では: "grep -n $* /dev/null",
    Win32 では: "findstr /n" か "grep -n",
    VMS では: "SEARCH/NUMBERS ")
グローバル/バッファについてローカル |global-local|

コマンド ":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’

文字列 (既定では
     "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")
グローバル
{Vim の GUI 版か、MS-DOS または Win32 のコンソール版でのみ有效}

Vim のそれぞれのモード內でのカーソルの外觀を指定する。GUI 上では完全に機能する。MSDOS や Win32 コンソールではカーソルの高さだけを變更する。これはブロックカーソルを指定する、または垂直・水平方向のパーセンテージを指定することで行ふ。

コンソール上ではエスケープシーケンス ’t_SI’, ’t_SR’ 及び ’t_EI’ が使はれる。

値はコンマ區切りのキーワードのリストである。リストは部門別に分かれてをり、各部門はモードリストと引數リストからなる。

モードリスト:引數リスト,モードリスト:引數リスト,..

モードリストは、モードを表す以下の記號のダッシュ區切りのリストである。

nノーマルモード
vビジュアルモード
veselection’ が "exclusive" のときの ビジュアルモード (指定されなければ ’v’ と同じ設定)
oOperator-pending モード
i插入モード
r置換モード
cコマンドラインノーマル (追加) モード
ciコマンドライン插入モード
crコマンドライン置換モード
sm插入モードでの對應括弧表示時
a全てのモード

引數リストは、以下の引數のダッシュ區切りのリストである。

hor{N}文字高の {N}% の高さの水平バーカーソル
ver{N}文字幅の {N}% の幅の垂直バーカーソル
block文字全體を覆ふ大きさのブロックカーソル

[上の 3 個のうちの 1 個だけを指定できる]

blinkwait{N} or blinkon{N} or 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
’guifont’ ’gfn’

文字列 (既定では "")
グローバル
{Vim の GUI 版でのみ有效}

Vim の GUI 版で使はれるフォントのリストである。値の最も單純なものは、ただ 1 個のフォント名である。詳細は |gui-font| を參照。

’guifontset’ ’gfs’

文字列 (既定では "")
グローバル
{Vim の GUI 版で、|+xfontset| 機能付きでコンパイルされたときのみ有效}
{GTK+ GUI では利用できない}

このオプションには 2 種類 (またはそれ以上) のフォントを指定する。値が空のときは無視される。1 種類目は普通の英語に使はれるもので、2 種類目はユーザーの使ふ特別な言語用である。|xfontset| を參照。

’guifontwide’ ’gfw’

文字列 (既定では "")
グローバル
{Vim の GUI 版でのみ有效}

2 倍幅の文字に使はれるフォントをコンマ區切りのリストで指定する。値が空のときは無視される。讀み込み可能なフォントのうち先頭のものが使はれる。|gui-fontwide| を參照。

’guiheadroom’ ’ghr’

數値 (既定では 50)
グローバル
{Vim の GTK と X11 の GUI 版でのみ有效}

GUI ウィンドウを畫面に合はせるときに、畫面の高さから差し引かれるピクセル數。このオプションは GUI を開始する前に、例へばファイル |gvimrc| 內で設定すること。値を 0 にすると、畫面の高さ全體がウィンドウに使はれる。

正の値を指定すると、それだけのピクセル數がウィンドウの裝飾や畫面上の他のもののために殘される。ウィンドウを畫面よりも高くするには、負の値を指定すること。

’guioptions’ ’go’

文字列 (既定では "egmrLtT" (MS-Windows、"t" は |defaults.vim| 內で削除される),
         "aegimrLtT" (GTK, MotifとAthena),)
グローバル
{Vim の GUI 版でのみ有效}

このオプションは Vim の GUI 版でのみ有效である。値は、GUI のどのコンポーネントとオプションを使用するかを決定する、フラグの列である。

將來追加されるフラグによる問題を避けるため、コマンド ":set" では "+=" と "-=" を使ふこと |add-option-flags|。

使用できるフラグは以下の通りである。

’!’

外部コマンドが端末ウィンドウで實行される。このフラグがない場合、MS-Windows GUI はコマンドを實行するためにコンソールウィンドウを開く。Unix GUI はコマンド出力をリストするためにダム端末をシミュレートする。

端末ウィンドウは下部に位置し、必要に應じて上に廣がる。

’a’自動選擇 (autoselect): 値に含まれると、ビジュアルモードが開始されるたび、またはビジュアル選擇範圍が變更されるたびに、Vim はウィンドウシステム共通のクリップボードを使はうとする。

つまりビジュアル選擇で選擇されたテキストは、Vim 自身はもとより他のアプリケーションでも貼り付けに使へるといふことだ。(おそらくテキストに操作を實行したせゐで) ビジュアルモードが終了したり、アプリケーションが選擇領域を貼り付けようとしたときには、强調されたテキストは自動的にクリップボードレジスタ "* にコピーされる。そのためビジュアルモードが終了した後でも、選擇領域を他のアプリケーションに貼り付けることができる。

含まれないと、レジスタ "* に對するコピーや貼り付けによつて明示的に指定されない限り、Vim はウィンドウシステム共通のクリップボードを使はうとはしない。モードレスセレクションについても同樣である。

’P’自動選擇 (autoselect) と似てゐるが、"* レジスタの代はりに "+ レジスタを使ふ。
’A’モードレスセレクションに對する自動選擇。フラグ ’a’ と似てゐるが、モードレスセレクションにのみ適用される。
guioptionsビジュアルモードモードレスセレクション
""XX
"a"OO
"A"XO
"aA"OO
’c’單純な選擇にはポップアップダイアログでなくコンソールダイアログを使ふ。
’d’可能であれば、ダークテーマの亞種を使用します。現在、GTK+ GUI でのみ機能します。
’e’showtabline’ で指定されたタイミングでタブを追加する。’guitablabel’ を使ふとタブのラベルのテキストを變更することができる。’e’ がないと非 GUI のタブページラインが使はれる。GUI のタブはいくつかのシステム上 (現在は GTK, Motif, Mac OS/X, MS-Windows) でのみサポートされてゐる。
’f’フォアグラウンド (foreground): シェルから GUI を開始し、そのシェルから gVim を獨立させる際に函數 fork() を使はない。これはエディタが終了するのを待つプログラム (例へばメールプログラム等) に對して使ふ。フォアグラウンドで GUI を開始するには、これの代はりに "gvim -f" や ":gui -f" も使へる |gui-fork|。

Note:
このオプションはファイル vimrc 內で設定するやう注意。ファイル |gvimrc| が讀み込まれたときはフォーキングがすでに實行されてゐるかもしれない。

MacVim では、Mac OS X 上のフォークが制限されてゐるため、このフラグをサポートしてゐない。

’i’Vim のアイコンを使ふ。KDEのGTKではウィンドウの左上に表示される。GTK でない X11 では、制限のため白黑のアイコンが使はれる。色つきのアイコンについては |X11-icon| を參照。
’m’メニューバーを表示する。
’M’システムメニューの實體 "$VIMRUNTIME/menu.vim" が讀み込まれない。

Note:
このフラグは、構文認識やファイルタイプ認識を起動する前に、ファイル .vimrc 內で追加されてゐなければならない (ファイル .gvimrc が讀み込まれたときには、システムメニューはすでに讀み込まれた後である。コマンド ‘:syntax on‘ と ‘:filetype on‘ でもメニューは讀み込まれる)。

’g’メニュー項目の灰色表示: 無效のメニュー項目を灰色で表示する。含まれてゐないと、無效のメニュー項目は全く表示されない。例外: Athena では常にグレー表示を使ふ。
’t’メニュー項目の切り離しを有效にする。現在のところ Win32, GTK+ と Motif 1.2 GUI でのみ有效である。
’T’ツールバーを表示する。現在のところ Win32, GTK+, Motif, Photon, MacVim と Athena GUI でのみ有效である。
’r’右スクロールバーを常に表示する。
’R’垂直分割されたウィンドウがあるときのみ、右スクロールバーを表示する。
’l’左スクロールバーを常に表示する。
’L’垂直分割されたウィンドウがあるときのみ、左スクロールバーを表示する。
’b’下 (水平) スクロールバーを表示する。サイズは表示されてゐる行の中で一番長い行によつて決まる。またはフラグ ’h’ が含まれてゐるときはカーソル行によつて決まる。|gui-horiz-scroll|
’h’水平スクロールバーのサイズをカーソル行の長さに制限する。計算量を輕減させる。|gui-horiz-scroll|

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

’v’ダイアログのボタン配置を垂直方向にする。含まれてゐないとなるべく水平方向の配置を使ふが、收まらないときには結局、垂直配置が使はれる。
’p’X11 の GUI において、ポインタ・コールバックを使ふ。ウィンドウマネージャーの中にはこれが必要なものもある。カーソルが正しいタイミングで點滅したり變形したりしないときは、これを追加してみること。これは GUI を開始する前に設定しなければならない。ユーザーのファイル |gvimrc| 內で設定すること。GUI が開始した後にこのフラグを追加したり取り除いたりしても、效果はない。
’F’フッターを追加する。Motif でのみ有效である。|gui-footer| を參照。
’k’スクロールバー、もしくはツールバー、タブライン、その他を追加/削除する際に、GUI ウィンドウサイズを維持する。といふよりは、その振る舞ひはウィンドウが最大化されて ’lines’ と ’columns’ がウィンドウに合ふよう調整されるときに似てゐる。’k’ フラグがない場合、Vim は GUI コンポーネントを追加/削除されたときに ’lines’ と ’column’ を維持しようとする。
’guipty’

切替 (既定ではオン)
グローバル
{Vim の GUI 版でのみ有效}

GUI 版でのみ有效である。オンのときは、シェルコマンドからの入力用およびシェルコマンドへの出力用の假想端末 pseudo-tty を開かうとする。|gui-pty| を參照。

’guitablabel’ ’gtl’

文字列 (既定では空文字列)
グローバル
{GUI を有效にしてコンパイルされたときのみ利用可能}

空文字列でない場合は、GUI のタブページ行のラベルを設定する。空文字列であるか、または評價結果が空文字列である場合は、既定のラベルが使はれる。より詳しくは |setting-guitablabel| を參照。

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

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

modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

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

’guitabtooltip’ ’gtt’

文字列 (既定では空文字列)
グローバル
{GUI を有效にしてコンパイルしたときのみ利用可能}

空文字列でない場合は、GUI のタブページ行のツールチップを設定する。空文字列である場合は、既定のツールチップが使はれる。それ以外は上記の ’guitablabel’ と同樣。改行を含めることもできる。そのもつとも簡單な方法は |:let| を使ふことである:

:let &guitabtooltip = "line one\nline two"
’helpfile’ ’hf’

文字列 (既定では
     MS-DOS: "$VIMRUNTIME\doc\help.txt"
     その他: "$VIMRUNTIME/doc/help.txt")
グローバル

ヘルプファイルの名前。Vim に附屬のヘルプファイルは全て單一のディレクトリ內に一緖に置かれるべきである。そのディレクトリの他に、’runtimepath’ 中の全ての "doc" ディレクトリも對象になる。

環境變數は展開される |:set_env|。例: "$VIMRUNTIME/doc/help.txt"。

環境變數 $VIMRUNTIME が設定されてないときは、$VIM も試される。|$VIMRUNTIME| を參照。値に空白や ’\’ を含めることについては |option-backslash| も參照。

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

’helpheight’ ’hh’

數値 (既定では 20)
グローバル

コマンド ":help" で開かれたヘルプウィンドウの、開始時のウィンドウ高の最小値を設定する。ヘルプウィンドウの開始時の高さはカレントウィンドウの半分であるか、(オプション ’ea’ がオンのときには) 他のウィンドウと同じである。ウィンドウ高が ’helpheight’ より小さくなつてしまふとき、實際の高さは ’helpheight’ になる。こうしないやうにするには 0 に設定すること。

’helplang’ ’hlg’

文字列 (既定では: メッセージ言語または空)
グローバル
{Vi が |+multi_lang| 機能つきでコンパイルされたときのみ有效}

コンマ區切りの言語のリスト。これらの言語の中から、探してゐるヘルプが見つかつた最初の言語を使ふ。英語のヘルプは常に優先度が最後になる。英語の優先度を上げるために "en" を追加することはできるが、さうしても、その言語に存在し、英語のヘルプに存在しないタグを見つけるだけである。

{譯注: 上の文よくわからない。} 例:

:set helplang=de,it

かうすると最初にドイツ語を檢索し、次にイタリア語、そして最後に英語のヘルプファイルを檢索する。

|CTRL-]| や英語でないヘルプファイル中で ":help!" を使つたときは、このオプションより先に現在の言語からタグを檢索する。|help-translated| を參照。

’hidden’ ’hid’

切替 (既定ではオフ)
グローバル

オフのときは、バッファは抛棄 |abandon| されるときに解放される。オンのときは、バッファは抛棄 |abandon| されるときに隱れ (hidden) 狀態になる。そのバッファが別のウィンドウでまだ表示されてゐるなら、もちろん隱れ狀態にはならない。

バッファリストをわたつて動くコマンドは ’hidden’ がオフでもバッファを隱れ狀態にすることがある。バッファの內容が變更されてゐて、’autowrite’ がオフであるか書き込みが不可能な狀態であり、フラグ ’!’ が使はれたやうなときだ。|windows.txt| も參照。

1 つのバッファだけを隱れ狀態にするにはオプション ’bufhidden’ を使ふ。このオプションは、1 つ 1 つのコマンドに對して ":hide {command}" とすることでオンにできる |:hide|。

警告:
隱れバッファに對する變更は忘れがちである。コマンド ":q!" や ":qa!" を使ふ前にはもう一度よく考へること。

’highlight’ ’hl’

文字列 (既定では (單一の文字列として):
     "8:SpecialKey,~:EndOfBuffer,@:NonText,
     d:Directory,e:ErrorMsg,i:IncSearch,
     l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,
     a:LineNrAbove,b:LineNrBelow,
     N:CursorLineNr,r:Question,s:StatusLine,
     S:StatusLineNC,c:VertSplit,t:Title,
     v:Visual,V:VisualNOS,w:WarningMsg,
     W:WildMenu,f:Folded,F:FoldColumn,
     A:DiffAdd,C:DiffChange,D:DiffDelete,
     T:DiffText,>:SignColumn,-:Conceal,
     B:SpellBad,P:SpellCap,R:SpellRare,
     L:SpellLocal,+:Pmenu,=:PmenuSel,
     x:PmenuSbar,X:PmenuThumb,*:TabLine,
     #:TabLineSel,_:TabLineFill,!:CursorColumn,
     .:CursorLine,o:ColorColumn,q:QuickFixLine,
     z:StatusLineTerm,Z:StatusLineTermNC")
グローバル

このオプションは、樣々な對象に對する强調表示モードを設定する。文字の組をコンマ區切りのリストとして指定する。1 番目の文字は適用される對象を指定し、2 番目の文字はその對象に適用するモードを指定する。對象は以下の通りである:

|hl-SpecialKey|8":map" でリスト表示されるメタキーと特殊キー
|hl-EndOfBuffer|~バッファの最後の行以降の行
|hl-NonText|@ウィンドウ末尾の ’@’ と ’showbreak’ によつて表示される文字
|hl-Directory|dCTRL-D によるリスト表示內のディレクトリや、その他の特別な項目
|hl-ErrorMsg|eエラーメッセージ
h(古くて使はれてをらず、無視される)
|hl-IncSearch|iincsearch’ の强調表示
|hl-Search|l最終檢索パターン强調表示 (’hlsearch’ を參照)
|hl-MoreMsg|m「繼續」プロンプト |more-prompt|
|hl-ModeMsg|Mモード表示 (例へば "‘-- INSERT --’")
|hl-LineNr|n":number" と ":#" コマンドでの行番號と、’number’ か ’relativenumber’ がオンに設定されてゐるときの行番號。
|hl-LineNrAbove|arelativenumber’ オプションが設定されてゐる場合のカーソルの上の行番號。
|hl-LineNrBelow|brelativenumber’ オプションが設定されてゐる場合のカーソル以下の行番號。
|hl-CursorLineNr|Ncursorline’ または ’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|VX11 GUI |gui-x11| と |xterm-clipboard| でのみ有效な、選擇領域をクリップボードに送らないビジュアルモード {譯注: "Not Owning the Selection" をかういふ意味に取りましたが、勘違ひかもしれません。どなたかご敎授ください}
|hl-WarningMsg|w警告メッセージ
|hl-WildMenu|Wwildmenu’ によつて表示されるワイルドカードマッチ
|hl-Folded|f閉ぢられた折り疊みを表す行
|hl-FoldColumn|Ffoldcolumn
|hl-DiffAdd|A差分モードで追加された行
|hl-DiffChange|C差分モードで變更された行
|hl-DiffDelete|D差分モードで削除された行
|hl-DiffText|T差分モードで插入されたテキスト
|hl-SignColumn|>|signs| に使はれる桁
|hl-Conceal|-Conceal テキストの代替表示 (’conceallevel’ 參照)
|hl-SpellBad|Bスペルミスの單語 |spell|
|hl-SpellCap|P大文字で始まるべきの單語 |spell|
|hl-SpellRare|R滅多に現れない單語 |spell|
|hl-SpellLocal|L他の地域の單語 |spell|
|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下波線 (termcap の項目 "Cs" と "Ce")
t打ち消し線 (termcap の項目 "Ts" と "Te")
n强調表示なし
-强調表示なし
:强調表示グループを使つて設定

{譯注:「文字の組」と書きながら、既定値はどれも 2 文字でないのは、この ":" が使はれてゐるからである。これだけは例外で、グループ名を使つて指定できる}

ユーザーに指定されなかつた項目については、既定値が使はれる。表示モードの效果を變更したいなら、例として |dos-colors| を參照。表示モードに ’:’ を使ふときは、その後に强調表示グループの名前を續けなければならない。强調表示グループは、色も含めて强調表示のあらゆるタイプを指定することができる。グループの定義方法については |:highlight| を參照。既定値では對象それぞれに異なつたグループを使つてゐる。既定の强調表示グループについては |highlight-default| を參照。

’history’ ’hi’

數値 (Vim の既定値: 50, Vi の既定値: 0, |defaults.vim| で 200 に設定される)
グローバル

":" によるコマンドと以前に使つた檢索パターンの履歷は保存されるわけだが、このオプションはそれぞれの履歷に何個の項目が保存されるかを指定する (|cmdline-editing| を參照)。最大値は 10000。

Note:
このオプションは ’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’hkmap’ ’hk’

切替 (既定ではオフ)
グローバル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ有效}

オンのときは、キーボードはヘブライ文字セットにマップされる。普通、オプション ’allowrevins’ をオンにしておき、插入モードでこのオプションをコマンド CTRL-_ で切り替へられるやうにすることになる |i_CTRL-_|。|rileft.txt| を參照。

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

’hkmapp’ ’hkp’

切替 (既定ではオフ)
グローバル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ有效}

オンのときは、キーボードは音聲ヘブライ文字セットにマップされる。またオプション ’hkmap’ もオンでなければならない。これはユーザーがヘブライ語キーボードを持つてゐないときに便利である。|rileft.txt| を參照。

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

’hlsearch’ ’hls’

切替 (既定ではオフ)
グローバル
{Vim が |+extra_search| 機能付きでコンパイルされたときのみ有效}

前囘の檢索パターンが存在するとき、それにマッチするテキストを全て强調表示する。强調表示のタイプは、オプション ’highlight’ のフラグ ’l’ によつて設定できる。既定では强調表示グループ "Search" が使はれる。

Note:
マッチするテキストのみが强調表示されるので注意。オフセットは適用されない。

incsearch’ とコマンド |:match| も參照。 マッチするテキストが强調表示されるを見飽きたら、|:nohlsearch| で無效に切り替へることができる。このコマンドはオプションの設定値を變更しないので、再び檢索コマンドを使へば、强調表示も再び行はれる。

檢索する時閒の上限は ’redrawtime’ で設定できる。檢索パターンが行の終はり end-of-line にマッチするときは、Vim はマッチしたテキスト全體を强調表示しようとする。しかし、檢索を開始した場所によつて結果は異なる。ウィンドウの 1 番上の行または閉ぢられた折り疊みの次の行では、表示されない行內のマッチの强調表示は、表示されてゐる行に繼續しない。

起動時に强調表示の狀態を復元するかどうかは ’viminfo’ の ’h’ フラグで設定できる |viminfo-h|。

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

’icon’

切替 (既定ではオフ、タイトルが復元できるならばオン)
グローバル
{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’

文字列 (既定では "")
グローバル
{Vim が |+title| 機能付きでコンパイルされたときのみ有效}

このオプションが空でないなら、ウィンドウのアイコンテキストに設定される。これは ’icon’ がオンのときのみ使はれる。

ターミナルがウィンドウのアイコンテキストの設定をサポートしてゐるときのみ有效である (現在のところ X11 GUI とターミナルオプション ’t_IS’ の値が空でないターミナルのみ)。

MS-Windows では無效である。 Vim が HAVE_X11 が定義された狀態でコンパイルされたなら、可能であれば元のアイコンが復元される |X11|。

値に函數 printf 形式の ’%’ を使つた項目が含まれてゐると、それらは ’statusline’ と同じやうに展開される。設定例は ’titlestring’ を參照。

modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

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

’ignorecase’ ’ic’

切替 (既定ではオフ)
グローバル

檢索パターンにおいて大文字と小文字を區別しない。タグファイル內の檢索にも適用される。

オプション ’smartcase’ と ’tagcase’ も參照。パターン內で "\c" や "\C" を使ふことで、この設定を上書きできる。|/ignorecase| を參照。

’imactivatefunc’ ’imaf’

文字列 (既定では "")
グローバル

このオプションはインプットメソッド (IM) をオン/オフにするのに呼ばれる函數を指定する。

GUI では使はれない。

モードラインから設定した場合、式は |sandbox| で評價される。|sandbox-option| を參照。

例:

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

文字列 (既定では "")
グローバル
{Vim が |+xim| 機能と |+GUI_GTK| 機能付きでコンパイルされたときのみ有效}

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’

切替 (既定ではオフ)
グローバル

オンのときは、コマンドラインの編輯を始めるときには常にインプットメソッド (IM) がオンになる。ただし檢索パターンの入力には適用されない (それにはオプション ’imsearch’ を參照)。

ユーザーの IM が英語の文字を直接入力できるならば (例へば IM が、普段使はれないキーからアクセント記號を入力する程度のものならば)、このオプションをオンにすると便利である。

’imdisable’ ’imd’

切替 (既定ではオフ、いくつかのシステム (SGI) ではオン)
グローバル

オンのときは、インプットメソッド (IM) が全く使はれなくなる。これは IM がうまく働かないとき、それを無效にしてしまふのに便利である。

現在のところ、SGI/IRIX のマシンではオンになつてゐるのが既定である。これは將來變更されるかもしれない。

’iminsert’ ’imi’

數値 (既定では 0)
バッファについてローカル

{譯注: iminsert=2 の場合、插入モードを拔けると IM がオフにされます。再度插入モードに入ると、前囘拔けたときの IM 狀態が復元されます。この機能をオフにするには iminsert=0 にしてください。}

:lmap かインプットメソッド (IM) が插入モードで使はれるかどうかを指定する。指定できる値は以下の通り:

0:lmap はオフ、IM もオフ
1:lmap はオン、IM はオフ
2:lmap はオフ、IM はオン

コマンド <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’ を使ふこと。

Vim が |+xim|, |+multi_byte_ime| もしくは |global-ime| 機能つきでコンパイルされてゐない場合、外部コマンドによつて IME/XIM を制禦するために ’imactivatefunc’ および ’imstatusfunc’ オプションを設定することができる。

’imsearch’ ’ims’

數値 (既定では -1)
バッファについてローカル

:lmap かインプットメソッド (IM) が、檢索パターンを入力するときに使はれるかどうかを指定する。指定できる値は以下の通り:

-1iminsert’ の値が使はれ、それが檢索パターンの入力にも適用されてゐるかのやうに動作する
0:lmap はオフ、IM もオフ
1:lmap がオン、IM はオフ
2:lmap はオフ、IM がオン

Note:
コマンドラインモードでコマンド CTRL-^ を使ふと、このオプションが變はることに注意 |c_CTRL-^|。

値が -1 でないなら、’keymap’ に正しいキーマップ名が設定されると、このオプションは 1 になる。

Athena と Motif では、値を 0 に設定すると正しく働かないやうな XIM がある。そのときは XIM を無效にするために ’imdisable’ を使ふこと。

’imstatusfunc’ ’imsf’

文字列 (既定では "")
グローバル

このオプションはインプットメソッド (IM) の狀態を得るのに呼ばれる函數を指定する。IME がオンのとき、函數は正の數を返さなければならない。

GUI では使はれない。

例:

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

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

モードラインから設定した場合、式は |sandbox| で評價される。|sandbox-option| を參照。

’imstyle’ または
’imst’

數値 (既定では 1)
グローバル
{Vim が |+xim| と |+GUI_GTK| 機能付きでコンパイルされたときのみ有效}

このオプションはインプットメソッドの入力スタイルを指定する:

0on-the-spot スタイルを使ふ
1over-the-spot スタイルを使ふ

參照: |xim-input-style|

Vim の GTK 版では長い閒、on-the-spot スタイルが使はれてきた。しかしこれは |single-repeat| やマッピングなどを使ふ際に問題を引き起すことが知られてゐる。そのやうなわけで、over-the-spot スタイルをデフォルトとすることになつた。ほとんどの人にとつてうまく動作するべきだが、これによつて問題が生じるやうであれば、on-the-spot スタイルを使つてみよ。 モードラインから設定した場合、式は |sandbox| で評價される。|sandbox-option| を參照。

’include’ ’inc’

文字列 (既定では "^\s*#\s*include")
グローバル/バッファについてローカル |global-local|
{Vim が |+find_in_path| 機能付きでコンパイルされたときのみ有效}

{譯注: プログラミング言語の} インクルード命令を探すのに使はれるパターンを設定する。値はコマンド "/" と同樣の檢索パターンである (|pattern| を參照)。既定値はC言語プログラム用に設定されてゐる。このオプションはコマンド "[i", "]I", "[d" 等に使はれる。

通常、マッチしたパターンの後に續くファイル名を認識するためにオプション ’isfname’ が使はれる。しかしパターン中に "\zs" が入つてゐる場合、"\zs" にマッチしたテキストから最後まで、または "\ze" が入つてゐる場合はそこまでがファイル名として認識される。スペースなど、’isfname’ に入つてゐない文字を含めるにはこれを使ふ。そして ’includeexpr’ を使つてマッチしたテキストを處理することができる。

スペースとバックスラッシュを含める方法については |option-backslash| を參照。

’includeexpr’ ’inex’

文字列 (既定では "")
バッファについてローカル
{Vim が |+find_in_path| 機能と |+eval| 機能付きでコンパイルされたときのみ有效}

オプション ’include’ が判別した文字列を、ファイル名に變換するために使はれる expression を指定する。以下のやうにして、Java言語で "." を "/" に變換するやうなときに便利である。

:set includeexpr=substitute(v:fname,'\\.','/','g')

變數 "v:fname" は、判別されたファイル名に設定される。

コマンド |gf| でも、ファイルの實際の名前が見つからないときは、これが使はれる。プログラミング言語の ’include’ 文の後で "gf" を使へるやうになる。また |<cfile>| にも使はれる。

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

modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

includeexpr’ を評價してゐる閒に、テキストを變更したり他のウィンドウに移ることは許されない。|textlock|

’incsearch’ ’is’

切替 (既定ではオフ、+reltime 機能付きでコンパイルされたときは |defaults.vim| 內で設定される)
グローバル
{Vim が |+extra_search| 機能付きでコンパイルされたときのみ有效}

檢索コマンドを打ち込んでゐる閒にも、打ち込んだところまでのパターンがマッチするテキストを、すぐに表示する。マッチした文字列は强調表示される。パターンが不適切であつたり見つからなければ、何も表示されない。畫面は次々更新されることになるので、このオプションは表示の速いターミナルでのみ有用である。

次のコマンドのパターンにも適用する:

:global
:lvimgrep
:lvimgrepadd
:smagic
:snomagic
:sort
:substitute
:vglobal
:vimgrep
:vimgrepadd

Note:
マッチが表示されても、カーソルは實際にはマッチした場所に移動してゐないので注意。カーソルを移動させるには、やはり <Enter> を打ち込んで檢索コマンドを完了させる必要がある。

マッチを表示中は、次や前のマッチへ移動するのに CTRL-GCTRL-T キーを使へる。|c_CTRL-G| |c_CTRL-T|

|+reltime| 機能つきでコンパイルされてゐるときは約 0.5 秒だけ檢索する。複雜なパターンであつたり、大量のテキストはマッチしない場合がある。これは文字をタイプしてゐる途中で Vim が應答しなくなつてしまふのを避けるためである。

强調表示は、オプション ’highlight’ のフラグ ’i’ によつて設定できる。 ’hlsearch’ がオンのとき、檢索コマンドを打ち込んでゐる閒、一致するすべての文字列が同樣に强調表示される。’hlsearch’ も參照。

hlsearch’ をオンにしたくはないが、檢索中にすべての一致個所を强調表示したい場合、自動コマンドで ’hlsearch’ をオン/オフできる。例:

augroup vimrc-incsearch-highlight
  autocmd!
  autocmd CmdlineEnter /,\? :set hlsearch
  autocmd CmdlineLeave /,\? :set nohlsearch
augroup END

CTRL-L を押すと、現在マッチしてゐるテキストの後からコマンドラインへ 1 文字を追加することができる。その際、’ignorecase’ と ’smartcase’ が設定されてゐてコマンドラインに大文字が含まれてゐなければ、追加された文字は小文字に變換される。

CTRL-R CTRL-W を押すと、現在マッチしてゐるテキストの末尾から單語を追加することができる。そのとき、既にタイプされてゐる文字は除かれる。

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

’indentexpr’ ’inde’

文字列 (既定では "")
バッファについてローカル
{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| を參照。

modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

indentexpr’ を評價してゐる閒に、テキストを變更したり他のウィンドウに移ることは許されない。|textlock|

’indentkeys’ ’indk’

文字列 (既定では "0{,0},0),0],:,0#,!^F,o,O,e")
バッファについてローカル
{Vim が |+cindent| 機能付きでコンパイルされたときのみ有效}

插入モードで打ち込まれたときに、現在行の再インデントを引き起こすキーのリスト。これはオプション ’indentexpr’ が空でないときのみ起きる。書式は ’cinkeys’ と同樣である。|indentkeys-format| を參照。|C-indenting| と |indent-expression| を參照。

’infercase’ ’inf’

切替 (既定ではオフ)
バッファについてローカル

插入モードで單語補完 |ins-completion| をしてゐるとき、このオプションと ’ignorecase’ がオンならば、マッチした單語の大文字/小文字の區別は打ち込んだテキストに應じて修正される。

打ち込んだテキストでは小文字だがマッチした單語では大文字であるやうな所があれば、補完される部分もみな小文字になる。打ち込んだテキストには小文字が 1 個もなく、打ち込んだテキストでは大文字だがマッチした單語では小文字であるやうな所があり、かつその前に文字があるならば、補完される部分もみな大文字になる。

noinfercase’ にすると、マッチした單語がそのまま插入される。

’insertmode’ ’im’

切替 (既定ではオフ)
グローバル

Vim が插入モードを中心として動作するやうになる。Vim をモードを持たないエディタとして使ひたいときに便利である。|evim| で使はれてゐる。

以下の插入モードのコマンドが便利だらう:

insertmode’ がオンになると、以下の項目に變化がある:

しかしマッピング內で <Esc> が使はれたときは、’insertmode’ がオフのときのやうに動作する。これは ’insertmode’ がオンでもオフでも、同じマッピングが使へるやうにするためである。

|:normal| でノーマルモードコマンドを實行するときは、’insertmode’ は使はれない。

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

’isfname’ ’isf’

文字列 (MS-DOS, Win32と OS/2 での既定値は: "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,="
    AMIGAでは: "@,48-57,/,.,-,_,+,,,$,:"
    VMSでは: "@,48-57,/,.,-,_,+,,,#,$,%,<,>,[,],:,;,~"
    OS/390では: "@,240-249,/,.,-,_,+,,,#,$,%,~,="
    それ以外では: "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
グローバル

ファイル名やパス名に使はれる文字を指定する。ファイル名はコマンド "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’

文字列 (MS-DOS, Win32 と OS/2 での既定値は: "@,48-57,_,128-167,224-235"
    それ以外では: "@,48-57,_,192-255")
グローバル

Identifier に使はれる文字を指定する。Identifier は、環境變數の認識とオプション ’define’ のマッチしたところの後に使はれる。またパターン |pattern| 內の "\i" にも使はれる。このオプションの書式の說明は、’isfname’ を參考にすること。255 を超える文字については ’@’ のみが使はれる。

注意:
このオプションを變更すると、環境變數の展開に失敗するかもしれない。例へば値に ’/’ が含まれてゐるときに "$HOME/.viminfo" を展開しようとするとき等である。おそらく代はりに ’iskeyword’ を變更するべきだらう。

’iskeyword’ ’isk’

文字列 (MS-DOS と Win32 での Vim の既定値: "@,48-57,_,128-167,224-235"
    それ以外のシステムでの Vim の既定値: "@,48-57,_,192-255"
    Vi の既定値: "@,48-57,_")
バッファについてローカル

Keyword は、"w", "*", "[i" 等の多くのコマンドで檢索と認識に使はれる。またパターン |pattern| 內の "\k" にも使はれる。このオプションの値の書式の說明については、オプション ’isfname’ を參考にすること。255 を超える ’@’ 文字は "word" 文字クラスをチェックする。C 言語プログラムには "a-z,A-Z,48-57,_,.,-,>" が使へるだらう。 ヘルプファイルでは、このオプションは ’*’, ’"’, ’|’ と空白の仲閒を除いた全ての printable な文字 {譯注: 文書先頭を參照} に設定される (コマンド上で CTRL-] を入力したときにそのコマンドについてのヘルプにジャンプできるやうにするため)。

lisp’ がオンのときは、文字 ’-’ は常に含まれる。このオプションは、シンタックスが |:syn-iskeyword| を使つてゐない場合には、シンタックスハイライトにも影響を與へる。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’isprint’ ’isp’

文字列 (MS-DOS, Win32, OS/2 と Macintosh での既定値: "@,~-255"
    それ以外では: "@,161-255")
グローバル

このオプションで指定された文字は、畫面に直接表示される。またパターン |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’

切替 (既定ではオン)
グローバル

行連結コマンドにおいて、’.’, ’?’ や ’!’ の後に空白を 2 個插入する。オプション ’cpoptions’ にフラグ ’j’ が含まれるときは、’.’ の後にのみ空白を 2 個插入する。それ以外では空白は 1 個だけ插入される。

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

’key’

文字列 (既定では "")
バッファについてローカル
{Vim が |+cryptv| 機能付きでコンパイルされたときのみ有效}

カレントバッファを暗號化したり復號したりするのに使はれるキー。|encryption| と |'cryptmethod'| を參照。

注意:
このキーの値を手動で {譯注: コマンド ":set" を使つて、といふこと} 設定しないこと。誰かが入力された文字を盜み見るかもしれない。代はりにコマンド |:X| を使ふこと。しかし次のやうにして、’key’ を空にするのはよい。

:set key=

このオプションの値は、":set key" や "echo &key" 等で得ることはできない。これは、値を知るべきでない人に知られないやうにするためである。このことはまた、設定してしまふとユーザー自身も値を知ることができないといふことである。タイプミスをしないやう注意!

スクリプトで "&key" を使ふことで暗號化が有效になつてゐるか確認できる。’key’ がセットされてゐる場合は "*****" (5 個のスター) が返る。

’keymap’ ’kmp’

文字列 (既定では "")
バッファについてローカル
{Vim が |+keymap| 機能付きでコンパイルされたときのみ有效}

キーマッピングの名前を指定する。|mbyte-keymap| を參照。このオプションを適正なキーマップ名に設定すると、キーマッピングが有效になるやうにオプション ’iminsert’ が 1 になるといふ影響がある。また ’imsearch’ も、元が -1 でない限り 1 になる。

通常のファイル名文字だけが使用できる。"/\*?[|<>" は不正である。

’keymodel’ ’km’

文字列 (既定では "")
グローバル

キーで可能なことを指定するためのキーワードの、コンマ區切りのリスト。指定可能なキーワードは以下の通りである:

startselシフトキーと特別なキーを同時に押して選擇を開始する (選擇モードとビジュアルモードのどちらでも、オプション ’selectmode’ で指定された "キー" によつて)。
stopselシフトキーを押さないままの特別なキーで選擇を止める。

ここでいふ「特別なキー」とはカーソルキー、<End>, <Home>, <PageUp><PageDown> である。

keymodel’ は、コマンド |:behave| によつて設定される。

’keywordprg’ ’kp’

文字列 (既定では "man" または "man -s",
    DOS では: ":help"
    VMS では: "help")
グローバル/バッファについてローカル |global-local|

コマンド |K| に使はれるプログラム。環境變數は展開される |:set_env|。Vim の內部ヘルプを開くコマンドは ":help" である(以前はこのオプションのグローバル値を空にすると Vim の內部ヘルプが使はれたが、今は推奬されてゐない)。 最初の文字が ":" のときは、[count] を頭に付けて Vim の Ex コマンドとして實行される。

"man", "man -s" または1つのExコマンドが使はれた場合、Vim は "K" に指定されたカウントを自動的に變換し最初の引數として渡す。"man -s" が指定されカウントが指定されなかつたときは "-s" が削除される。値に空白や ’\’ を含める方法については、|option-backslash| を參照。

例:

:set keywordprg=man\ -s

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

’langmap’ ’lmap’

文字列 (既定では "")
グローバル
{Vim が |+langmap| 機能付きでコンパイルされたときのみ有效}

このオプションでは、ユーザーのキーボードを特別な言語モードに切り替へられるやうにする。插入モードで文字を入力してゐるときは、文字は直接入力される。しかしノーマルモードではオプション ’langmap’ により、入力された特別な文字をキー本來の文字に變換する。つまりノーマルモードコマンドを實行するためにキーボードモードを變更しなくともよいといふことである。 このオプションは ’keymap’ と正反對のものである。’keymap’ は插入モードでマッピングを行ふ。

また ’langmap’ の文字がマッピングの結果として適用されない樣に ’langremap’ をリセットすることも考慮する。

このオプションはセキュリティ上の理由で、|modeline| からや |sandbox| の中で設定することはできない。

例 (ギリシャ語に對して、UTF-8で):

: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 のマッピングに從つて) 通常の英語の文字として理解できる:

コマンドラインモードで入力された文字には、このオプションは效力を「持たない」。

Note:
このオプションは、異なつた言語/エンコーディング用のマッピングを切り替へられるときにはいつでも設定を變更できることに注意。每囘マッピング設定を打ち込まずに濟むやうにするには、マッピングを使ふこと!

’langmenu’ ’lm’

文字列 (既定では "")
グローバル
{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’

切替 (既定ではオフ、|defaults.vim| でオンに設定される)
グローバル
{Vim が |+langmap| 機能付きでコンパイルされたときのみ有效}

これは ’langremap’ に似てゐるが、値が逆になつてゐる。また後方互換性のためだけに殘されてゐる。’langremap’ を設定した時は、逆の値が ’langnoremap’ に設定され、反對もまた同樣である。

’langremap’ ’lrm’

切替 (既定ではオン、|defaults.vim| 內でオフに設定される)
グローバル
{Vim が |+langmap| 機能付きでコンパイルされたときのみ有效}

オフの場合、’langmap’ の文字がマッピングの結果として適用されない樣になる。基本的には、もし ’langmap’ の設定により幾らかのマッピングが無效になつてゐると氣づいた場合には、このオプションの設定を試みると良い。このオプションは後方互換性の爲にデフォルトでオンである。マッピングが壞れないやうにするにはオフを設定すると良い。

’laststatus’ ’ls’

數値 (既定では 1)
グローバル

最下ウィンドウにいつステータス行が表示されるかを設定する。

0:全く表示しない
1:ウィンドウの數が 2 以上のときのみ表示
2:常に表示

ウィンドウをいくつか表示してゐるときには、ステータス行があると見榮えがよくなる。しかし畫面上の行をさらに必要とする。|status-line|

’lazyredraw’ ’lz’

切替 (既定ではオフ)
グローバル

オンのときは、マクロやレジスタの內容およびその他のキーボードから打ち込まれないコマンドを實行する閒、畫面は再描畫されなくなる。また、ウィンドウタイトルの更新も後回しになる。畫面の再描畫を强制的に行ふには、コマンド |:redraw| を使ふこと。

’linebreak’ ’lbr’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+linebreak| 機能付きでコンパイルされたときのみ有效}

オンのときは、畫面に收まりきる最後の文字ではなく、オプション ’breakat’ に指定された文字のところで、長い行を折り返す。’wrapmargin’ や ’textwidth’ と違ひ、これはファイルに實際の <EOL> を插入しない。このオプションが影響するのはファイルの表示方法であり、內容ではない。

breakindent’ がオンのときは行はインデントされて表示される。そして、’showbreak’ に設定された文字が折り返された行の先頭に置かれる。このオプションは、’wrap’ がオフのときには使はれない。

Note:
大抵、<EOL> の後の <Tab> は正しい數の空白として表示されないので注意。

’lines’

數値 (既定では 24 またはターミナルの高さ)
グローバル

畫面上の行數。普通このオプションはターミナルの初期化の時點で設定され、手動で設定する必要はない。|posix-screen-size| も參照。

Vim が GUI 環境內やサイズ變更可能なウィンドウ內で實行されてゐるときは、このオプションを變更するとウィンドウサイズも變更される。このサイズ設定を GUI でだけ使用したいなら、このコマンドを |gvimrc| ファイルに書くこと。行數の最大値は、畫面に收まる行數に制限される。可能な限りウィンドウの高さを大きくするには次のコマンドを使ふ:

:set lines=999

最小値は 2、最大値は 1000。

行數が期待したのより少なかつたら、オプション ’guiheadroom’ を確認すること。あなたがこのオプションを變更したのに、Vim がディスプレイの行數の物理的な値を變更できなかつたら、ディスプレイ表示がめちやめちやになるおそれがある。

{譯注: オプション ’columns’ も參照}

’linespace’ ’lsp’

數値 (既定では 0, Win32 の GUI 版では 1)
グローバル
{Vim の GUI 版でのみ有效}

行閒の幅のピクセル數。フォントが文字セルの高さを一杯に使つてゐて、行同士が接觸してしまふときに便利である。1 以上のときには下線を引く餘裕ができる。

フォントによつては行閒が廣すぎることがある。その場合は ’linespace’ を負の値にすると調整することができる。しかしさうすると表示に問題が出る場合がある。

’lisp’

切替 (既定ではオフ)
バッファについてローカル
{Vim が |+lispindent| 機能付きでコンパイルされたときのみ有效}

Lisp モード: 插入モードで <Enter> が入力されると、次の行のインデントを Lisp の標準 (といふかまあ、その一種) にする。また "cc" や "S" でも同樣である。これが機能するにはオプション ’autoindent’ もオンでなければならない。’cpoptions’ のフラグ ’p’ はインデントの方法 (Vi 互換か、より良い方法か) を變更する。’lispwords’ も參照。

キーワードを構成する文字に ’-’ も含まれるやうになる。’equalprg’ が空のときには、外部プログラムを呼び出さず、Lisp 用のインデント用アルゴリズムを使ふやうに、オペレータ "=" を再定義する。

このオプションは、’paste’ がオンのときには使はれない。

’lispwords’ ’lw’

文字列 (既定値はとても長い)
グローバル/バッファについてローカル |global-local|
{Vim が |+lispindent| 機能付きでコンパイルされたときのみ有效}

Lisp 用のインデント方法を設定するキーワードの、コンマ區切りのリスト。|'lisp'|

’list’

切替 (既定ではオフ)
ウィンドウについてローカル

list モード: タブ文字を CTRL-I で表示し、行末に $ を表示する。タブ文字と空白文字との差異や、行末に續く空白の差異を見るのに便利である。オプション ’listchars’ でより詳しく表示方法を設定できる。

カーソルはタブが占める桁の最初の位置に表示される。nolist の場合はノーマルモードでカーソルをタブの上に移動させると、タブが占める桁の最後の位置にカーソルが表示されるが、それと異なる。タブをスペースで表示しつつ、カーソル位置をそのやうに變へたいなら、次のやうにする:

:set list lcs=tab:\ \ 

{譯注: 最後、バックスラッシュの後にスペースがあることに注意}

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

’listchars’ ’lcs’

文字列 (既定では "eol:$")
グローバル

’list’ モードと |:list| コマンドでの表示に使はれる文字を設定する。値は指定文字列のコンマ區切りのリストである。

eol:文字

行末の表示に使はれる文字。指定されないと、行末には何も表示されない。

tab:xy[z]

タブ文字の表示に使はれる 2 つ または 3 つの文字。3 文字目は任意。

tab:xy

’x’ が常に使用され、次に ’y’ が適切な回數だけ使用される。したがつて、"tab:>-" は以下のやうに表示される:

>
>-
>--
etc.
tab:xyz

’z’ が常に使用され、次に ’x’ が先頭に追加され、次に ’y’ が適切な回數使用される。したがつて、"tab:<->" は以下のやうに表示される:

>
<>
<->
<-->
etc.

"tab:" が省略された場合、タブは ^I と表示される。

space:文字

スペースの表示に使はれる文字。指定されないと、スペースは空白のまま。

trail:文字

行末のスペースの表示に使はれる文字。指定されないと、行末のスペースは空白のまま。行末のスペースでは "space" の設定を上書きする。

extends:文字

wrap’ がオフで、行が畫面の右端よりも伸びてゐるときに、最終列に表示される文字。

precedes:文字

最初の列に表示される文字の前にテキストがある場合 {譯注: 上の行の末尾が畫面の右端より伸びてゐるとき} に、物理行の最初に目に見える列に表示する文字。

conceal:文字

conceallevel’ が 1 のときに Conceal されたテキストの代はりに表示される文字。

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|

’loadplugins’ ’lpl’

切替 (既定ではオン)
グローバル

オンのときは、Vim が立ち上がるときにプラグインスクリプトが讀み込まれる |load-plugins|。このオプションをユーザーのファイル |vimrc| 內でオフにすることで、プラグインの讀み込みを無效化できる。

Note:
コマンドライン引數 "-u NONE", "-u DEFAULTS" または "–noplugin" によつてこのオプションをオフにできることに注意。|-u| |--noplugin|。

’luadll’

文字列 (既定値はビルドに依存する)
グローバル
{Vim が |+lua/dyn| 機能付きでコンパイルされたときのみ有效}

Lua 共有ライブラリの名前を指定。既定値はコンパイル時に指定された DYNAMIC_LUA_DLL の値。環境變數は展開される |:set_env|。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’macatsui’

切替 (既定ではオン)
グローバル
{Mac Carbon GUI 版でのみ利用可能}

これは描畫が正しく行はれないときのための囘避策である。マルチバイト機能付きでコンパイルされ、このオプションがオンになつてゐると ATSUI テキスト描畫が使はれる。オフのときは ATSUI テキスト描畫は使はれない。描畫に問題が出るならこのオプションをオフにすること。將來のバージョンではこの問題は解決し、このオプションは非推奬になるかもしれない。そのため、このオプションをオフにするには次のやうな方法を使ふこと:

if exists('&macatsui')
  set nomacatsui
endif

描畫の問題があるかをチェックするもう 1 つのオプションは、’termencoding’ である。

Note:
MacVim はこのオプションを使用しない。

’macligatures’

切替 (既定ではオフ)
グローバル
{Vi にはない}
{Vim が Mac OS X で GUI 機能付きでコンパイルされたときのみ有效}

このオプションは Mac OS X v10.5 以降の GUI 版 Vim でのみ效果がある。オンの時、’guifont’ のサポートが選擇されてゐるなら、Vim はリガチャを表示するだらう。このやうなフォントの例は、Fira Code や Haskelig がある。

Note:
現在このオプションは、GUI 環境設定パネルで ’Use Core Text renderer’ が有效にされてゐる場合にのみ效果があることに注意。

’macthinstrokes’

切替 (既定ではオフ)
グローバル
{Vi にはない}
{Vim が Mac OS X で GUI 機能付きでコンパイルされたときのみ有效}

このオプションは Mac OS X v10.8 以降の GUI 版 Vim でのみ效果がある。オンの時、Vim はダークカラースキームで良く見えるやうにテキストを少し明るく描畫するだらう。

Note:
現在このオプションは、GUI 環境設定パネルで ’Use Core Text renderer’ が有效にされてゐる場合にのみ效果があることに注意。

’macmeta’

切替 (既定ではオフ)
バッファについてローカル
{Mac GUI 版でのみ利用可能}

option (alt) キーを meta キーとして使ふ。オンの時、Option キーを押しても解釋されず、それゆゑ <M-..> のキーバインドが有效になる。 オフの時、Option キーを押したことが選擇された入力メソッドにより解釋され、テキストとして插入される。

Note:
いくつかのキー (例 <M-F1>, <M-Tab>, <M-Return>, <M-Left>) はこのオプションが無效になつてゐる時でさへ Meta フラグに縳られることがあるが、これは大部分のキー (例 <M-a>, <M-‘>) では當てはまらないことに注意。

’magic’

切替 (既定ではオン)
グローバル

檢索パターン內で使用可能な特別な文字を變更する。|pattern| を參照。

警告:
このオプションをオフにするとプラグインの多くの動作を壞す可能性が高い!多くのパターンがこのオプションがオンであると假定してをり、オフになつてゐるとそれらが失敗するからである。

古い Vi 用のスクリプトを使ふときにだけオフにするべきだらう。それ以外の狀況では ’magic’ がオンである時に動作するパターンを書けば良い。また |/\M| が必要ならば "\M" を含めると良い。

’makeef’ ’mef’

文字列 (既定では "")
グローバル
{Vim が |+quickfix| 機能付きでコンパイルされたときのみ有效}

コマンド |:make| (|:make_makeprg| を參照) と |:grep| に使はれるエラーファイルの名前。値が空のときは、內部で生成された一時ファイルが使はれる。

"##" が含まれてゐるときは、その部分はファイル名の一意性を保つための數字に置き換へられる。かうすれば ":make" で既存のファイルを上書きしてしまふことがなくなる。

":cf" には使はれ「ない」。それについてはオプション ’errorfile’ を參照。環境變數は展開される |:set_env|。値に空白や ’\’ を含める方法については、|option-backslash| を參照。

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

’makeencoding’ ’menc’

文字列 (既定では "")
グローバル/バッファについてローカル |global-local|

外部コマンドの出力を讀むときに使用されるエンコーディング。空の時はエンコーディングは變換されない。これは以下のコマンドに使用される: ‘:make‘, ‘:lmake‘, ‘:grep‘, ‘:lgrep‘, ‘:grepadd‘, ‘:lgrepadd‘, ‘:cfile‘, ‘:cgetfile‘, ‘:caddfile‘, ‘:lfile‘, ‘:lgetfile‘ および ‘:laddfile

これは主に MS-Windows で ’encoding’ を "utf-8" に設定してゐる場合に有用である。もし |+iconv| が有效化されてをり GNU libiconv が使はれてゐる際には、’makeencoding’ を "char" に設定することはシステムロケールのエンコーディングに設定するのと同じ效果がある。例:

:set encoding=utf-8
:set makeencoding=char	" システムロケールが使用される
’makeprg’ ’mp’

文字列 (既定では "make", VMS では "MMS")
グローバル/バッファについてローカル |global-local|

コマンド ":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’

文字列 (既定では "(:),{:},[:]")
バッファについてローカル

括弧などの組を構成する文字。コマンド |%| で片方からもう片方にジャンプする。設定できるのは違ふ文字の組だけである。つまりダブルクォートで圍まれた區閒をジャンプすることはできない。文字はコロンで區切る。

組はコンマで區切つて指定する。値に ’<’ と ’>’ を設定する例 (HTML 用):

:set mps+=<:>

さらに興味深い例は、代入文の ’=’ と ’;’ の閒でジャンプするもので、C や Java 等の言語で便利である。

:au FileType c,cpp,java set mps+==:;

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

’matchtime’ ’mat’

數値 (既定では 5)
グローバル

オプション ’showmatch’ がオンのとき、マッチしてゐる括弧を表示するための時閒を 0.1 秒單位で指定する。

Note:
このオプションでは、他の時閒關係のオプションと違ひ、單位がミリ秒でないので注意。これは Nvi との互換性を保つためである。

’maxcombine’ ’mco’

數値 (既定では 2)
グローバル

表示の際にサポートされてゐる文字の組み合はせ數の最大値。’encoding’ が "utf-8" のときだけ適用される。

ほとんどの言語に對しては既定値で十分である。ヘブライ語は 4 以上が必要である。最大値は 6。

このオプションの値が 2 のときでも、それ以上の組み合はせのテキストを編輯することは可能である。ただしそれを表示することはできない。|g8| や|ga| を使ふ。|mbyte-combining| を參照。

’maxfuncdepth’ ’mfd’

數値 (既定では 100)
グローバル
{Vim が |+eval| 機能付きでコンパイルされたときのみ有效}

ユーザー定義函數の函數呼び出しの深さの最大値。これは普通、終はらない再歸呼び出しを捉へるために使はれる。函數のさらに深い再歸呼び出しを使ふときは、オプション ’maxfuncdepth’ に、さらに大きい値を設定すること。しかしかうするとメモリを餘計に消費するので、メモリを使ひ果たしたときに落ちる危險がある。

この制限を 200 より大きな値に增やした場合、Ex コマンドの再歸の最大値も變更される。|E169| 參照。|:function| も參照。

’maxmapdepth’ ’mmd’

數値 (既定では 1000)
グローバル

マッピングに對するマッピングを、文字が使はれるまでに繰り返す回數の最大値。これは普通、":map x y" と ":map y x" のやうな堂々巡りで終はらないマッピングを捉へるために使はれる。しかしこれは ":map g wg" 等は捉へない。それは次のマッピングが行はれる前に ’w’ が使はれてゐるからである。|key-mapping| も參照。

’maxmem’ ’mm’

數値 (既定では 256 から 5120 の閒 (システムによつて異なる) または利用できるメモリの半分)
グローバル

1 つのバッファに使用できるメモリの最大値 (キロバイト單位)。この限界に達すると、バッファにさらにメモリを割り當てるときには、他のメモリを解放する。このオプションの最大値は約 2000000 である。限界を設けないときにはこの値に設定すること。’swapfile’ がオフの場合、この値は無視される。’maxmemtot’ も參照。

’maxmempattern’ ’mmp’

數値 (既定では 1000)
グローバル

パターンマッチングに使ふメモリ量の最大値 (キロバイト單位)。設定可能な最大値は約 2000000。限界を設けないときにはこの値に設定すること。 この制限に達したときは、エラーメッセージを表示し、たいていの場合 CTRL-C が押されたのと同じやうに振る舞ふ。

制限に達するのはたいてい、檢索パターンが極めて非效率であるか複雜過ぎるときである。これは非常に長い行の上で "\(.\)*" を檢索するとすぐになる。".*" の方がはるかによい。

複雜なテキスト構造を構文ルールがマッチさせようとするときに、再描畫で同樣の起こりうる。

maxmempattern’ の制限に達する前に Vim がメモリ不足になるかもしれず、その場合は代はりに "Out of memory" エラーになる。

’maxmemtot’ ’mmt’

數値 (既定では 2048 から 10240 の閒 (システムによつて異なる) または利用できるメモリの半分)
グローバル

全てのバッファで使用するメモリの合計の最大値 (キロバイト單位)。このオプションの最大値は約 2000000 (2 ギガバイト)である。限界を設けないときにはこの値に設定すること。

64 ビットマシンではもつと高くしても動作するかもしれない。けれど、本當にテキストの編輯に 2 ギガバイト以上も必要ですか? テキスト自體はスワップファイルに保存されるので、この設定でも 2 ギガバイト以上のファイルは編輯できることを、忘れないこと。メモリはアンドゥ情報を記憶するのに必要なのだ。

swapfile’ がオフになつてゐるバッファも、全體のメモリ使用量に數へられる。

maxmem’ も參照。

’menuitems’ ’mis’

數値 (既定では 25)
グローバル
{Vim が |+menu| 機能付きでコンパイルされたときのみ有效}

メニューの項目數の最大値。自動生成されるメニュー、例へばバッファメニューに對して使はれる。このオプションを變更しても直接の效果はなく、メニューを更新しなければならない。

’mkspellmem’ ’msm’

文字列 (既定では "460000,2000,500")
グローバル
{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| または |sandbox| 內で設定することはできない。

’modeline’ ’ml’

切替 (Vim の既定値はオン (root の場合はオフ)、Vi の既定値はオフ)
バッファについてローカル ’modeline’ がオンの場合、’modelines’ は set コマンドに對してチェックされる行數を與へる。’modeline’ がオフの場合、または ’modelines’ がゼロの場合、行はチェックされない。|modeline| を參照。

’modelineexpr’ ’mle’

切替 (既定ではオフ) グローバル

オンにすると、式であるいくつかのオプションをモードラインで設定できるやうになる。オプションが ’modelineexpr’ の影響を受けてゐるかどうかを確認すること。|modeline| も參照。

セキュリティ上の理由から、このオプションを |modeline| または |sandbox| 內で設定することはできない。

’modelines’ ’mls’

數値 (既定では 5)
グローバル

オプション ’modeline’ がオンのときは、テキスト中のコマンド ":set" を ’modelines’ に指定された行數だけ調べる。’modeline’ がオフであるか、’modelines’ が 0 のときは、":set" は調べられない。|modeline| を參照。

Note:
modeline’ は、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’modifiable’ ’ma’

切替 (既定ではオン)
バッファについてローカル

オフのときは、バッファの內容が變更できなくなる。オプション ’fileformat’ と ’fileencoding’ も變更できなくなる。起動時にコマンドライン引數 |-M| でオフに設定できる。

’modified’ ’mod’

切替 (既定ではオフ)
バッファについてローカル

オンのとき、バッファは變更を受けたものとされる。これは以下のやうなときにオンになる:

  1. 最後に書き込みをした後にテキストが變更されたとき。|undo| をするコマンドで元の狀態まで戾つたときは、このオプションはオフになる。しかし書き込みより前の編輯を undo すると、再びこのオプションはオンになる。テキストが最後に書き込まれたときと異なつてゐるからである。
  2. オプション ’fileformat’ や ’fileencoding’ が元の値と異なつてゐるとき。元の値とは、バッファが讀み込まれたり書き込まれたときに設定された値である。コマンド ":set nomodified" は ’fileformat’ や ’fileencoding’ を現在の値に設定し、’modified’ をオフにする。’eol’ と ’bomb’ に似てゐる。

このオプションは、BufNewFile, BufRead/BufReadPost, BufWritePost, FileAppendPost, VimLeave イベントでバッファが變更された場合には設定されない。例として |gzip-example| 參照。

buftype’ が "nowrite" または "nofile" であるときもこのオプションを設定できるが、無視される。

Note:
テキストは實際に同じであることもあることに注意。例へば "A" の上で "rA" を押した場合も ’modified’ は設定される。

’more’

切替 (Vim の既定値: オン、Vi の既定値: オフ)
グローバル

オンのときは、一覽表示で畫面が一杯になつたときは一旦停止し、「繼續」プロンプト |more-prompt| を表示する。オフのときは停止せず、最後まで表示する。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’mouse’

文字列 (既定では "", MS-DOS, Win32 と GUI 版では "a", |defaults.vim| 內で "a" もしくは "nvi" に設定されます)
グローバル

オンのとき、マウスが利用可能になります。ほとんどの端末 (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, sysmouse 付きの *BSD コンソールおよび gpm 付きの Linux コンソール) で動作します。GUI でマウスを使ふことについては、|gui-mouse| を參照してください。

マウスの利用はモードごとに設定できます。

nノーマルモードとターミナルモード
vビジュアルモード
i插入モード
cコマンドラインモード
hヘルプファイルを閱覽してゐるときの上記のモード全て
a上記のモード全て
r「續けるには」プロンプト |hit-enter| および「繼續」プロンプト |more-prompt| が出てゐるとき

普通、次のやうにしてマウスを 5 モード全てで利用可能にする。

:set mouse=a

端末がアプリケーションに向かふマウスイベントを無效にできない場合は、以下を使用します:

:set mouse=nvi

":" を押し、システムのテキストを選擇し、Esc を押してマウスイベントを使用して Vim に戾ることができます。

|defaults.vim| では、’term’ オプションが "xterm" と一致しない場合、"nvi" が使用されます。

マウスを有效にしてゐなくても、GUI 版ではモードレスセレクションにマウスを使ふことができます。しかしこのときにはカーソルは動きません。

|mouse-using| を參照してください。またオプション ’clipboard’ も參照してください。

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

’mousefocus’ ’mousef’

切替 (既定ではオフ)
グローバル
{Vim の GUI 版でのみ有效}

オンのときは、マウスカーソルのおかれたウィンドウが自動的にアクティブになる。マウス以外でウィンドウ配置やウィンドウフォーカスを變更すると、マウスカーソルはキーボードフォーカスと共に移動する。既定ではオフだが、これはマウスカーソルを動かして豫期しないウィンドウをアクティブにしてしまふことがあるため、プルダウンメニューの利用を少し面倒にするからである。

MS-Windows: マウスのスクロールホイールを使つてゐるときに、どのウィンドウがスクロールされるのかについては ’scrollfocus’ も參照してください。

’mousehide’ ’mh’

切替 (既定ではオン)
グローバル
{Vim の GUI 版でのみ有效}

オンのとき、文字が入力されるときにはマウスカーソルが隱される。マウスが動くとマウスカーソルは再び現れる。

’mousemodel’ ’mousem’

文字列 (既定では "extend", MS-DOS と Win32 では "popup")
グローバル

マウスの動作モデルを設定する。モデル名は主にマウスの右クリックで行はれる動作を表してゐる:

extend右クリックで選擇範圍を廣げる。これは xterm と同樣の動作である。
popup右クリックでポップアップメニューを表示する。シフト+左クリックで選擇範圍を廣げる。これは MS-Windows のやうな動作になる。
popup_setpos"popup" と似てゐるが、カーソルが右クリックした場所に移動する。その結果、選擇範圍を對象とする操作が {譯注: マウスのドラッグで選擇した範圍ではなく} クリックしたオブジェクトに對して働くやうになる。

元々操作の對象となるはずの選擇範圍內を右クリックしたときは、カーソルは移動しない。もちろん、選擇範圍の外側を左クリックすればビジュアルモードは終了する。

それぞれのモデルでの、マウス操作の働きの一覽:

マウス操作extendpopup(_setpos)
左クリックカーソル移動カーソル移動
左ドラッグ選擇開始選擇開始
シフト+左單語檢索選擇範圍の擴張
右クリック選擇範圍の擴張メニュー (カーソル移動)
右ドラッグ選擇範圍の擴張なし
中央クリック貼り付け貼り付け

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

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

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

’mouseshape’ ’mouses’

文字列 (既定では "i-r:beam, s:updown, sd:udsizing, vs:leftright, vd:lrsizing, m:no, ml:up-arrow, v:rightup-arrow")
グローバル
{Vim が |+mouseshape| 機能付きでコンパイルされたときのみ有效}

それぞれのモードでのマウスカーソルの外觀を設定する。値はコンマ區切りの指定部のリストであり、オプション ’guicursor’ に使はれるものと大分似てゐる。指定部は、次のやうな狀態リストと外觀設定からなる。

狀態リスト:外觀,狀態リスト:外觀,..

狀態リストは、以下のモードまたはカーソル位置のダッシュ ’-’ 區切りのリストである:

普通のウィンドウ內:
nノーマルモード
vビジュアルモード
veselection’ に "exclusive" が含まれてゐるときのビジュアルモード (指定されなければ ’v’ と同じ設定になる)
oOperator-pendingモード
i插入モード
r置換モード
その他:
cコマンドラインへの追加時
ciコマンドラインへの插入時
crコマンドラインでの置換時
m「續けるには」プロンプトまたは「繼續」プロンプト表示中
e全てのモードにおいて、マウスカーソルが最下ウィンドウよりも下に置かれてゐるとき
s全てのモードにおいて、マウスカーソルがステータス行に置かれてゐるとき
sd全てのモードにおいて、ステータス行をドラッグ中のとき
vs全てのモードにおいて、マウスカーソルが垂直分割の區切り行に置かれてゐるとき
vd全てのモードにおいて、垂直分割區切りをドラッグ中のとき
aあらゆる場所

指定可能なマウスカーソルの形は以下の通りである:

avail名前外見
w xarrow普通のマウスカーソル
w xblankカーソルなし (注意して使ふこと!)
w xbeamI 狀の縱棒
w xupdown上下のサイズ變更矢印
w xleftright左右のサイズ變更矢印
w xbusyシステムの「待ち」カーソル
w xnoシステムの「入力不可」カーソル
xudsizing上下のサイズ變更を示す
xlrsizing左右のサイズ變更を示す
xcrosshair大きくて細い +
xhand1黑い手
xhand2白い手
xpencil文字を書くときの、あの鉛筆
xquestion大きな ?
xrightup-arrow右上向き矢印
w xup-arrow上向き矢印
x<number>任意の X11 のカーソルナンバー (X11/cursorfont.h を參照)

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

例:

:set mouseshape=s:udsizing,m:no

とすると、マウスカーソルはステータス行の上ではサイズ變更を表す形になり、「續けるには」プロンプトが表示されてゐるときには入力不可を表す (この狀態ではマウスクリックに效果がないので)。

’mousetime’ ’mouset’

數値 (既定では 500)
グローバル

GUI 版, MS-DOS, Win32 と Unix の xterm でのみ有效。ダブルクリックなどとして認識されるクリックとクリックの閒の時閒を、ミリ秒單位で設定する。

’mzschemedll’

文字列 (既定はビルドに依存する)
グローバル
{Vim が |+mzscheme/dyn| 機能付きでコンパイルされたときのみ有效} MzScheme 共有ライブラリの名前を指定する。既定値はコンパイル時に指定される DYNAMIC_MZSCH_DLL である。環境變數は展開される |:set_env|。

値は |vimrc| スクリプト內、もしくはもつと早い段階で設定されるべきである。起動時の |load-plugins| ステップ前。

安全上の問題のため、このオプションは |modeline| からの設定も、|sandbox| 中での設定もすることはできない。

’mzschemegcdll’

文字列 (既定はビルドに依存する)
グローバル
{Vim が |+mzscheme/dyn| 機能付きでコンパイルされたときのみ有效} MzScheme GC の共有ライブラリの名前を指定する。既定はコンパイル時に指定される DYNAMIC_MZGC_DLL である。この値は、’mzschemedll’ が GC コードを含むのであれば、それと同じにすることができる。環境變數は展開される |:set_env|。

安全上の問題のため、このオプションは |modeline| からの設定も、|sandbox| 中での設定もすることはできない。

’mzquantum’ ’mzq’

數値 (既定では 100)
グローバル
{Vim が |+mzscheme| 機能付きでコンパイルされたときのみ有效}

MzScheme のスレッドを切り替へる閒隔 (ミリ秒)。負または 0 にするとスレッドのスケジューリングを行はなくなる。

Note:
このオプションは ’compatible’ がオフになると Vim の既定値に設定されるので注意。

’nrformats’ ’nf’

文字列 (既定では "bin,octal,hex", |defaults.vim| 內で "bin,hex" に設定される)
バッファについてローカル

テキスト內の數をコマンド CTRL-ACTRL-X で增減させるとき、Vim に何を數として認識させるかを設定する。これらのコマンドの詳しい情報については |CTRL-A| を參照。

alphaこれが含まれると、單一のアルファベットも增減操作を受ける。これ は a), b) 等の、文字を使つたリストに對して便利である。
octalこれが含まれると、0 で始まる數は 8 進數として認識される。例: "007" の上で CTRL-A を使ふと "010" となる。
hexこれが含まれると、"0x" や "0X" で始まる數は 16 進數として認識される。例: "0x100" の上で CTRL-X を使ふと "0x0ff" となる。
binこれが含まれてゐる場合には、"0b" か "0B" で始まる數値は 2 進數であるとみなす。例へば "0b1000" の上で CTRL-X を押すと 1 減算され、結果 "0b0111" になる。

1 から 9 の數字で始まる數は、常に 10 進數として認識される。8 進數または 16 進數として認識されない數も 10 進數として認識される。

’number’ ’nu’

切替 (既定ではオフ)
ウィンドウについてローカル

每行の前に行番號を表示する。オプション ’cpoptions’ にフラグ ’n’ が含まれてゐないときは、折り返された行の先頭は行番號の表示される桁に入り込まない (’compatible’ がオフのときはこれが既定である)。

オプション ’numberwidth’ で行番號の幅を設定することができる。折り返された行が長すぎて {譯注: 行の途中の部分だけで畫面一杯になつてしまひ} 行の本當の先頭の文字が表示されてゐないときは、文字 ’-’ が行番號の前に表示される。行番號に使はれる强調表示グループについては |hl-LineNr| と |hl-CursorLineNr| を參照。 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’

數値 (Vim の既定値: 4 Vi の既定値: 8)
ウィンドウについてローカル
{Vim が |+linebreak| 機能付きでコンパイルされたときのみ利用可能}

行番號を表示するのに使はれる桁數の最小値。’number’ か ’relativenumber’ がオンのときか行番號付きで印刷するときのみ意味がある。常に番號とテキストの閒にスペースが 1 つ置かれるので、番號そのものに割かれる桁數はこれより 1 文字少なくなる。

この値は最小の幅である。’number’ がオンのときにはバッファの行數、’relativenumber’ がオンのときにはウィンドウの行數を、それぞれ表示するのに足りないときは設定されたよりも廣い幅が使はれる。つまり、Vim の既定値の 4 だと、999 行目までの幅が割り當てられることになる。バッファが 1000 行以上になると 5 桁が割り當てられるやうになる。

最小値は 1。最大値は 20。

Note:
このオプションは ’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’omnifunc’ ’ofu’

文字列 (既定では: 空)
バッファについてローカル
{Vim が |+eval| 機能付きでコンパイルされたときのみ利用可能}

このオプションは插入モードにおける CTRL-X CTRL-O でのオムニ補完で使はれる函數を指定する。|i_CTRL-X_CTRL-O| この函數がどのやうに呼び出され、何を返すべきかについては |complete-functions| を參照。このオプションは普通、ファイルタイププラグインによつて設定される。|:filetype-plugin-on|

このオプションは |modeline| や |sandbox| の中ではセキュリティ上の理由により設定できない。

’opendevice’ ’odev’

切替 (既定ではオフ)
グローバル
{MS-DOS, MS-Windows と OS/2 でのみ有效}

デバイスからの讀み書きを有效にする。これを有效にすると、實際には入出力をできないデバイスをオープンしてしまふと、Vim は動作を停止してしまふ。そのため既定ではオフになつてゐる。

MS-Windows で "aux.h", "lpt1.txt" などを編輯するとデバイスを編輯中になることに注意。

’operatorfunc’ ’opfunc’

文字列 (既定では: 空)
グローバル

このオプションはオペレータ |g@| で呼び出される函數を指定する。より詳しい情報と例については |:map-operator| を參照。

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

’osfiletype’ ’oft’

文字列 (既定では: "")
バッファについてローカル

このオプションは RISC OS でサポートされてゐたが、RISC OS サポートは削除された。

’packpath’ ’pp’

文字列 (既定では: ’runtimepath’ を參照)

パッケージを見つけるために使はれるディレクトリ。|packages| を參照。

’paragraphs’ ’para’

文字列 (既定では "IPLPPPQPP TPHPLIPpLpItpplpipbp")
グローバル

Nroff {譯注: UNIX で使はれる畫面整形システム} で使はれる、段落を分けるためのマクロを指定する。値は 2 文字の組である (|object-motions| を參照)。

’paste’

切替 (既定ではオフ)
グローバル

オンにすると Vim は Paste モードに移行する。これはテキストを別のウィンドウから切り取つたりコピーして、Vim 內に貼り付けたいときに便利であり、豫想しない作用を避けることができる。

このオプションは Vim をターミナルで使つてゐるときに便利である。ターミナルでは打ち込まれたテキストと貼り付けられたテキストの區別がつかないからだ。GUI 版の Vim では貼り付け時にすべき動作を知つてゐるので、’paste’ がオフでも大抵うまくいく。Vim がマウスクリックを扱へるやうなターミナルでも同樣にうまくいく。

GUI を開始するとこのオプションはオフになる。そのため、.vimrc 內でこのオプションをオンにすると、それはターミナル內では働くが、GUI ではオフになる。GUI 版で ’paste’ をオンにすると次のやうな副作用がある: 例.「ペースト」ツールバーボタンが插入モードで動作しなくなる。このボタンはマッピングを使つてゐるためである。

paste’ がオンのときは、以下のやうに設定が變はる:

以下のオプションの値に變化はないが、働きは無效になる:

Note:
paste’ がオンのときに別のファイルの編輯を始めると、モードラインや autocommand によつて設定が再び變はり、貼り付け時に問題が起きることがあるので注意。そのときは ’paste’ を再びオンにするとよいだらう。

paste’ をオフにすると、上記のオプションの設定は ’paste’ がオンになつた時點の前の狀態に復元される。

paste’ をオンにする前にオフにしても何の效果もない。

paste’ がオンの閒はマッピングが無效になるので、どれかのキーで ’paste’ を切り替へるには ’pastetoggle’ を使ふ必要がある。

’pastetoggle’ ’pt’

文字列 (既定では "")
グローバル

空でないとき、オプション ’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’ が適用される。

’patchexpr’ ’pex’

文字列 (既定では "")
グローバル
{Vim が |+diff| 機能付きでコンパイルされたときのみ有效}

ファイルにパッチを適用し、ファイルの新しいバージョンを生成するために使はれる式。|diff-patchexpr| を參照。

’patchmode’ ’pm’

文字列 (既定では "")
グローバル

値が空でないとき、ファイルの最も古いバージョンが保管されるやうになる。ソース配布物內のファイルに變更を加へたとき、元のバージョンを取つておきたいならこれを使ふ。最初にファイルが書き込まれたときのみ、元のファイルのコピーが作られる。

コピーのファイル名は、元のファイル名の後に ’patchmode’ の値を付け加へたものである。このオプションの値はドットで始めるやうにすべきである。".orig" や ".org" 等を使ふこと。

この機能を使ふには、’backupdir’ が空であつてはならない (詳細: 變更後のファイルの書き込みが成功してから、バックアップファイルがオリジナルをコピーしたファイルにリネームされるため、バックアップファイルを生成できなければならない)。バックアップすべきファイルがないときは、空ファイルが作られる。

backupskip’ がファイル名にマッチしたときは、元のファイルは保管されない。壓縮ファイルに ’patchmode’ を使ふと、ファイル名末尾に擴張子が付けられるので (例へば "file.gz.orig")、その結果できたファイルは必ずしも壓縮ファイルとは認識されなくなつてしまふ。通常のファイル名文字だけが使へる。"/\*?[|<>" は不正である。

’path’ ’pa’

文字列 (Unix での既定値: ".,/usr/include,,"
    OS/2 での既定値: ".,/emx/include,,"
    他のシステムでの既定値: ".,,")
グローバル/バッファについてローカル |global-local|

値はディレクトリのリストであり、コマンド |gf|, [f, ]f, ^Wf, |:find|, |:sfind|, |:tabfind| 等で、檢索されるファイルが相對パス ("/", "./", "../" で始まらないパス {譯注: MS-Windows では "C:/" 等で始まらないパス}) で指定されたときに使はれるものである。オプション ’path’ にディレクトリを指定するには、相對パスでも絕對パスでもよい。

値に "." を含めるのを忘れないこと!さうしないと、カレントファイルと同じディレクトリ內のファイルさへも發見できない!

値の長さには制限がある。システムごとに異なるが、大抵は 256 文字か 1024 文字等の長さである {譯注: これは半角の場合で、全角では半分}。

path’ でインクルードしたファイルを全て發見できてゐるかどうかについては、|:checkpath| を參照。

リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディレクトリを除くときにはコマンド |:set-=| を使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。ただしカレントディレクトリを取り除くには次のやうにする。

:set path-=

またカレントディレクトリを追加するには次のやうにする。

:set path+=

環境變數を使ふには、その中の區切り文字を變へる必要があるだらう。次のものは環境變數 $INCL を追加する例だが、その中ではディレクトリ名はセミコロン ’;’ で區切られてゐるとする。

:let &path = &path . "," . substitute($INCL, ';', ',', 'g')

文字 ’;’ を ’:’ または指定可能な區切り文字で置換する。

Note:
この方法は、$INCL がコンマや空白を含んでゐるときには使へないので注意。

’perldll’

文字列 (既定はビルドに依存する)
グローバル
{Vim が |+perl/dyn| 機能付きでコンパイルされたときのみ有效}

Perl の共有ライブラリの名前を指定する。既定は DYNAMIC_PERL_DLL で、これはコンパイル時に決められる。環境變數は展開される |:set_env|。

安全上の問題のため、このオプションは |modeline| からの設定も、|sandbox| 中での設定もすることはできない。

’preserveindent’ ’pi’

切替 (既定ではオフ)
バッファについてローカル

カレント行のインデントを變更するとき、可能な限りインデントの構造を保つやうにする。普通、インデントはまずタブで埋められ、その後に必要なだけスペースで埋められる(|'expandtab'| がオンになつてゐるときは違ひ、スペースだけで埋められる)。このオプションをオンにすると、インデントの既存の文字をできるだけそのままにし、追加の際に必要なだけタブやスペースを追加するやうになる。

expandtab’ は適用されない。タブはタブのままになる。

Note:
">>" を複數回使ふと、インデントにタブとスペースが混在するやうになる。これは好ましくないかもしれない。

Note:
このオプションは、’compatible’ がオンになるとオフになるので注意。’copyindent’ も參照。空白文字を揃へるには |:retab| を使ふ。

’previewheight’ ’pvh’

數値 (既定では 12)
グローバル
{Vim が |+quickfix| 機能付きでコンパイルされたときのみ有效}

プレビューウィンドウの高さの既定値。コマンド |:ptag| とその關聯コマンドで使はれます。|CTRL-W_}| にカウントが指定されなかつたときもこれが使はれます。’previewpopup’ が設定されてゐるときは使ひません。

’previewpopup’ ’pvp’

文字列 (既定では空)
グローバル
{Vim が |+textprop| 機能もしくは |+quickfix| 機能付きでコンパイルされたときのみ有效}

空でない場合、ポップアップウィンドウはプレビューウィンドウを開くコマンドのために使はれます。|preview-popup| を參照してください。

插入補完情報には使用されません。使用するには "popup" を ’completeopt’ に追加します。

’previewwindow’ ’pvw’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+quickfix| 機能付きでコンパイルされたときのみ有效}

このオプションでプレビューウィンドウを決める。ただ 1 つのウィンドウでのみ、このオプションをオンに設定できる。普通、直接設定されることはないが、コマンド |:ptag|, |:pedit| 等を使ふと設定される。

’printdevice’ ’pdev’

文字列 (既定では空)
グローバル
{Vim が |+printer| 機能付きでコンパイルされたときのみ有效}

|:hardcopy| で使はれるプリンタの名前。|pdev-option| を參照。

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

’printencoding’ ’penc’

文字列 (いくつかのシステムを除き、既定は空)
グローバル
{Vim が |+printer| と |+postscript| 機能付きでコンパイルされたときのみ利用可能}

印刷の際に使はれる文字エンコーディングを指定する。|penc-option| を參照。

’printexpr’ ’pexpr’

文字列 (既定値は、以下を參照)
グローバル
{Vim が |+printer| 機能と |+postscript| 機能付きでコンパイルされたときのみ有效}

コマンド ":hardcopy" で生成される PostScript (PS) ファイルを印刷するために評價される expression を指定する。|pexpr-option| を參照。

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

’printfont’ ’pfn’

文字列 (既定では "courier")
グローバル
{Vim が |+printer| 機能付きでコンパイルされたときのみ有效}

コマンド |:hardcopy| の出力に使はれるフォント名。|pfn-option| を參照。

’printheader’ ’pheader’

文字列 (既定では "%<%f%h%m%=Page %N")
グローバル
{Vim が |+printer| 機能付きでコンパイルされたときのみ有效}

コマンド |:hardcopy| の出力のヘッダーの書式を定義する。|pheader-option| を參照。

’printmbcharset’ ’pmbcs’

文字列 (既定では "")
グローバル
{Vim が |+printer| と |+postscript| 機能付きでコンパイルされたときのみ利用可能}

コマンド |:hardcopy| の出力の中の CJK 文字に使はれる文字集合。|pmbcs-option| を參照。

’printmbfont’ ’pmbfn’

文字列 (既定では "")
グローバル
{Vim が |+printer| と |+postscript| 機能付きでコンパイルされたときのみ利用可能}

コマンド |:hardcopy| の出力の中の CJK 文字に使はれるフォント名のリスト。|pmbfn-option| を參照。

’printoptions’ ’popt’

文字列 (既定では "")
グローバル
{Vim が |+printer| 機能付きでコンパイルされたときのみ有效}

コマンド |:hardcopy| の出力の書式を設定する項目のリスト。|popt-option| を參照。

’prompt’

切替 (既定ではオン)
グローバル

オンならば、Ex モードでプロンプト ":" が表示される。

’pumheight’ ’ph’

數値 (既定では 0)

插入モード補完のポップアップメニューに表示される項目數の最大値。0 のときはスペースの許す限り多く表示される。|ins-completion-menu|

’pumwidth’ または
’pw’

數値 (既定では 15)
グローバル

插入モード補完のポップアップメニューに使用する幅の最小値。|ins-completion-menu|

’pythondll’

文字列 (既定値はビルドに依存)
グローバル
{Vimが |+python/dyn| 機能付きでコンパイルされたときのみ有效}

Python 2.x 共有ライブラリの名前を指定。既定値はコンパイル時に指定された DYNAMIC_PYTHON_DLL の値。環境變數は展開される |:set_env|。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’pythonhome’

文字列 (既定値は "")
グローバル
{Vim が |+python/dyn| 機能付きでコンパイルされたときのみ有效}

Python 2.x ホームディレクトリの名前を指定。’pythonhome’ と PYTHONHOME 環境變數が設定されてゐない場合、コンパイル時に指定される PYTHON_HOME が Python 2.x のホームディレクトリとして使はれる。

環境變數は |:set_env| で展開される。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’pythonthreedll’

文字列 (既定値はビルドに依存)
グローバル
{Vim が |+python3/dyn| 機能付きでコンパイルされたときのみ有效}

Python 3 共有ライブラリの名前を指定。既定値はコンパイル時に指定された DYNAMIC_PYTHON3_DLL の値。環境變數は展開される |:set_env|。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’pythonthreehome’

文字列 (既定値は "")
グローバル
{Vim が |+python3/dyn| 機能付きでコンパイルされたときのみ有效}

Python 3 ホームディレクトリの名前を指定。’pythonthreehome’ と PYTHONHOME 環境變數が設定されてゐない場合、コンパイル時に指定される PYTHON3_HOME が Python 3 のホームディレクトリとして使はれる。

環境變數は |:set_env| で展開される。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’pyxversion’ ’pyx’

數値 (既定値はビルドに依存)
グローバル
{Vim が |+python| または |+python3| 機能付きでコンパイルされたときのみ有效}

pyx* 函數とコマンドで使用する python のバージョンを指定する |python_x|。既定値は以下の通り:

以下でコンパイル既定値
|+python| と |+python3|0
|+python| のみ2
|+python3| のみ3

使用可能な値は 0, 2, 3 のいづれかである。

pyxversion’ が 0 の場合、最初に實行された python2/3 コマンドまたは函數によつて 2 または 3 に設定される。例へば、‘:py‘ は 2 に設定し、‘:py3‘ は 3 に設定する。‘:pyx‘ は、Python 3 が利用可能ならば 3 に設定し、さうでなく Python 2 が利用可能ならば 2 に設定する。|has-pythonx| も參照。

もし Vim が |+python| または |+python3| のみでコンパイルされてゐる場合、’pyxversion’ は效果がない。pyx* 函數とコマンドは、常にコンパイルされたバージョンと同じとなる。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’quoteescape’ ’qe’

文字列 (既定では "\")
バッファについてローカル

文字列內で引用符をエスケープする文字。テキストオブジェクト a’, a", a‘ |a'| などで使はれる。

このオプションの文字のどれかが文字列內に現れると、その次の文字はスキップされる。既定値では、テキスト "foo\"bar\\" が 1 つの文字列とみなされる。

’readonly’ ’ro’

切替 (既定ではオフ)
バッファについてローカル

オンのときは、書き込みコマンドは ’!’ を付けないと使へない。これは閒違つてファイルを上書きしてしまふことを防ぐためのものである。Vim が讀み込み專用モードで起動された ("vim -R") ときと、實行ファイルの名前が "view" のときにはオンが既定値になる。

cpoptions’ にフラグ ’Z’ が入つてゐない場合、":w!" を使ふとカレントバッファの ’readonly’ がオフになる。

コマンド ":view" を使つて開かれたバッファでは、オプション ’readonly’ はオンになる。バッファの變更を不許可とするには ’modifiable’ を參照。

’redrawtime’ ’rdt’

數値 (既定では 2000)
グローバル
{|+reltime| 機能付きでコンパイルされたときのみ有效}

畫面を再描畫するのにかける時閒(ミリ秒)。これは ’hlsearch’ がオンのときのパターン檢索、|:match| ハイライトおよびシンタックスハイライトに對して適用される。

再描畫にこれで指定したミリ秒以上の時閒がかかるとき、それ以上のマッチはハイライトされない。シンタックスハイライトはウィンドウ每に適用される。

このリミットを超えると、シンタックスハイライトは |CTRL-L| が使はれるまで無效にされる。非常に複雜なパターンを檢索する際に Vim が應答しなくなるのを避けるためである。

’regexpengine’ ’re’

數値 (既定では 0)
グローバル

デフォルトで使ふ正規表現エンジンを選擇する。|two-engines| 設定できる値:

0自動選擇
1古いエンジン
2NFA エンジン

Note:
NFA エンジンを使ふ設定のときは、サポートされてゐないパターンを使ふと、そのパターンはマッチしない。これは正規表現エンジンのデバッグ用。

自動選擇を使用すると既定のエンジンの實行コストが高い場合に Vim の正規表現エンジンのスイッチが有效となる。例へば NFA エンジンが多くの處理時閒を要する場合など。これは長いテキストで複雜なパターンの組み合はせにより Vim がハングしない樣にする爲の物である。

’relativenumber’ ’rnu’

切替 (既定ではオフ)
ウィンドウについてローカル

カーソル行からの相對的な行番號を表示する。相對行番號を見れば縱移動のコマンドでカウント指定 (|count|) を使ふとき自分で數へる必要がないので便利である。特に他のコマンド (例: y d c < > gg gw =) と組み合はせるときなど。 ’cpoptions’ に ’n’ オプションが含まれてゐないときは、折り返された行を表示するのに行番號の表示領域は使はれない (これは ’compatible’ がオフのときの既定動作である)。

行番號の表示領域の幅は ’numberwidth’ オプションで設定できる。折り返された行がとても長くてその行頭が畫面外にあるときは、行番號の前に ’-’ 文字が表示される。

行番號の强調表示には |hl-LineNr| か |hl-CursorLineNr| が使はれる。

カーソル行の前の番號もまた ’number’ の値に依存し、この 2 つのオプションの全ての組み合はせについては |number_relativenumber| を參照せよ。

’remap’

切替 (既定ではオン)
グローバル

再歸的マッピング {譯注: マッピングに對するマッピング、に對するマッピング...} を有效にする。特定のマッピングに對して再歸的マッピングを禁止したいときは、コマンド ":noremap[!]" を使ふこと。

Note:
Vim script のポータビリティのために、このオプションは常に既定値のオンのままにしておくこと。昔の Vi スクリプトを使ふときだけこれをオフにすること。

’renderoptions’ ’rop’

文字列 (既定では空)
グローバル
{Vim が MS-Windows で GUI と DIRECTX 付きでコンパイルされたときのみ有效}

テキストレンダラの選擇とそのオプションの設定。オプションはレンダラごとに異なる。

構文:

set rop=type:{renderer}(,{name}:{value})*

現在、選擇できる追加のレンダラは 1 つだけである。

レンダラ振る舞ひ
directxVim は DirextX (DirectWrite) を使つてテキストを表示する。デフォルトの GDI よりも文字をきれいに表示できる。

MS-Windows の Vista 以降のバージョンで ’encoding’ が "utf-8" である必要がある。

オプション:

名前意味
gammagammafloat1.0 - 2.2 (おそらく)
contrastenhancedContrastfloat(不明)
levelclearTypeLevelfloat(不明)
geompixelGeometryint0 - 2 (下記參照)
renmoderenderingModeint0 - 6 (下記參照)
taamodetextAntialiasModeint0 - 3 (下記參照)
scrlinesScroll Linesint(廢止豫定)

詳細は次の URL を參照 (scrlines を除く):

https://msdn.microsoft.com/en-us/library/dd368190.aspx

geom: デバイスピクセルの內部構造。

0 -DWRITE_PIXEL_GEOMETRY_FLAT
1 -DWRITE_PIXEL_GEOMETRY_RGB
2 -DWRITE_PIXEL_GEOMETRY_BGR

詳細は次の URL を參照:

https://msdn.microsoft.com/en-us/library/dd368114.aspx

renmode: 文字レンダリングの方法。

0 -DWRITE_RENDERING_MODE_DEFAULT
1 -DWRITE_RENDERING_MODE_ALIASED
2 -DWRITE_RENDERING_MODE_GDI_CLASSIC
3 -DWRITE_RENDERING_MODE_GDI_NATURAL
4 -DWRITE_RENDERING_MODE_NATURAL
5 -DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC
6 -DWRITE_RENDERING_MODE_OUTLINE

詳細は次の URL を參照:

https://msdn.microsoft.com/en-us/library/dd368118.aspx

taamode: テキスト描畫に使はれるアンチエイリアスモード。

0 -D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
1 -D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE
2 -D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE
3 -D2D1_TEXT_ANTIALIAS_MODE_ALIASED

詳細は次の URL を參照:

https://msdn.microsoft.com/en-us/library/dd368170.aspx

scrlines:
これはスクロールの振る舞ひを最適化するのに使用されてゐたが、現在では廢止豫定である。指定されてゐた場合、單に無視される。

例:

set encoding=utf-8
set gfn=Ricty_Diminished:h12
set rop=type:directx

guifont’ にラスターフォント (Courier、Terminal、FixedSys など擴張子に ".fon" が付いてゐるもの) が選擇されてゐるときは、自動的に GDI による描畫に切り替はる。

Note:
一部のフォントとオプションの組み合はせによつてはグリフが描畫されない場合があることに注意。

  • renmode:5’ と ’renmode:6’ は、一部の特製フォント (ビットマップしか含まない TrueType フォントなど) に對して動作しない。
  • taamode:3’ は一部のベクターフォントに對して動作しない。

Note:
Windows 8.1 またはそれ以降では、このオプションを使ふことで、色付き繪文字を表示することができる。ただし、色付き繪文字を表示するためにはいくつかの條件があることに注意。

  • 選擇したフォントが色無しの繪文字を含んでゐる場合は、それが使はれる。
  • 選擇したフォントが繪文字を含んでゐない場合、システムが代替フォントを選擇する。Windows 10 では "Segoe UI Emoji" が使はれる。
  • この代替フォントが固定幅のグリフを持つてゐない場合、繪文字は文字の描畫幅を超えて描畫されるかもしれない。

他のレンダタイプは現在のところサポートされてゐない。

’report’

數値 (既定では 2)
グローバル

變更された行の數の報告が出る最小値。變更された行の數がオプション ’report’ より大きければ、ほとんどの ":" によるコマンドでメッセージが表示される。必ず報告してほしいなら ’report’ を 0 にすること。 コマンド ":substitute" では、基準は變更された行數ではなく、置換を行つた回數になる。

’restorescreen’ ’rs’

切替 (既定ではオン)
グローバル
{Vim の Windows 95/NT のコンソール版}

オンのとき、Vim を終了した後にコンソール畫面の內容が復元される。外部コマンドを實行するときも同樣である。

Windows 版以外の Vim では: ファイル .vimrc で、オプション ’t_ti’ と ’t_te’ を設定することで實現できる。畫面の復元を無效にするには次のやうにする。

set t_ti= t_te=

復元を有效にするには次のやうにする (xterm 用の設定)。

set t_ti=^[7^[[r^[[?47h t_te=^[[?47l^[8

(ここで ^[ は <Esc> であり、入力するには CTRL-V <Esc> と打ち込む)

’revins’ ’ri’

切替 (既定ではオフ)
グローバル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ有效}

插入モードでの文字の插入が通常と逆向きになる。"typing backwards" を參照 |ins-reverse|。このオプションは、オプション ’allowrevins’ がオンならば插入モードでコマンド CTRL-_ を使ふことで切り替へられる。

Note:
このオプションは、’compatible’ がオンになるとオフになるので注意。このオプションは ’paste’ オプションがオンになつた時にはリセットされ、’paste’ オプションがリセットされた際には復元される。

’rightleft’ ’rl’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ有效}

オンのとき、畫面表示の方向が右から左になる。つまり、ファイルに保存されてゐる文字は右から左の方向へ表示される。このオプションを使ふと、ヘブライ語やアラビア語のやうな右から左に向かつて書かれる言語によるファイルを編輯できる。

このオプションはウィンドウごとに設定可能なので、ヘブライ語と英語のファイルを同時に編輯したり、同一のファイルを2通りに表示することができる (これは右から左のテキストと左から右のテキストが混在してゐるファイルを編輯するときに便利である。兩方を異なるウィンドウで適切に表示することができる)。|rileft.txt| を參照。

’rightleftcmd’ ’rlc’

文字列 (既定では "search")
ウィンドウについてローカル
{Vim が |+rightleft| 機能付きでコンパイルされたときのみ利用可能}

左←右書きモードで動作するコマンドを指定する:

search      コマンド "/" と "?"

これはヘブライ語、アラビア語、ペルシア語などの言語で便利である。オプション ’rightleft’ を設定しないと ’rightleftcmd’ は效果がない。

’rubydll’

文字列 (既定値はビルドに依存)
グローバル
{Vim が |+ruby/dyn| 機能付きでコンパイルされたときのみ有效}

Ruby 共有ライブラリの名前を指定。既定値はコンパイル時に指定された DYNAMIC_RUBY_DLL の値。環境變數は展開される |:set_env|。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’ruler’ ’ru’

切替 (既定ではオフ, |defaults.vim| 內でオンに設定される)
グローバル
{Vim が |+cmdline_info| 機能付きでコンパイルされたときのみ有效}

カーソルが何行目の何列目に置かれてゐるかを表示する {譯注: これをルーラーと呼ぶ}。行數と列數はコンマで區切られる。幅に餘裕があるときは、表示されてゐるテキストの、ファイル內での相對位置が右端に表示される。

先頭ファイル先頭の行が表示されてゐるとき
末尾ファイル末尾の行が表示されてゐるとき
全てファイル先頭と末尾の行の兩方が表示されてゐるとき
45%ファイル內での相對位置

オプション ’rulerformat’ が設定されてゐるときは、それによつてルーラーの內容が指定される。ルーラーはウィンドウごとに表示される。ウィンドウにステータス行が表示されてゐれば、ルーラーもそこに表示される。さうでなければ畫面 の末尾の行に表示される。ステータス行の內容が ’statusline’ で指定されてゐるときは (つまりその値が空でないときは)、’statusline’ が ’ruler’ や ’rulerformat’ より優先される。

表示された文字の數がテキスト上でのバイト數と違ふときは (例へば、タブ文字やマルチバイト文字があるとき)、テキスト上の列數 (バイト數) と畫面上の列數が、ダッシュで區切られて兩方表示される。

空行では "0-1" と表示される。空のバッファでは行數も 0 になり、"0,0-1" と表示される。このオプションは ’paste’ オプションがオンになつた時にはリセットされ、’paste’ オプションがリセットされた際には復元される。

ルーラーを常に表示したくはないが、テキスト內のどこにゐるのか知りたいときは、コマンド "g CTRL-G" を使ふこと |g_CTRL-G|。

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

’rulerformat’ ’ruf’

文字列 (既定では空)
グローバル
{Vim が |+statusline| 機能付きでコンパイルされたときのみ有效}

値が空でないときは、オプション ’ruler’ によつて表示されるルーラーの內容を指定する。このオプションの書式は ’statusline’ のものと同樣である。

modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

ルーラーの幅は既定では 17 文字である。幅を 15 文字にするには、値の先頭に "%15(" を置き、末尾に "%)" を置くこと。例:

:set rulerformat=%15(%c%V\ %p%%%)
’runtimepath’ ’rtp’

文字列 (既定値:

Unix, Mac OS X:"$HOME/.vim, $VIM/vimfiles, $VIMRUNTIME, $VIM/vimfiles/after, $HOME/.vim/after"
Amiga:"home:vimfiles, $VIM/vimfiles, $VIMRUNTIME, $VIM/vimfiles/after, home:vimfiles/after"
DOS, MS-Win系, OS/2:"$HOME/vimfiles, $VIM/vimfiles, $VIMRUNTIME, $VIM/vimfiles/after, $HOME/vimfiles/after"
Macintosh (pre-OS X):"$VIM:vimfiles, $VIMRUNTIME, $VIM:vimfiles:after"
RISC-OS:"Choices:vimfiles, $VIMRUNTIME, Choices:vimfiles/after"
VMS:"sys$login:vimfiles, $VIM/vimfiles, $VIMRUNTIME, $VIM/vimfiles/after, sys$login:vimfiles/after")

グローバル

以下のランタイムファイルが檢索されるディレクトリのリスト:

filetype.vimファイル名によるファイルタイプの決定 |new-filetype|
scripts.vimファイルの內容によるファイルタイプの決定 |new-filetype-scripts|
autoload/自動的に讀み込まれるスクリプト |autoload-functions|
colors/色テーマ定義ファイル |:colorscheme|
compiler/コンパイラ定義ファイル |:compiler|
doc/ヘルプドキュメント |write-local-help|
ftplugin/ファイルタイププラグイン |write-filetype-plugin|
indent/インデントスクリプト |indent-expression|
keymap/キーマップ定義ファイル |mbyte-keymap|
lang/飜譯版メニュー |:menutrans|
menu.vimGUI 版メニュー |menu.vim|
pack/パッケージ |:packadd|
plugin/プラグインスクリプト |write-plugin|
print/印刷用のファイル |postscript-print-encoding|
spell/スペルチェック用のファイル |spell|
syntax/文法ファイル |mysyntaxfile|
tutor/Vimtutor 用ファイル |tutor|

および、コマンド |:runtime| で檢索される全てのファイル。

ほとんどのシステムでの既定値は、以下の5カ所を檢索するやうになつてゐる。

  1. ユーザーの個人的な設定を讀み込むため、ユーザーのホームディレクトリを檢索する。
  2. システム管理者による設定を讀み込むため、システム共通の Vim 用ディレクトリを檢索する。
  3. Vim 附屬のファイルを讀み込むため、環境變數 $VIMRUNTIME 內を檢索する。
  4. システム管理者が附屬ファイルによる設定を上書きしたり、それに追加設定をしたりできるやうにするため、システム共通の Vim ディレクトリ內のディレクトリ "after" を檢索する (これは滅多に使はれない)。
  5. ユーザーが附屬ファイルやシステム管理者による設定を上書きしたり、それに追加設定をしたりできるやうにするため、ユーザーのホームディレクトリ內のディレクトリ "after" を檢索する。

|packages| を使用するとさらに多くのエントリが追加される。もしもとても長くなる場合 ‘:set rtp‘ は省略されるので、全てをみる必要がある場合は ‘:echo &rtp‘ を使用する。

Note:
オプション ’path’ と違ひ、ワイルドカードのうち "**" 等は使へないことに注意。普通のワイルドカードは使へるが、ランタイムファイルの檢索が目に見えて遲くなることがある。速度を向上させるには、設定する項目の數をなるべく少なくし、ワイルドカードの使用を避けること。|:runtime| を參照。

例:

:set runtimepath=~/vimruntime,/mygroup/vim,$VIMRUNTIME

かうすると、ディレクトリ "~/vimruntime" (ユーザーの個人的Vimランタイムファイルを格納) を最初に檢索し、次にディレクトリ "/mygroup/vim" (グループ共通の設定ファイルを格納) を、最後に "$VIMRUNTIME" (附屬ランタイムファイル) を檢索する。

附屬ランタイムファイルを使へるやうにするため、どこかに必ず環境變數 $VIMRUNTIME を指定するべきだらう。附屬ランタイムファイルの代はりに使ふファイルを置くディレクトリは、環境變數 $VIMRUNTIME の前に指定すればよい。附屬ランタイムファイルによる設定に追加するためのファイルを置くディレクトリは、環境變數 $VIMRUNTIME の後に指定すればよい。

Vim が |--clean| オプション付きで起動すると、ホームディレクトリのエントリは含まれない。

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

’scroll’ ’scr’

數値 (既定では、ウィンドウ高の半分)
ウィンドウについてローカル

コマンド CTRL-UCTRL-D でスクロールする行數。ウィンドウのサイズが變はると、ウィンドウの行數の半分に設定される。CTRL-UCTRL-D を、カウントを指定して使ふと、カウントはオプション ’scroll’ の値として使はれる。

":set scroll=0" とすると、値はウィンドウ高の半分に戾る。

’scrollbind’ ’scb’

切替 (既定ではオフ)
ウィンドウについてローカル

|scroll-binding| も參照。オンのとき、カレントウィンドウは他のスクロール同調中ウィンドウ (このオプションがオンになつてゐるウィンドウ) と同じだけスクロールする。このオプションは、ファイルの 2 個のバージョン閒の違ひを見るのに便利である。オプション ’diff’ を參照。

このオプションがどのやうに解釋されるかを決定するオプションについては、オプション ’scrollopt’ を參照。

ウィンドウを分割して他のファイルを編輯すると、ほとんどの場合このオプションはオフになる。よつて ":split | edit file" はウィンドウを 2 つに分割し、scroll-binding を設定するが、":split file" はさうならない。

’scrollfocus’ ’scf’

切替 (既定ではオフ)
グローバル
{MS-Windows GUI 版でのみ有效}

スクロールホイールを使用してゐて、このオプションが設定されてゐると、マウスポインタ下にあるウィンドウはスクロールされます。このオプションがオフだと現在のウィンドウがスクロールされます。

MS-Windows 以外のシステムでは、常にこのオプションがオンのときと同じ擧動になります。

’scrolljump’ ’sj’

數値 (既定では 1)
グローバル

カーソルが畫面外に出たときにスクロールする行數の最小値 (例へばコマンド "j" 等によつて)。スクロールコマンド (例へば CTRL-E, CTRL-D) には使はれない。ユーザーのターミナルのスクロールがとても遲いときに便利である。

-1 から -100 までの負の數に設定すると、ウィンドウの高さのパーセンテージとして扱はれる。つまり -50 はウィンドウの高さの半分スクロールする。

Note:
このオプションは、’compatible’ がオンになると 1 になるので注意。

’scrolloff’ ’so’

數値 (既定では 0、|defaults.vim| 內で 5 に設定される)
グローバル/ウィンドウについてローカル |global-local|

カーソルの上または下には、最低でもこのオプションに指定した數の行が表示される。これにより、編輯中の箇所の周邊のテキストを見ることができる。とても大きい値 (999 等) にすると、カーソルの置かれた行は常にウィンドウの中央に表示される (ファイル先頭または末尾にゐるときと、長い行が折り返されてゐるとき以外)。 ローカル値を使用した後は、次の 2 つのうちいづれかを使用してグローバル値に戾る:

setlocal scrolloff<
setlocal scrolloff=-1

水平スクロールについてはオプション ’sidescrolloff’ を參照。

Note:
このオプションは、’compatible’ がオンになると 0 になるので注意。

’scrollopt’ ’sbo’

文字列 (既定では "ver,jump")
グローバル

スクロール同調中ウィンドウ {譯注: オプション ’scrollbind’ がオンのウィンドウ} の動作を設定するキーワードの、コンマ區切りのリスト。’sbo’ は ScrollBindOptions の略である。 指定可能なキーワードは以下の通りである:

ver同調中ウィンドウの垂直スクロールを同調させる
hor同調中ウィンドウの水平スクロールを同調させる
jumpこれは垂直スクロールにおいて、2 個のウィンドウ閒の offset に適用される。この offset とは同調中ウィンドウに表示されてゐるテキストの先頭行のずれのことである。

ウィンドウ內を動き回るときは、別の同調中ウィンドウの表示區域が、バッファの先頭より前またはバッファの末尾より後ろに達してしまふかもしれない。それでも offset は變更されず、カーソルが戾つてきたときは、同調中ウィンドウは可能ならば求められる位置にスクロールしようとする。 カレントウィンドウを變更したときは、相對 offset を使つて 2 つのことが行はれる:

  1. 値に "jump" が含まれてゐないとき、新しくカレントウィンドウになつたウィンドウのスクロール位置により相對 offset が調節される。別のウィンドウに戾つたときは、新しい相對 offset が使はれる。
  2. 値に "jump" が含まれてゐるとき、同じ相對オフセットを保つために他のウィンドウもスクロールする。他のウィンドウに戾つたときも、同じ相對 offset を使ふ。

{譯注: "jump" についての譯注: 100 行のファイル "short" と 200 行のファイル "long" をウィンドウ分割で竝べ、1 行目を表示させたまま共に ’scrollbind’ をオンにする。"long" を開いてゐるウィンドウで 150 行目に移動すると、"short" に 150 行目はないのだから、ウィンドウの同調が崩れる。

具體的には、"short" の方だけ 100 行目を表示したままになる。しかしそのまま "long" の 50 行目に移動すると、何事もなかつたかのやうに "short" のウィンドウも 50 行目を表示する。しかし "long" の 150 行目に移動した時點でカーソルを "short" のウィンドウ (の 100 行目) に移すと、"jump" によつて違ひが出る。

1. では「"long" では 150 行目、"short" では100行目」といふ狀態が新たな基準となり、"short" のウィンドウで 50 行目に移ると、"long" のウィンドウはとにかく 50 行バック、といふわけで 100 行目を表示する。

2. では「1 行目同士を合はせる」といふ基準は變はらず、やはり 100 行目同士を合はせろ、といふわけでウィンドウを移つて "short" の 100 行目に着いた瞬閒に "long" のウィンドウも 100 行目を表示する。話を簡單にするために始めは共に 1 行目を表示してゐるとしたが、始めがずれてゐるとそれが基準となることに注意}

|scroll-binding| も參照。

差分モードでは、たとへ "ver" が含まれてゐなくても常に垂直スクロール同調をする。

’sections’ ’sect’

文字列 (既定では "SHNHH HUnhsh")
グローバル

Nroff {譯注: UNIXで使はれる畫面整形システム} で使はれる、章を分けるためのマクロを指定する。値は 2 文字の組である (|object-motions| を參照)。

既定では、章は nroff マクロの ".SH", ".NH", ".H", ".HU", ".nh" および ".sh" で始まることになる。

’secure’

切替 (既定ではオフ)
グローバル

オンのとき、コマンド ":autocmd" やシェルコマンド、書き込みコマンドがカレントディレクトリ內のファイル ".vimrc" や ".exrc" では使用できなくなり、マッピングコマンドも表示されるやうになる。問題が起きることはないと分かつてゐるときか、オプション ’exrc’ がオフのときにのみこのオプションをオフにすること。

Unix では、このオプションはファイル ".vimrc" または ".exrc" の所有者がユーザー自身でないときのみ使はれる。これはユーザーが "chown" を使へるシステムでは危險である。そのときにはユーザーのファイル ~/.vimrc の末尾で ’secure’ をオンにしておいた方がよい。

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

’selection’ ’sel’

文字列 (既定では "inclusive")
グローバル

このオプションは、選擇時の動作を設定する。これはビジュアルモードと選擇モードでのみ使用される。

設定可能な値は以下の通り:

行末の後末尾に操作
oldXO
inclusiveOO
exclusiveOX

「行末の後」といふのは、カーソルを行末より 1 文字後ろに置けることを表す。

「末尾に操作」といふのは、選擇領域の末尾の文字が操作を受けることを表す。例へば、選擇領域の削除に "x" が使はれたときなどに違ひが出る。

"old" を指定して ’virtualedit’ でカーソルが行末を超えられるやうにした場合には、改行は依然として含まれない。

"exclusive" に設定してゐると、’virtualedit’ が空のときノーマルモードから選擇を開始し、末尾から後方に選擇すると行末の文字を含めることができなくなる。

オプション ’selection’ は、コマンド |:behave| によつて設定される。

’selectmode’ ’slm’

文字列 (既定では "")
グローバル

値はキーワードのコンマ區切りのリストである。キーワードは領域選擇が開始されたときのうち、どの場合でビジュアルモードでなく選擇モードを開始するかを決定する。

指定可能なキーワードは以下の通りである:

mouseマウス使用時
keyシフトキーと特別なキーの同時押しをしたとき
cmdコマンド "v", "V" または CTRL-V の使用時

|Select-mode| を參照。

オプション ’selectmode’ はコマンド |:behave| で設定される。

’sessionoptions’ ’ssop’

文字列 (既定では "blank, buffers, curdir, folds, help, options, tabpages, winsize, terminal")
グローバル
{Vim が |+mksession| 機能付きでコンパイルされたときのみ有效}

コマンド |:mksession| の效果を變更する。値はキーワードのコンマ區切りのリストである。キーワードは、ある項目の保存と復元を有效にする:

キーワード復元される項目
blank空のウィンドウ
buffersウィンドウに表示されたバッファだけでなく、隱れバッファと、リストに載つてゐるだけで讀み込まれてゐないバッファ
curdirカレントディレクトリ
folds手動で作られた折り疊み、折り疊みの開閉の區別、折り疊み關聯のローカルなオプション
globals大文字で始まり、最低1個の小文字を含む名前のグローバル變數。文字列型と數値型の變數のみ保存される。
helpヘルプウィンドウ
localoptionsウィンドウまたはバッファに對してローカルなオプションとマッピング (ローカルなオプションのグローバルな値ではない)
options全てのオプションとマッピング (ローカルなオプションのグローバルな値も)
resizeVimのウィンドウのサイズ: ’lines’ と ’columns’ の値
sesdirセッションファイルがおかれてゐるディレクトリが、カレントディレクトリになる (ネットワーク越しに、異なつたシステムからアクセスを受けるプロジェクトでは便利である)
slashファイル名內の ’\’ がスラッシュに置換される
tabpages全タブページ。これが含まれてゐないと、カレントタブページのみが復元される。そのため、タブページごとに別々のセッションを保存することができる。
terminalコマンドが復元できる端末ウィンドウを含む
unixWindows や DOS 上でも、Unix 形式の end-of-line (1 個の <NL>) を使ふ
winposVim のウィンドウ全體の位置
winsizeウィンドウサイズ

"curdir" と "sesdir" の兩方を含めないこと。"curdir" も "sesdir" も含まれてゐないときは、ファイル名は絕對パスで保存される。

"slash" と "unix" は、Windows 上でセッションファイルを Unix と共有するときに便利である。Unix 版の Vim は dos 形式のスクリプトを讀み込めないが、Windows 版の Vim は unix 形式のスクリプトを讀み込めるからだ。

’shell’ ’sh’

文字列 (既定では $SHELL または "sh",
    MS-DOS と Win32 では: "command.com" または "cmd.exe",
    OS/2では: "cmd")
グローバル

"!" や ":!" 等のコマンドで使ふシェルの名前。この値を變へたときは、以下のオプションも調べること: ’shelltype’, ’shellpipe’, ’shellslash’, ’shellredir’, ’shellquote’, ’shellxquote’, ’shellcmdflag’ コマンドには引數を與へることができる。例へば "csh -f" である。

値に空白や ’\’ を含める方法については、|option-backslash| を參照。環境變數は展開される |:set_env|。

シェルの名前が空白を含むときは、それを引用符で挾みエスケープ必要があります。引用符の例:

:set shell=\"c:\program\ files\unix\sh.exe\"\ -f

Note:
引用符にそれぞれ付けられた ’\’ (コメントの開始を防ぐため) と空白にそれぞれ付けられた ’\’ (値の終はりと閒違へないため) に注意。

また "-f" は引用符の中に入つてゐないことにも注意。それはコマンド名の一部ではないからである。Vim はパスの區切りに使はれてゐる ’\’ を自動的に認識する。

エスケープされた空白の例 (Vim は $SHELL からのオプションを初期化する場合にこれを行ふ):

:set shell=/bin/with\\\ space/sh

結果として ’shell’ の値は "/bin/with\ space/sh" となり、2 つのバックスラッシュは ‘:set‘ によつて消費される。

MS-Windows では、實行ファイルの名前が ".com" で終はるときは ".com" まで含めなければならない。つまりシェルを "command.com" や "4dos.com" に設定すると正しく機能するが、"command" や "4dos" に設定すると、必ずしも全てのコマンドに對しては動作しなくなる (例へばフィルタコマンド)。

理由は不明だが、"4dos.com" を使つたときはカレントディレクトリが "C:\" に變更される。これを防ぐには ’shell’ を次のやうにすること。

:set shell=command.com\ /c\ 4dos

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

’shellcmdflag’ ’shcf’

文字列 (既定では: "-c", MS-DOS と Win32 で ’shell’ に "sh" が含まれないときは: "/c")
グローバル

"!" や ":!" 等のコマンドを實行するためにシェルに渡されるフラグ。例へば、"bash.exe -c ls" や "command.com /c dir" である。MS-DOS 系のシステムでは、ユーザーが必ずこのオプションを設定しなくともよいやうに、既定値はオプション ’shell’ に從つて設定される。 Unix では 1 つ以上のフラグを指定できる。空白で區切られた各部は shell コマンドの引數として渡される。値に空白や ’\’ を含める方法については、|option-backslash| を參照。MS-DOS と MS-Windows については |dos-shell| も參照。

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

’shellpipe’ ’sp’

文字列 (既定では ">", "| tee", "|& tee" または "2>&1| tee")
グローバル
{Vim が |+quickfix| 機能付きでコンパイルされたときのみ有效}

コマンド ":make" の出力をエラーファイルに導くために使はれる文字列。|:make_makeprg| も參照。値に空白や ’\’ を含める方法については、|option-backslash| を參照。

必要であれば、一時ファイルの名前は "%s" で參照できる (値に "%s" が 1 個も含まれてゐなければ、一時ファイル名は自動的に追加される)。

Amiga と MS-DOS での既定値は ">" である。出力はファイルに直接保存され、スクリーンには表示されない。

Unix での既定値は "| tee" である。コンパイラからの標準出力がファイルに保存され、畫面にも表示される。初期化の後にオプション ’shell’ が "csh" か "tcsh" だつたときは、既定値は "|& tee" である。

shell’ が "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta", "bash" または "fish" のときは、既定値は "2>&1| tee" である。つまり標準エラー出力も含まれる。’shell’ オプションは、使用される前にパスが削除される (例へば "/bin/sh" なら "sh" が使はれる)。

このオプションの初期化は、ファイル ".vimrc" の讀み込みと他の初期化の後に行はれる。これは ’shell’ がその閒に設定されてゐたときは、’shellpipe’ を自動的に變更するためである。ただし ’shellpipe’ がユーザー自らによつて設定されてゐたときは、自動設定は行はれない。

shellpipe’ が空のときは、":make" の出力はリダイレクトされない。この設定は ’makeprg’ のプログラムが自分で ’makeef’ に書き込んでくれるときに便利である。パイプ處理はしたくないが ’makeef’ を含みたいときには、’shellpipe’ を 1 個の空白に設定すること。空白の前には ":set sp=\ " のやうに ’\’ を置くことを忘れないこと。

將來はフィルタ處理にはパイプが使はれるやうになり、このオプションは時代遲れになるだらう (少なくとも Unix では)。

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

’shellquote’ ’shq’

文字列 (既定では ""; MS-DOS と Win32 で ’shell’ に "sh" が含まれるなら "\"")
グローバル

"!" や ":!" 等のコマンドでコマンドをシェルに渡すときに、コマンドを圍む引用符(の列)。リダイレクトの指示は常に引用符の外側に置かれる。リダイレクトの指示を中に含めるには、オプション ’shellxquote’ を參照。兩方のオプションを設定するのは、おそらく良い方法ではない。

既定値は空である。MS-DOS 系のシステムの、MKS Korn Shell や bash 等のサードパーティ製のシェルに對してのみ便利である。それらのシェルでは引用符を "\"" とするべきである。ユーザーが必ずこのオプションを設定しなくともよいやうに、既定値は ’shell’ に從つて設定される。|dos-shell| を參照。

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

’shellredir’ ’srr’

文字列 (既定では ">", ">&" or ">%s 2>&1")
グローバル

フィルタコマンドの出力を一時ファイルに導くために使はれる文字列。|:!| も參照。値に空白や ’\’ を含める方法については、|option-backslash| を參照。必要であれば、一時ファイルの名前は "%s" で參照できる (このオプションの値に "%s" が 1 個も含まれてゐなければ、一時ファイル名は自動的に追加される)。

既定値は ">" である。Unix では、初期化の後にオプション ’shell’ が "csh" または "tcsh" だつたときは、既定値は ">&" になる。’shell’ が "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta", "bash" または "fish" だつたときは、既定値は ">%s 2>&1" になる。つまり標準エラー出力も含まれる。Win32 では、Unix と同樣のチェックがなされ、加へて値が "cmd" であるかどうか調べられる。そのときは既定値は ">%s 2>&1" になる。また ".exe" 付きのシェル名も探す。

このオプションの初期化は、ファイル ".vimrc" の讀み込みと他の初期化の後に行はれる。これは ’shell’ がその閒に設定されてゐたときは、’shellredir’ を自動的に變更するためである。ただし ’shellredir’ がユーザー自らによつて設定されてゐたときは、自動設定は行はれない。將來はフィルタ處理にはパイプが使はれるやうになり、このオプションは時代遲れになるだらう (少なくとも Unix では)。

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

’shellslash’ ’ssl’

切替 (既定ではオフ)
グローバル
{Vim の MSDOS, MS-Windows, OS/2 版でのみ有效}

オンのときは、ファイル名の展開にスラッシュが使はれる。これは command.com や cmd.exe の代はりに Unix 系のシェルを使ふときに便利である。’\’ も入力できるが、Vim によつてスラッシュに變換される。

Note:
このオプションをオンにしたりオフにしても、すでに Vim 內に讀み込まれたファイル名には影響がないので、完全を期すためにはこのオプションはどのファイルを開くのよりも先に設定する必要があることに注意。この點は將來變更になるかもしれない。

shellslash’ はパスの區切りとして ’\’ が使はれるときだけ働く。これをテストするには次のやうにする:

if exists('+shellslash')

completeslash’ も參照してください。

’shelltemp’ ’stmp’

切替 (Vi の既定はオフ, Vim の既定はオン)
グローバル

オンのときは、シェルコマンドに一時ファイルを使ふ。オフのときはパイプを使ふ。オフであつてもパイプが使へない場合は一時ファイルを使ふ。

現在のところパイプは Unix と MS-Windows 2K 以降でのみサポートされてゐる。これを確認するには次のやうにする:

:if has("filterpipe")

パイプを使ふことの利點は、一時ファイルを他人に讀み取られないことと、’shell’ のプログラムがリダイレクトをサポートしてゐなくてもよいことである。

一時ファイルを使ふことの利點は、ファイルタイプとエンコーディングを判別できることである。

shelltemp’ がオフのときは自動コマンドイベント |FilterReadPre|, |FilterReadPost|, |FilterWritePre|, |FilterWritePost| が發生しない。‘system()‘ 函數はこのオプションを參照せず常に一時ファイルを利用する。

Note:
このオプションは ’compatible’ がオフになると Vim の既定値に設定されるので注意。

’shelltype’ ’st’

數値 (既定では 0)
グローバル
{Vim の Amiga 版のみ}

Amiga では、このオプションはシェルを使ふコマンドの實行方法に影響する。

0 または 1:常にシェルを使ふ
2 または 3:行のフィルタ處理にのみシェルを使ふ
4 または 5:コマンド ’:sh’ にのみシェルを使ふ

シェルを使はないときは、コマンドは直接實行される。

0 または 2:"シェル名 ’shellcmdflag’ コマンド" で外部コマンドを實行
1 または 3:"シェル名 コマンド" で外部コマンドを實行
’shellxescape’ ’sxe’

文字列 (既定では: ""
    MS-DOS と MS-Windows: "\"&|<>()@^")
グローバル

shellxquote’ が "(" に設定されてゐるとき、このオプションで指定された文字は ’^’ 文字でエスケープされる。これによつて cmd.exe を使つてほとんどの外部コマンドを實行できるやうにする。

’shellxquote’ ’sxq’

文字列 (既定では "";
    Win32 で ’shell’ が cmd.exe なら: "("
    Win32 で ’shell’ に "sh" が含まるなら: "\""
    Unix で system() を使つてゐるなら: "\"")
グローバル

"!" や ":!" 等のコマンドでコマンドをシェルに渡すときに、コマンドを圍む引用符 (の列)。リダイレクトの指示もこの中に含む。リダイレクトの指示を含めないやうにするには、オプション ’shellquote’ を參照。兩方のオプションを設定するのは、おそらく良い方法ではない。 値が ’(’ なら末尾に ’)’ が追加される。値が ’"(’ なら ’)"’ が追加される。

値が ’(’ のときの動作に付いては ’shellxescape’ も參照。

ほとんどのシステムでは初期設定は空になる。このオプションは Win32 版で cmd.exe やサードパーティ製のシェルを使ふ場合に便利である。cmd.exe は自動的にコマンドの最初と最後のクォート文字を取り除く。

MKS Korn Shell や bash などのサードパーティ製のシェルを使ふ場合は設定値は "\"" とすべきである。ユーザーがこのオプションを設定する必要がないやうに、初期設定は ’shell’ に適した値が設定される。|dos-shell| を參照。

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

’shiftround’ ’sr’

切替 (既定ではオフ)
グローバル

インデントをオプション ’shiftwidth’ の値の倍數に丸める。コマンド ">" と "<" に適用される。插入モードでの CTRL-TCTRL-D では、インデントは常に ’shiftwidth’ の倍數に丸められる (これは Vi 互換の動作である)。

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

’shiftwidth’ ’sw’

數値 (既定では 8)
バッファについてローカル

(自動) インデントの各段階に使はれる空白の數。オプション ’cindent’, コマンド |>>|, |<<| 等に使はれる。

0 の場合は、’ts’ の値が使はれる。實際に使はれる値を取得するには |shiftwidth()| 函數を使ふ。

’shortmess’ ’shm’

文字列 (Vim の既定値: "filnxtToOS", Vi の既定値: "S", POSIX の既定値: "AS")
グローバル

このオプションは、コマンド CTRL-G 等によるファイル關聯のメッセージで、「繼續」プロンプト |hit-enter| を避けるのに役立つ。またその他のメッセージを避けるのにも役立つ。

値は以下のフラグのリストである:

フラグ效果
f"(file 3 of 5)" の代はりに "(3 of 5)" を表示。
i"[最終行が不完全]" の代はりに "[noeol]" を表示。
l"999 行, 888 文字" の代はりに "999L, 888C" を表示。
m"[變更あり]" の代はりに "[+]" を表示。
n"[新ファイル]" の代はりに "[新]" を表示。
r"[讀込專用]" の代はりに "[讀專]" を表示。
w書き込みコマンドには "書込み" の代はりに "[w]" を、コマンド ’:w >> file’ には "追加" の代はりに "[a]" を表示。
x"[dosフォーマット]" の代はりに "[dos]", "[unixフォーマット]" の代はりに "[unix]", "[macフォーマット]" の代はりに "[mac]" を表示。
a上記の省略を全て行ふ。
oファイルの書き込み時のメッセージを、その後のファイルの讀み込み時のメッセージで上書きする (":wn" を使ふときやオプション ’autowrite’ がオンのときに便利である)
Oファイルの讀み込み時のメッセージや QuickFix 關係のメッセージ (例へば ":cn") がその前のメッセージを必ず上書きする。
s"下まで檢索したので上に戾ります" と "上まで檢索したので下に戾ります" といふメッセージを表示しない。檢索件數を使用する場合、件數メッセージの後に "W" が表示されない (下記の S を參照)
tファイル閒連のメッセージが長すぎてコマンドラインに收まらないときは、先頭を切り詰める。先頭には "<" が表示される。Ex モードでは無視される。
Tその他のメッセージが長すぎてコマンドラインに收まらないときは、中央を切り詰める。中央には "..." が表示される。Ex モードでは無視される。
Wファイルの書き込み時に "書込み" や "[w]" を表示しない。
Aスワップファイルがすでにあることが發見されたときに "注意" メッセージを表示しない。
IVim の開始時に挨拶メッセージを表示しない |:intro|。
c|ins-completion-menu| 關聯のメッセージを表示しない。例へば、"-- XXX補完 (YYY)"、"1 番目の該當 (全該當 2 個中)"、"唯一の該當"、"パターンは見つかりませんでした"、"始めに戾る"、など。
q"記錄中 @a" の代はりに "記錄中" を表示。
Fコマンドに對する |:silent| のやうに、ファイルを編輯中にファイル情報を表示しない。

Note:
これは autocommand からのメッセージにも影響することに注意。

S檢索時に檢索件數メッセージを表示しない。例へば "[1/5]"

このオプションはバッファを變更するとき <Enter> を打ち込むのを避ける機會を提供する。が、表示の餘裕がある限り有益なメッセージを表示する。’shm’ が空のときと同じやうにメッセージ全體を表示するには、コマンド ":file!" を使ふこと。

便利な値の例:

shm=メッセージの省略なし
shm=aメッセージを省略するが內容までは省略しない
shm=atメッセージを省略し、必要があれば內容も切りつめる

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’shortname’ ’sn’

切替 (既定ではオフ)
バッファについてローカル

ファイル名が 8 文字に 3 文字の擴張子を付けたものであると假定する。ファイル名には複數のドット ’.’ は使へない。オンならば、擴張子 (".~" または ".swp") を付けるときにはファイル名の中のドットは下線 ’_’ に置き換へられる。

このオプションは MS-DOS 版では無效である。なぜなら當然常にオンであるからだ。このオプションは、ファイルを MS-DOS 互換のシステム (例へば messydos や crossdos) 上で編輯するときに便利である。Win32s 上で Win32 の GUI版を使つてゐるときは、このオプションは常に既定ではオンである。

’showbreak’ ’sbr’

文字列 (既定では "")
グローバル/ウィンドウについてローカル |global-local|
{Vim が |+linebreak| 機能付きでコンパイルされたときのみ有效}

折り返された行の先頭に表示する文字列。"> " や "+++ " に設定すると便利である:

:set showbreak=>\ 

Note:
スペースの前にバックスラッシュをつけてエスケープしてゐることに注意。次のやうにするともつと簡單である:

:let &showbreak = '+++ '

<Tab> 文字とコンマ以外の、printable な文字 {譯注: 文書先頭を參照} のみが指定できる (將來のバージョンでは、行末に表示される部分と行頭に表示される部分の區切りにコンマが使はれるかもしれない)。

この文字列は、オプション ’highlight’ のフラグ ’@’ に從つて强調表示される。

Note:
showbreak’ の文字列の次にタブ文字が來たときは、表示方法が異なるので注意。’showbreak’ の文字列を行番號の閒に表示したいときは、’cpoptions’ にフラグ "n" を加へること。

ウィンドウローカルの値はグローバルの値を無效にします。もしもグローバルの値が設定されてゐて、カレントウィンドウ內で値なしにしたいのであれば、NONE を使ひます:

:setlocal showbreak=NONE
’showcmd’ ’sc’

切替 (Vim の既定値: オン、Unix での既定値: オフ、Vi の既定値: オフ、|defaults.vim| 內でオンに設定される)
グローバル
{Vim が |+cmdline_info| 機能付きでコンパイルされたときのみ有效}

コマンド (の一部) を畫面の最下行に表示する。ユーザーのターミナルの表示が遲いときにはオフにすること。 ビジュアルモードでは、選擇領域のサイズが以下のやうに表示される:

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’showfulltag’ ’sft’

切替 (既定ではオフ)
グローバル

插入モードでタグファイルから單語補完をするとき (|ins-completion| を參照)、タグ名と整理された檢索パターン (あれば) の兩方をマッチする限り表示する。そのため、C 言語の函數にマッチすれば、どのやうな引數を必要とするかのテンプレートを見ることができる (コーディングスタイルが適當なものであれば)。

Note:
completeopt’ に "longest" を含めてゐる場合はこれを同時に使ふことはできない。檢索パターンからの補完がタイプされたテキストにマッチしないことがあるからである。

’showmatch’ ’sm’

切替 (既定ではオフ)
グローバル

閉ぢ括弧が入力されたとき、對應する開き括弧にわづかの閒ジャンプする。マッチした括弧が畫面上に見えてゐるときのみジャンプする。マッチを表示する時閒はオプション ’matchtime’ で設定できる。

マッチする閉ぢ括弧がないときは、ビープ音が鳴る (マッチが見えても見えなくても)。

このオプションは ’paste’ オプションがオンになつた時にはリセットされ、’paste’ オプションがリセットされた際には復元される。

cpoptions’ にフラグ ’m’ が含まれてゐないときは、ジャンプ中に文字を入力するとカーソルがすぐに元の場所に戾る。マッチの表示時のカーソルの形狀や點滅方法については、’guicursor’ の "sm" の項目を參照。

オプション ’matchpairs’ によつて對應する文字を指定することができる。對應する括弧を探すときは ’rightleft’ と ’revins’ が適用される。カーソル下の括弧に對應する括弧を强調させる方法については matchparen プラグインを參照 |pi_paren.txt|。

Note:
このオプションの省略形式の名前の使用には、保護者への說明が望まれるので注意 (笑)

’showmode’ ’smd’

切替 (Vim の既定値: オン、Vi の既定値: オフ)
グローバル

插入モード、置換モードまたはビジュアルモードで最終行にメッセージを表示する。このメッセージの强調表示の設定には、オプション ’highlight’ のフラグ ’M’ を使ふこと。

|XIM| が使用可能なときは、メッセージに "XIM" が含まれる。しかしこれは實際に XIM が起動してゐるといふことではない。特に ’imactivatekey’ が設定されてゐないときは注意。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’showtabline’ ’stal’

數値 (既定では 1)
グローバル

このオプションは、いつタブページのラベルを表示するかを指定する。

0:表示しない
1:2 個以上のタブページがあるときのみ表示
2:常に表示

これは GUI 版と非 GUI 版兩方に適用される。タブページについて詳しくは |tab-page| を參照。

’sidescroll’ ’ss’

數値 (既定では 0)
グローバル

水平スクロールの刻み幅。オプション ’wrap’ がオフでカーソルが畫面外に出るときのみ使はれる。値が 0 のときはカーソルを畫面の中央に置くやうにスクロールする。

遲いターミナルを使つてゐるときは、大きい値または 0 に設定すること。速いターミナルを使つてゐるときは小さい値または 1 に設定すること。コマンド "zh" と "zl" には使はれない。

’sidescrolloff’ ’siso’

數値 (既定では 0)
グローバル/ウィンドウについてローカル |global-local|

オプション ’wrap’ がオフのとき、カーソルの右または左には、最低でもこの數だけの列が表示される。’sidescroll’ を 1 以上に設定してゐるときにこのオプションも 1 以上にすると、水平スクロールをしてゐる周邊のテキストが見えるやうになる (行頭の近くにゐるとき以外)。とても大きい値 (999 等) にすると、カーソルの置かれた列は常にウィンドウの中央に表示される (行頭の近くにゐるとき以外)。 ローカル値を使用した後は、次の 2 つのうちいづれかを使用してグローバル値に戾る:

setlocal sidescrolloff<
setlocal sidescrolloff=-1

Note:
このオプションは、’compatible’ がオンになると 0 になるので注意。

例: 次の例のやうに、このオプションを ’sidescroll’ と ’listchars’ と一緖に設定し、カーソルを "extends" の文字の上に決して來ないやうにしてみる。

:set nowrap sidescroll=1 listchars=extends:>,precedes:<
:set sidescrolloff=1
’signcolumn’ ’scl’

文字列 (既定では "auto")
ウィンドウについてローカル
{Vim が |+signs| 機能付きでコンパイルされたときのみ有效}

目印行を表示するかどうかを指定する。有效な値は以下のとほり:

"auto"表示すべき目印があるときのみ
"no"常に表示しない
"yes"常に表示する
"number"目印を ’number’ カラムに表示する。行番號カラムが表示されてゐないのならば、"auto" のやうに振る舞ふ。
’smartcase’ ’scs’

切替 (既定ではオフ)
グローバル

檢索パターンが大文字を含んでゐたらオプション ’ignorecase’ を上書きする。檢索パターンがキーボードから打ち込まれたときに ’ignorecase’ がオンの場合にのみ使はれる。

適用されるコマンドは "/", "?", "n", "N", ":g", ":s" である。"*", "#", "gd" やタグ檢索などには適用されない。"*" や "#" の後で "/" を使ひ、檢索パターンの履歷を呼び出して <Enter> を打ち込むことで、’smartcase’ の效果を適用することができる。

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

’smartindent’ ’si’

切替 (既定ではオフ)
バッファについてローカル
{Vim が |+smartindent| 機能付きでコンパイルされたときのみ有效}

新しい行を作つたときに高度な自動インデント smart autoindenting を行ふ。C 言語系のプログラミング言語で有效だが、他のプログラミング言語にも使へる。オプション ’cindent’ でも似たことができ、より多くの場面で適切に動作するが、’cindent’ の方がこちらより嚴密である。|C-indenting| を參照。

cindent’ がオンか ’indentexpr’ が設定されてゐるときは ’si’ をオンにしても效果はない。’indentexpr’ を使ふとさらに高度な動作が實現できる。

smartindent’ を使ふときは、’autoindent’ もオンに設定するべきである。

インデントは、以下のときに自動的に插入される:

新しい行の先頭に ’}’ を入力すると、そこのインデントは對應する ’{’ と等しくなる。新しく作つた行の最初の文字が ’#’ のとき、その行のインデントは取り除かれ、’#’ は最前列に置かれる。次の行のインデントは ’#’ の行の前と同じになる。かうしてほしくないなら、次のマッピングを使ふこと。

":inoremap # X^H#"

ここで ^H は CTRL-V CTRL-H と打ち込むと入力される。コマンド ">>" を使つたとき、’#’ で始まる行は右に移動しない。

Note:
このオプションは、’compatible’ がオンになるとオフになるので注意。このオプションは ’paste’ オプションがオンになつた時にはリセットされ、'paste’ オプションがリセットされた際には復元される。

’smarttab’ ’sta’

切替 (既定ではオフ)
グローバル

オンのときは、行頭の餘白內で <Tab> を打ち込むと、’shiftwidth’ の數だけ空白が插入される。他の場所では ’tabstop’ または ’softtabstop’ の數だけ空白が插入される。<BS> を使ふと行頭の ’shiftwidth’ 分のスペースを削除する。

オフのときは、<Tab> を打ち込むと常に ’tabstop’ または ’softtabstop’ の數だけ空白が插入される。’shiftwidth’ はテキストを右左にずらすときのみ使はれる |shift-left-right|。

插入される文字 (タブ文字または空白) は ’expandtab’ によつて變はる。|ins-expandtab| も參照。’expandtab’ がオフのときは、<Tab> を打ち込むと空白の數が最小になる {譯注: できる限り空白をタブ文字で置き換へる}。このオプションは ’paste’ オプションがオンになつた時にはリセットされ、’paste’ オプションがリセットされた際には復元される。

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

’softtabstop’ ’sts’

數値 (既定では 0)
バッファについてローカル

編輯で <Tab> の幅として使用する空白の數。<Tab> を插入したり <BS> を使つたときに適用される。普通に <Tab> を插入するやうな使用感でありながら、實際にはスペース文字と <Tab> 文字が混ぜて使用される。これは ’ts’ を標準値の 8 にしたままで、編輯作業では <Tab> 幅として他の値を使ひたいときに便利である。その場合でも "x" 等のコマンドは實際の文字に對して動作する。

sts’ がゼロならこの機能は無效になる。’sts’ がマイナスなら ’shiftwidth’ の値が使はれる。

softtabstop’ は、’paste’ オプションがオンになつた時には 0 に設定され、’paste’ オプションがリセットされた際には復元される。|ins-expandtab| も參照。

expandtab’ がオフのときは、<Tab> を打ち込むと空白の數が最小になる {譯注: できる限り空白をタブ文字で置き換へる}。

cpoptions’ にフラグ ’L’ を含めると、’list’ がオンのとき、タブの扱ひ方が變はる。

Note:
このオプションは、’compatible’ がオンになると 0 になるので注意。

Vim が |+vartabs| 機能付きでコンパイルされてゐる場合、|'varsofttabstop'| が空文字列以外の何かに設定されてゐると ’softtabstop’ の値は無視される。

’spell’

切替 (既定ではオフ)
ウィンドウについてローカル
{Vim が |+syntax| 機能付きでコンパイルされたときのみ利用可能}

これがオンのときはスペルチェックが行はれる。|spell| を參照。その言語は ’spelllang’ で指定する。

’spellcapcheck’ ’spc’

文字列 (既定では "[.?!]\_[\])’" \t]\+")
バッファについてローカル
{Vim が |+syntax| 機能付きでコンパイルされたときのみ利用可能}

文の末尾を見つけるのに使ふパターン。その次の單語が大文字で始まるかどうかチェックされる。大文字でなければ、その單語が SpellCap |hl-SpellCap| で强調される (その單語がスペリングミスともみなされてゐなければ)。

このチェックを行ひたくなければ、このオプションを空にすること。’spell’ がオンのときだけ適用される。特殊な文字について注意すること。スペースとバックスラッシュを含める方法については |option-backslash| を參照。

言語に應じて自動的にこのオプションをオンにする方法については |set-spc-auto| を參照。

’spellfile’ ’spf’

文字列 (既定では空)
バッファについてローカル
{Vim が |+syntax| 機能付きでコンパイルされたときのみ利用可能}

コマンド |zg|, |zw| で單語を追加するための單語リストファイルの名前。このファイル名の末尾は ".{encoding}.add" でなければならない。ここにパスを含める必要がある。さうしないと、カレントディレクトリにそのファイルが作られる。

このオプションの値はファイル名のコンマ區切りのリストであつてもよい。コマンド |zg| と |zw| に與へるカウントによつて、そのリストのどれにアクセスするかを指定することができる。これによつて、個人用の單語リストファイルとプロジェクト用の單語リストファイルを使ひ分けることができる。

このオプションが空なのに單語が追加されたときは、Vim が自動的に値を設定する: 書き込み可能な最初の ’runtimepath’ のディレクトリを使用する。そこに "spell" といふディレクトリがなければ作成する。ファイル名には ’spelllang’ に現れる最初の言語名が使はれ、地域名は無視される。

さうして作られる ".spl" ファイルがスペルチェックに作られる。このファイルは ’spelllang’ に入つてゐなくてもよい。普通は全ての地域に對して 1 つのファイルが使はれるが、望むなら地域名を追加することもできる。しかしその場合、’spellfile’ がそのファイル名に設定されてゐるときだけ使はれる。’spelllang’ のエントリに對しては地域名を省いたファイルだけが使はれる。

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

’spelllang’ ’spl’

文字列 (既定では "en")
バッファについてローカル
{Vim が |+syntax| 機能付きでコンパイルされたときのみ利用可能}

コンマ區切りの單語リスト名のリスト。オプション ’spell’ がオンのとき、これらの言語に對してスペルチェックが行はれる。例:

set spelllang=en_us,nl,medical

かうすると US 英語、オランダ語、醫學用語が認識される。認識されない單語は强調される。

單語リスト名は、英數字、ダッシュ、またはアンダースコアで構成する必要がある。コンマやドットを含めてはならない。2 文字の言語名と詳細を區切るのにダッシュを使ふことが推奬される。つまり、"en-rare" は頻度の低い (rare) 英語となる。

地域名は最後に書いて、"_xx" といふ形でなければならない。ここで "xx" は小文字で2文字の地域名である。複數の地域名を列擧することもできる:

"en_us, en_ca" とすると US 英語とカナダ英語の兩方に對應する。しかしオーストラリア、ニュージーランド、英國に固有の單語には對應しない。(Note: 現在のところ en_au と en_nz の辭書は en_ca, en_gb そして en_us のものよりも古い)

"cjk" といふ名前が含まれる場合は、東アジアの文字はスペルチェックから除外される。これは、アジアの文字を含むやうなテキストを編輯する際に便利である。

特別な場合として、.spl ファイルの名前をそのまま指定することができる。その名前の最初の "_xx" は除去され、地域名として使はれる (_xx はアンダースコア、2 文字、そしてその後にアルファベットでないものが續くことを意味する)。これは主にテスト用のためである。正しいエンコーディングが使はれてゐるかどうか Vim はチェックしないので、ユーザーが確認しなければならない。

encoding’ が設定されると、單語リストは再讀み込みされる。そのため、2 度讀み込むのを避けるため、’encoding’ の後で ’spelllang’ を設定するとよい。關係するスペルファイルがどう探されるかについてはここで說明されてゐる: |spell-load|.

プラグイン |spellfile.vim| が動作してゐるならば、’runtimepath’ に .spl ファイルが見つからない言語名が指定されたとき、このプラグインによりユーザーに對してファイルをダウンロードするかどうか問ひ合はせが行はれる。

このオプションの設定が成功すると、’runtimepath’ の "spell/LANG.vim" が讀み込まれる。"LANG" は ’spelllang’ の値の、ASCII や數字ではない、かつダッシュではない文字までの最初の文字である。|set-spc-auto| を參照。

’spellsuggest’ ’sps’

文字列 (既定では "best")
グローバル
{Vim が |+syntax| 機能付きでコンパイルされたときのみ利用可能}

スペリング候補の方法を指定する。コマンド |z=| と函數 |spellsuggest()| の兩方に適用される。次の要素のコンマ區切りのリストになる:

best

英語にもつともよく對應してゐる內部メソッド。"fast" 方式と同じやうに相異點を發見した上で、音の近さによるスコア判定を少し用ゐて順序を改善する。

double

2 つの方法を用い、その結果を混合させる內部メソッド。第一の方法は "fast" で、第二の方法は候補と修正對象の音がどれだけ似てゐるかを計算する。これは言語が sound folding を明示するときだけ機能する。時閒がかかるかもしれず、必ずしもよい結果を出すとは限らない。

fast

文字の插入、削除、交換など、單純な相異だけを判定する內部メソッド。單純なタイプミスに對してよく機能する。

{number}

|z=| でリストされる候補の最大數。|spellsuggest()| には適用されない。候補の數は決して ’lines’ の値 - 2 を超えない。

file:{filename}

{filename} を讀み込む。そのファイルにはスラッシュで區切られた2つの列が書いてゐなければならない。第 1 列に閒違つた單語が書かれ、第 2 列に候補となる正しい單語が書かれてゐる。 例:

theribal/terrible

內部メソッドでは候補リストの上の方には出てこない、ありがちなミスのためにこれを使ふ。スラッシュを含まない行は無視されるのでコメントとすることができる。

第 2 列の單語は正しいものでない場合は、それは使はれない。その單語がスペルミスとして扱はれてゐる場合は ".add" ファイルにその單語を追加する。

このファイルは全ての言語に對して使はれる。

expr:{expr}

式 {expr} を評價する。スペースによるトラブルを避けるため、函數を使ふこと。|v:val| が閒違つてつづられた單語を保持する。この式を評價した結果が候補とスコアからなるリストのリストにならなければならない。

例:

[['the', 33], ['that', 44]]

verbose’ をオンにして |z=| を使ふと內部メソッドが使ふスコアを見ることができる。スコアは低いほどよい。

一時的に ’spellsuggest’ から "expr:" の部分を除くならば |spellsuggest()| を呼び出してもよい。

オプション ’verbose’ が非 0 になつてゐない限り、エラーは警告無しに無視される。

"best", "double", "fast" は、どれか 1 つだけ指定できる。他のものはどんな順序で何囘指定してもよい。例:

:set sps=file:~/.vim/sugg,best,expr:MySuggest()

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

’splitbelow’ ’sb’

切替 (既定ではオフ)
グローバル

オンのとき、ウィンドウを橫分割すると新しいウィンドウはカレントウィンドウの下に開かれる |:split|。

’splitright’ ’spr’

切替 (既定ではオフ)
グローバル

オンのとき、ウィンドウを縱分割すると新しいウィンドウはカレントウィンドウの右に開かれる |:vsplit|。

’startofline’ ’sol’

切替 (既定ではオン)
グローバル

オンのときは、以下のコマンドで移動すると、カーソルは行內の最初の非空白文字に移動する。オフのときは、カーソルは (可能ならば) 同じ列に置かれる。

適用されるコマンド: CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M", "L", gg, 行單位で行ふときの "d", "<<", ">>", カウントを指定したときの "%"、バッファ變更コマンド (CTRL-^, :bnext, :bNext 等)、行番號のみの Ex コマンド (例へば ":25" や ":+")。

バッファ變更コマンドの場合は、カーソルはそのバッファが最後に編輯されたときの列に置かれる。

Note:
このオプションは、’compatible’ がオンになるとオンになるので注意。 {譯注: 實際の動作はドキュメントとかなり違ふ。移動先が 1 列目の場合と餘白以外の最初の文字の場合が混在してゐる。ただ、オンのときはカーソルが元いた列を無視して先頭の「方に」移動するのは確か}

’statusline’ ’stl’

文字列 (既定では空)
グローバル/ウィンドウについてローカル |global-local|
{Vim が |+statusline| 機能付きでコンパイルされたときのみ有效}

値が空でないとき、このオプションはステータス行の表示內容を設定する。|status-line| も參照。

値は、普通のテキストに挾まれた函數 printf 形式の項目からなる。項目の形式は以下の通りである。

%-0{minwid}.{maxwid}{item}

{item} 以外の欄は指定しなくてもよい。パーセント記號そのものを表示するには "%%" とする。80個までの項目を指定できる。

このオプションの先頭が "%!" である場合は式とみなされ、評價した結果がオプションの値となる。例:

:set statusline=%!MyStatusLine()

g:statusline_winid 變數はステータス行が屬するウィンドウの |window-ID| に設定される。 この結果が %{} を含んでゐると、それも評價される。

Note:
"%!" 式は現在のウィンドウとバッファのコンテキストで評價される。%{} アイテムは對象のウィンドウのコンテキストで評價される。

オプションを評價してゐる閒にエラーが發生すると、それ以降のエラーを避けるためにオプションに空が設定される。さうしないと畫面更新がループに陷つてしまふ。

Note:
このオプションが設定されてゐるとき (さらにオプション ’laststatus’ が 2 であるとき) は、’ruler’ にはコマンド |CTRL-G| の出力を設定する效果しかないことに注意。

意味
-その項目を左寄せする。minwid が項目の長さより大きい場合は、既定では右寄せになる。
0數値の頭に 0 を表示する。欄 ’-’ が優先する。
minwid項目の長さの最小値。餘白の穴埋めは ’-’ と ’0’ で設定する。50 以下でなければならない。
maxwid項目の長さの最大値。文字列の項目の切り詰めでは ’<’ が左に表示される。數値の項目は maxwid-2 文字に切り詰められ、それに ">數" が續く。ここで "數" は表示されなかつた文字數であり、指數表記に似てゐる。
item以下で說明するアルファベット 1 文字。

以下は、指定可能なステータス行の item の說明である。"item" の 2 文字目はその item の種類を表す。

N數値
S文字列
F以下で說明するフラグ
-實際に表示されるものではない
item意味
f Sバッファ內のファイルのパス(入力された通り、またはカレントディレクトリに對する相對パス)
F Sバッファ內のファイルのフルパス。
t Sバッファ內のファイルのファイル名 (パスを除く)。
m F修正フラグ。表示されるのは "[+]"。’modifiable’ がオフのときは "[-]"
M F修正フラグ。表示されるのは ",+" または ",-"。
r F讀み込み專用フラグ。表示されるのは "[RO]"。
R F讀み込み專用フラグ。表示されるのは ",RO"。
h Fヘルプバッファフラグ。表示されるのは "[ヘルプ]"。
H Fヘルプバッファフラグ。表示されるのは ",HLP"。
w Fプレビューウィンドウフラグ。表示されるのは "[プレビュー]"。
W Fプレビューウィンドウフラグ。表示されるのは ",PRV"。
y Fバッファ內のファイルのタイプ。例へば "[vim]"。’filetype’ を參照。
Y Fバッファ內のファイルのタイプ。例へば ",VIM"。’filetype’ を參照。
q S"[Quickfix List]", "[Location List]" または空文字。
k S他言語用マッピング |:lmap| が使はれてゐるとき、變數 "b:keymap_name" または ’keymap’ を "<keymap>" と表示する。
n Nバッファ番號。
b Nカーソル下の文字の文字コードの10進數表現。
B N同上、ただし 16 進數表現。
o Nカーソル下の文字がファイル內で何バイト目であるか。先頭では 1。覺え方: ファイル先頭からの隔たり (に 1 を足したもの) {Vim が |+byte_offset| 機能付きでコンパイルされたときのみ有效}
O N同上、ただし 16 進數表現。
N N印刷時のページ番號 (’printheader’ 內でのみ有效)。
l N何行目にカーソルがあるか。
L Nバッファ內の總行數。
c N何列目にカーソルがあるか。
v N畫面上の何列目にカーソルがあるか。
V N畫面上の何列目にカーソルがあるか。表示形式は -{num}。値が ’c’ と等しければ表示されない。
p N現在行がファイル內の何 % の位置にあるか (|CTRL-G| と同樣)
P S現在表示されてゐるウィンドウ內のテキストが、ファイル內の何 % の位置にあるか。これは ’ruler’ で說明されてゐるものに似てゐる。飜譯されてゐない限り、値は常に3文字である {譯注: 日本語版では全角 2 文字になりうる}。
a S既定のタイトルと同樣の引數ファイルリストを "({current} of {max})" と表示する。ファイル引數の數が 0 または 1 のときは空。
{ NF’%{’ と ’}’ の閒の expression を評價し、結果に置き換へる。

Note:
閉ぢ括弧 ’}’ の前には ’%’ がつかないことに注意。expression には ’}’ を含めることができないので、これを囘避するには函數呼び出しを使用すること。

( -項目グループの開始。グループ內の項目全てに對する幅と寄せ方の設定に使へる。どこかで %) で閉ぢられなければならない。
) -項目グループの終了。欄 width は指定できない。
T Ntabline’ 用: ラベル「タブページ N」の開始。最後のラベルの後に %T を書くこと。この情報はマウスクリックに使はれる。
X Ntabline’ 用: ラベル「タブ N を閉ぢる」の開始。ラベルの後に %X を書くこと。例: %3Xclose%X。%999X は「カレントタブを閉ぢる」を意味する。この情報はマウスクリックに使はれる。
< -行が長すぎるときに切り詰める位置。既定では先頭。欄 width は指定できない。
= -左寄せ項目と右寄せ項目の區切り。欄 width は指定できない。
# -强調グループを設定する。この後に名前を書き、その後にまた # を書く。つまり、%#HLname# と書くと、强調グループ HLname になる。カレントウィンドウ以外のステータスラインに對しても同じ强調が施される。
* -使はれる强調表示グループを User{N} に設定する。ここで {N} は欄 minwid から取られる。例へば %1* と設定する。%* や %0* で通常の强 調表示を復元する。

强調表示グループ User{N} と StatusLine の違ひは、非カレントウィンドウのステータス行の强調表示を設定するグループの StatusLineNC に適用される。數 N は 1 以上 9 以下である。|hl-User1..9| を參照。

フラグを表示するとき、そのフラグがプレーンテキストの直後にあるなら、その先頭にコンマがある場合は削除される。さうすることによつて以下の例のやうなフラグの使ひ方をしたとき、きれいに表示されるやうになつてゐる。

あるグループ內の全ての項目が空文字列 (つまり設定されてゐないフラグ) になり、かつそのグループに minwid が指定されてゐなかつたときは、グループ全體が空になる。これにより、次のやうなグループは、フラグがどれも設定されてゐないときは全く表示されない。

:set statusline=...%(\ [%M%R%H]%)...

氣をつけてほしいのは、expression はステータス行が表示されるたびに評價されるといふことだ。 あるバッファまたはウィンドウのステータス行が描畫されてゐる最中は、一時的にそのバッファまたはウィンドウがカレントバッファまたはカレントウィンドウに設定され、そこで expression が評價される。變數 "g:actual_curbuf" は、本當のカレントバッファで函數 ‘bufnr()‘ が返す値に設定され、"g:actual_curwin" は實際のカレントウィンドウの |window-ID| に設定される。これらの値は文字列である。

このオプションがモードラインで設定されたときは、式はサンドボックス (|sandbox|) の中で評價される。|sandbox-option| を參照。 ’modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

statusline’ を評價してゐる閒にテキストを變更したり他のウィンドウにジャンプすることは許されてゐない |textlock|。

ステータス行が望みの時點 (例へば expression 內で使はれる變數の設定をした後) で更新されてゐないときは、オプションを値を變へずに設定し直すことで更新させることができる。例:

:let &ro = &ro

全て數字で返された結果は、表示用の數値と見なされる。それ以外の結果はフラグ列と解釋され、上記の方法が適用される。

ステータス行で expression を使ふときはエラーに氣をつけること。Vim の描畫機構が使ひ物にならなくなるかもしれない!行き詰まつてしまつたならば、プロンプトを表示させるために ’:’ か ’Q’ を打ち込む。そして Vim を終了したら "vim --clean" として {譯注: エラーを起こす設定を讀み込まないやうにして} ユーザーのファイル .vimrc か何かを編輯し、正常に戾す。

例:

ruler’ がオンのときの標準のステータス行に似せる

:set statusline=%<%f%h%m%r%=%l,%c%V\ %P

同上、しかしカーソル下の文字の10/16進表現を表示する ("ga" のやうに)

:set statusline=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P

カーソルが置かれてゐるバイト數、カーソル下の文字のコード、修正フラグを赤で表示

:set statusline=%<%f%=\ [%1*%M%*%n%R%H]\ %-19(%3l,%02c%03V%)%O'%02b'
:hi User1 term=inverse,bold cterm=inverse,bold ctermfg=red

壓縮ファイルが讀み込まれたとき、フラグ ,GZ を表示するには次のやうにする。まづ

:set statusline=...%r%{VarExists('b:gzflag','\ [GZ]')}%h...

として、さらに {譯注: 自動解凍を行ふ役割の} |:autocmd| 內で

:let b:gzflag = 1

および

:unlet b:gzflag

を設定し、最後に次の函數を定義する。

:function VarExists(var, val)
:    if exists(a:var) | return a:val | else | return '' | endif
:endfunction
’suffixes’ ’su’

文字列 (既定では ".bak,~,.o,.h,.info,.swp,.obj")
グローバル

この擴張子を持つファイルは、ワイルドカードに複數のファイルがマッチしたときの優先度が低くなる。|suffixes| を參照。擴張子はコンマで區切つて指定する。コンマの後の空白は無視される。またドットは擴張子の始まりと見なされる。ドットやコンマが區切りと見なされないやうにするには、前に ’\’ を置くこと。値に空白や ’\’ を含める方法については、|option-backslash| を參照。

ファイルを完全に無視するには、オプション ’wildignore’ を參照。リストに擴張子を追加するときにはコマンド |:set+=|、リストから擴張子を除くときには |:set-=| を使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。

’suffixesadd’ ’sua’

文字列 (既定では "")
バッファについてローカル

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

値は擴張子のコンマ區切りのリスト。その擴張子は "gf", "[I" 等のコマンドで檢索されるファイルのものである。例:

:set suffixesadd=.java
’swapfile’ ’swf’

切替 (既定ではオン)
バッファについてローカル

バッファでスワップファイルを使用する。このオプションは、特定のバッファでスワップファイルを使ひたくないときにはオフに設定できる。例へば root ユーザーさへもアクセスしてはならない機密情報等でオフにする。

注意: テキストは全てメモリ內に格納される:

スワップファイルが作られるのはオプション ’updatecount’ が非 0 で、’swapfile’ がオンのときだけである。

swapfile’ がオフになつたときは、カレントバッファのスワップファイルはすぐに削除される。’swapfile’ がオンで、’updatecount’ が非 0 のときは、スワップファイルはすぐに作られる。|swap-file| と ’swapsync’ も參照。

スワップファイルを作成せずに新しいバッファを開きたい場合は |:noswapfile| 修飾子を使ふ。スワップファイルがどこに作成されてゐるのかは ’directory’ を參照。

このオプションは、’bufhidden’ と ’buftype’ と共に、特別な種類のバッファを指定するのに使はれる。|special-buffers| を參照。

’swapsync’ ’sws’

文字列 (既定では "fsync")
グローバル

値が空でないときは、書き込みの後にディスク上のスワップファイルの內容が同調される。これにはいくらか時閒がかかる。ビジー狀態の Unix システムでは特にさうだ。

値が空のときは、スワップファイルの一部はメモリ內のままで、ディスクに書き込まれないかもしれない。システムがクラッシュすると、仕事の成果が餘計ひどく失はれるかもしれない。

Unix では、Vim が求めなくとも時折システムが同調を行ふので、これを空にすることの不利益は小さい。システムによつてはスワップファイルは全く書き込まれない。Unix システムでは、値を "sync" にすると既定の函數 fsync() ではなく函數 sync() を呼び出すが、システムによつてはそちらの方がよい。

實ファイルに對してはオプション ’fsync’ が適用される。

’switchbuf’ ’swb’

文字列 (既定では "")
グローバル

バッファを切り替へるときの動作を調節する。指定可能なキーワードは以下の通りである (コンマ區切りのリストにする):

useopen

これが含まれたときは、指定されたバッファを開いてゐるウィンドウがあれば、そこにジャンプする。含まれないときは、他のウィンドウを調べない。

この設定は |quickfix| 關係のコマンドでエラーにジャンプするとき (":cc", ":cn", "cp" 等で) に影響する。また ":sbuffer", ":sbnext", ":sbrewind" 等のバッファ關係のウィンドウ分割コマンド全てにも影響する。

usetab

"useopen" と同樣だが、他のタブページで開かれてゐるウィンドウも考慮する。

split

これが含まれてゐると、|quickfix| コマンドでエラーを表示するときに、バッファを讀み込む前にカレントウィンドウを分割する。

含まれてゐないときは、分割はされない。カレントウィンドウが使はれる (quickfix ウィンドウで使用されたとき: 前に使はれてゐたウィンドウ、もしくは他のウィンドウがない場合は分割する)。

vsplit

"split" と同樣だが、垂直に分割する。

newtab

"split" と同樣だが、新しいタブページを開く。"split" と兩方指定された場合はこちらが優先される。

uselast

もしも含まれてゐると、|quickfix| コマンドのエラーでジャンプした時に、以前使用していたウィンドウにジャンプします。

’synmaxcol’ ’smc’

數値 (既定では 3000)
バッファについてローカル
{Vim が |+syntax| 機能付きでコンパイルされたときのみ有效}

構文アイテムを檢索する桁數の最大値。長い行において、この桁以降のテキストは强調されない。また構文の狀態がクリアされるため、これ以下の行は正しく强調されない可能性がある。

これは長い行を持つ XML ファイルの描畫が非常に遲くなるのを避けるために役に立つ。ゼロにするとその制限がなくなる。

’syntax’ ’syn’

文字列 (既定では "")
バッファについてローカル
{Vim が |+syntax| 機能付きでコンパイルされたときのみ有效}

このオプションが設定されたとき、コマンド ":syntax off" で構文强調表示が無效にされてゐない限り、値の名前の構文定義が讀み込まれる。

このオプションは、その時點以外では使はれてゐる構文定義を常に反映する譯ではない (常に反映するのは變數 b:current_syntax)。

このオプションは、構文が自動的に認識されないファイルのモードラインで使ふのが最も便利である。例へば、IDL ファイルでは次のやうにする。

/* vim: set syntax=idl : */

このオプションの値にドットを含めると、ファイルタイプの區切りとなる。例:

/* vim: set syntax=c.doxygen : */

かうするとまづ最初に "c" の構文を使ひ、次に "doxygen" の構文を使ふやうになる。2 番目のファイルタイプは追加として讀み込まれるやうに準備されてゐなければならない。さうでないとスキップされる。ドットは 1 つ以上現れてもよい。カレントファイルに對する構文强調表示を無效にするにはかうする。

:set syntax=OFF

オプション ’filetype’ に從つて、構文强調表示を開始するにはかうする。

:set syntax=ON

syntax’ の設定時に實際起きることは、autocommand のイベント Syntax が、このオプションの値を引數にして發生するといふことだ。’cpoptions’ のフラグ ’s’ や ’S’ にかかはらず、このオプションの値は別のバッファにはコピーされない。

通常のファイル名文字だけが使へる。"/\*?[|<>" は不正である。

’tabline’ ’tal’

文字列 (既定では"")
グローバル

このオプションが空でないとき、Vim ウィンドウの上にあるタブページ行の表示內容を指定する。空のときは、既定のタブページ行が使はれる。より詳しくは |setting-tabline| を參照。

タブページ行はオプション ’showtabline’ で指定されたとき、また GUI のタブ行がないときだけ表示される。’guioptions’ に ’e’ が入つてゐて、GUI がタブ行に對應してゐるときは代はりに ’guitablabel’ が使はれる。

Note:
この 2 つのタブページ行はかなり異なる。

このオプションの値は ’statusline’ と同じやうに評價される。|tabpagenr()|, |tabpagewinnr()|, |tabpagebuflist()| を使へば表示されるテキストを把握することができる。1 番目のラベルには "%1T"、2 番目のラベルには "%2T" など。閉ぢラベルにはアイテム "%X" を使ふ。

tabline’ で使用されてゐるものを變更しても、タブページ行が更新されるトリガーとならない場合は、|:redrawtabline| を使用すること。

modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

アクティブなタブページは 1 つだけである。他のタブページは表示されず、その中のウィンドウにジャンプすることはできない。

’tabpagemax’ ’tpm’

數値 (既定では 10)
グローバル

コマンドライン引數 |-p| や ":tab all" で開かれるタブページの最大數。|tabpage|

’tabstop’ ’ts’

數値 (既定では 8)
バッファについてローカル

ファイル內の <Tab> が對應する空白の數。コマンド |:retab| とオプション ’softtabstop' も參照 {譯注: このオプション說明の最後も參照}。

Note:
tabstop’ を 8 以外の數に設定すると、多くの場合で (例へば印刷時) ユーザーのファイルが閒違つて表示されうるので注意。

Vim では、タブの主な使ひ方には以下の 4 種類がある:

  1. tabstop’ を常に 8 に保ち、’softtabstop’ と ’shiftwidth’ を 4 (または 3 等の好きな値) に設定し、’expandtab’ をオフにする。すると Vim はタブと空白の兩方を使ふが、<Tab><BS> を打ち込むと、タブが 4 (または 3) 文字ごとに現れてゐるかのやうに表示される。
  2. tabstop’ と ’shiftwidth’ を好きなやうに設定し、’expandtab’ をオンにする。この方法では常に空白が插入される。’tabstop’ が變更されても、整形されたテキストはめちやめちやにならない。
  3. tabstop’ と ’shiftwidth’ を好きなやうに設定し、再びファイルを編輯するときにはモードライン |modeline| でこれらを設定する。ファイルの編輯に Vim を使ふときのみ有效。
  4. 常に ’tabstop’ と ’shiftwidth’ を等しく設定し、’expandtab’ をオフにする。すると (1 囘目のインデントのみだが) どのタブ幅でもうまく働く。かうするにしても、餘白より後の最初の文字より後にタブ文字を插入するときは、空白文字として插入されるやうにするとよいだらう。さうしないと、’tabstop’ が變更されたときに、整形されたコメントの形がをかしくなる。

{譯注: ’shiftwidth’ は自動インデントやコマンド "<<", ">>" でずれる幅。’softtabstop’ は <Tab><BS> を打ち込んだときにカーソルが動く幅。’tabstop’ は畫面上でタブ文字が占める幅の設定}

Vim が |+vartabs| 機能付きでコンパイルされてゐて、|'vartabstop'| が空文字列以外の何かに設定されてゐると ’tabstop’ の値は無視される。

’tagbsearch’ ’tbs’

切替 (既定ではオン)
グローバル

タグを檢索するとき (例へば |:ta| コマンド)、Vim は tags ファイル內で二分探索か線形探索のどちらかを使用する。二分探索はタグの檢索が「大幅に」速くなるが、タグファイルが適切に整列されてゐないときには線形探索の方がより多くのタグを發見できる。

Vim は普通はタグファイルが整列されてゐるか、整列されてゐないことが明示されてゐるものと想定してゐる。さうなつてゐない場合は ’tagbsearch’ オプションをオフに設定する必要がある。

tagbsearch’ がオンのときは、最初に tags ファイル內で二分探索が使はれる。特定の狀況下では、Vim は特定のファイルに對しては線形探索を使つたり、全てのファイルを線形探索で再試行したりする。’tagbsearch’ がオフのときは線形探索のみが使はれる。

タグファイルの先頭に、それが整列されてゐないことを示す行があつたときは、そのファイルでは線形探索が使はれる。

!_TAG_FILE_SORTED	0	/some comment/

[’0’ の前後の餘白は、單一の <Tab> でなければならない]

二分探索が完了し、’tags’ で列擧されたどのファイルからもマッチが見つからなかつた場合、かつ大文字小文字が無視される場合、もしくはその檢索がタグ名による檢索ではなくパターンによる檢索であれば、線形探索を使つて檢索が再試行される。

整列されてゐないタグファイル內のタグや、大文字と小文字の違ひのあるマッチは、再試行でのみ見つかるだらう。

タグファイルが大文字・小文字を無視して整列されてゐることを示してゐるなら、’ignorecase’ のための線形探索はしなくてもよくなる。それには "!_TAG_FILE_SORTED" 行の値として ’2’ を使ふ。ほとんどの Unix では "sort" にオプション -f をつけることで大文字・小文字を無視してタグファイルを整列することができる。

そのコマンドは次のやうになる: "sort -f -o tags tags"。"Exuberant ctags" のバージョン 5.x 以降 (少なくとも 5.5 以降) ではオプション ‘--sort=foldcase’ をつけることでこれと同樣のことができる。Note: これが機能するために文字は大文字にまとめられる。

デフォルトではタグ檢索は大文字小文字を區別する。’ignorecase’ が設定濟みで ’tagcase’ が "followic" もしくは "ignore" に設定されてゐる時は、大文字小文字の違ひが無視される。

tagcase’ が "followscs" で ’smartcase’ が設定されてゐる時、もしくは ’tagcase’ が "smart" でパターンが小文字でのみ構成されてゐる場合も、同樣に大文字小文字の違ひが無視される。

tagbsearch’ がオフの場合、完全なマッチがあるときはタグの檢索はより遲くなるが、完全なマッチがないときは檢索はより速くなる。整列されてゐないタグファイル內のタグは ’tagbsearch’ がオフでないと見つからないかもしれない。

タグファイルが整列されてゐない、あるいは閒違つた順に整列されてゐる (ASCII コード順になつてゐない) ときは、’tagbsearch’ をオフにするべきである。またはタグファイル內に上記の行が含まれてゐなければならない。

このオプションは、マッチするすべてのタグを檢索するやうなコマンド (例へばコマンドライン補完や ":help") には影響しない。

’tagcase’ ’tc’

文字列 (既定では "followic")
グローバル/バッファについてローカル |global-local|

このオプションはタグファイルを探索する際に大文字小文字をどの樣に取り扱ふかを指定する:

followicオプション ’ignorecase’ に從ふ
followscssmartcase’ 及び ’ignorecase’ オプションに從ふ
ignore大文字小文字の違ひを無視する
match大文字小文字をマッチする
smart大文字を使はない限りは、大文字小文字の違ひを無視する

Note:
このオプションは ’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’tagfunc’ ’tfu’

文字列 (既定では "")
バッファについてローカル
{Vim が |+eval| 機能付きでコンパイルされたときのみ有效} このオプションは、タグ檢索を實行するために使用される機能を指定する。この函數はタグパターンを取得し、一致するタグのリストを返さなければならない。|tag-function| を參照。函數の書き方と例の說明がある。

’taglength’ ’tl’

數値 (既定では 0)
グローバル

非 0 のときは、タグ名のうち、前からこの値の文字數までが意味を持つ。

’tagrelative’ ’tr’

切替 (Vim の既定値: オン、Vi の既定値: オフ)
グローバル

オンのとき、タグファイルを別のディレクトリから使ふと、そのタグファイルでのタグ名は、タグファイルのあるディレクトリに對して相對的になる。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’tags’ ’tag’

文字列 (既定では "./tags,tags", |+emacs_tags| 機能付きでコンパイルされたときの既定値: "./tags,./TAGS,tags,TAGS")
グローバル/バッファについてローカル |global-local|

タグを使ふコマンドで必要とするタグファイルの名前の、空白またはコンマ區切りのリスト。ファイル名に空白やコンマを使ふときは、’\’ を前に置くこと (値に空白や ’\’ を含める方法については、|option-backslash| を參照)。

ファイル名が "./" で始まるときは、’.’ はカレントファイルのパスに置き換へられる。ただしそれはオプション ’cpoptions’ にフラグ ’d’ が含まれてゐないときのみである。環境變數は展開される |:set_env|。|tags-option| も參照。

"*" や "**" などのワイルドカードを使ひ、ディレクトリツリーの下に向かつてタグファイルを檢索できる。|file-searching| を參照。例へば、"/lib/**/tags" なら "/lib" 以下の "tags" といふ名前がすべて檢索される。ファイル名自體にはワイルドカードを含めることはできない (そのまま使はれる)。例へば "/lib/**/tags?" なら "tags?" といふ名前のファイルが檢索される。

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

函數 |tagfiles()| を使ふと實際に使はれるファイル名のリストを取得することができる。

Vim が |+emacs_tags| 機能付きでコンパイルされたときは、Emacs 形式のタグファイルも利用できる。形式は自動的に認識される。そのときの既定値は、大文字と小文字の區別がないシステム (MS-Windows) 以外では "./tags,./TAGS,tags,TAGS" となる。|emacs-tags|

リストにファイル名を追加するときにはコマンド |:set+=|、リストからファイル名を除くときにはコマンド |:set-=| を使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。

’tagstack’ ’tgst’

切替 (既定ではオン)
グローバル

オンのときは、タグスタック |tagstack| が通常通りに使はれる。オフのときは、引數付きのコマンド ":tag" または ":tselect" は、タグをタグスタックにプッシュしない。その後に引數無しの ":tag" や、":pop" 等のタグスタックを使ふコマンドを使ふと、修正されてゐないタグスタックが使はれるが、アクティブな項目へのポインタは變更される。

このオプションをオンにするのは、":tag" をマッピング內で使つてゐて、タグスタックを變更すべきでないときに便利である。

’tcldll’

文字列 (既定値はビルドに依存)
グローバル
{Vim が |+tcl/dyn| 機能付きでコンパイルされたときのみ有效}

Tcl 共有ライブラリの名前を指定。既定値はコンパイル時に指定された DYNAMIC_TCL_DLL の値。環境變數は展開される |:set_env|。

このオプションはセキュリティの理由により |modeline| や |sandbox| からは設定できない。

’term’

文字列 (既定では $TERM、それが失敗したら
    GUI 版では: "builtin_gui"
    Amiga では: "amiga"
    BeOS では: "beos-ansi"
    Mac では: "mac-ansi"
    MiNT では: "vt52"
    MS-DOS では: "pcterm"
    OS/2 では: "os2ansi"
    Unix では: "ansi"
    VMS では: "ansi"
    Win32 では: "win32")
グローバル

ターミナルの名前。ターミナル制禦文字の選擇に使はれる。環境變數は展開される |:set_env|。

例:

:set term=$TERM

|termcap| を參照。

’termbidi’ ’tbidi’

切替 (既定ではオフ、"mlterm" のときはオン)
グローバル
{Vim が |+arabic| 機能付きでコンパイルされたときのみ有效}

端末がテキストの雙方向性 (Bi-directionality) (Unicode による定義) をサポートしてゐることを示す。端末はいくつかの言語 (例へばアラビア語) で必要とされてゐる變形文字 (shaping) も處理することが期待される。

このオプションをオンなつてゐる場合、’arabic’ をオンに設定しても ’rightleft’ はオンにならず、そして ’arabicshape’ の値は無視される。

Note:
termbidi’ を設定するとすぐに ’arabicshape’ が無視されるやうになるが、’rightleft’ は自動的には變更されない。

このオプションは GUI を開始するとリセットされる。詳細は |arabic.txt| を參照のこと。

’termencoding’ ’tenc’

文字列 (既定では ""; GTK+ と MacVim GUI では "utf-8"; Macintosh (Carbon) GUI では "macroman")
グローバル

ターミナルで使はれるエンコーディング名。このオプションは、どの文字エンコーディングをキーボードが生成し、どの文字エンコーディングをディスプレイが理解できるかを指定する。GUI 版ではキーボードにのみ適用される (ディスプレイにはオプション ’encoding’ が使はれる)。Mac で ’macatsui’ がオフになつてゐるときは例外で、’termencoding’ は "macroman" (Carbon GUI) になる。Win32 コンソール版での既定値は、ANSI コードページとは異なつたときにコンソールのコードページになる。

Note:
これは GTK+ と MacVim GUI には適用されない。GUI の初期化に成功した後で强制的に ’termencoding’ が "utf-8" に設定される。これを他の値に設定しようとしても失敗し、エラーメッセージが表示される。

Win32 GUI では ’termencoding’ は入力された文字のためには使用されない。Win32 では常に Unicode 文字が渡されるからである。

空のときは、’encoding’ で指定されたエンコーディングが使はれる。これが通常の値である。’termencoding’ と ’encoding’ の組み合はせが全て正しいわけではない。|encoding-table| を參照。

このオプションの値は、內部變換または函數 iconv() でサポートされてゐなければならない。iconv() が値を扱へないときは、變換はなされず、非 ASCII 文字で問題が生じるだらう。

例: ユーザーは euc-jp (日本語) に設定されたロケールで作業してゐて、UTF-8 のファイルを編輯したいとする。

:let &termencoding = &encoding
:set encoding=utf-8

ユーザーのシステムが UTF-8 のロケールをサポートしてゐないときは、ユーザーがこのやうに設定する必要がある。

’termguicolors’ ’tgc’

切替 (既定ではオフ)
グローバル
{Vim が |+termguicolors| 機能付きでコンパイルされたときのみ有效}

オンのとき、|highlight-guifg| と |highlight-guibg| がターミナル內で使はれる (24 ビットカラー)。

ISO-8613-3 互換なターミナルが必要。このオプションを設定しても機能しない (色が UI に付かない) 場合は、|xterm-true-color| を讀むと助けになるかもしれない。

Win32 のコンソールでは、Windows 10 バージョン 1703 (Creators Update) よりも新しいバージョンが必要である。以下のやうに確認する:

if has('vcon')

これには Vim が |+vtp| 機能付きでビルドされてゐる必要がある。

Note:
"cterm" の特徵はまだ使はれてゐるが、"gui" はさうではないことに注意。

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

’termwinkey’ ’twk’

文字列 (既定では "")
ウィンドウについてローカル

ターミナルウィンドウ內で CTRL-W で始まるキーはコマンドである。他のキーはウィンドウ內で動作してゐるジョブに送られる。

<> 表記法を使ふことができる。例へば:

:set termwinkey=<C-L>

この文字列は 1 つのキーストロークでなければならないが、マルチバイトでも良い。

何も設定されてゐない CTRL-W が使はれると、CTRL-W : はコマンドライン入力になる。もしも ’termwinkey’ が CTRL-L に設定されてゐるなら、CTRL-L : がコマンドライン入力になる。

’termwinscroll’
’twsl’

數値 (既定では 10000)
バッファについてローカル
{Vim が |+terminal| 機能付きでコンパイルされたときのみ有效}

保持されるスクロールバック行の數。この制限を超えた場合、最初の 10% のスクロールバック行が削除される。これはメモリの使用を削減するためだけのものである。|Terminal-Normal| を參照。

’termwinsize’ ’tws’

文字列 (既定では "")
ウィンドウについてローカル

|terminal| ウィンドウのサイズ。書式: {rows} x {columns} もしくは {rows} * {columns}

例: "30x0" の場合、30 行と、現在のウィンドウの幅を使用する。 "20*0" の場合、少なくとも 20 行と、現在のウィンドウの幅を使ふ。 "0*40" の場合、現在のウィンドウの高さと、少なくとも 40 列を使ふ。

Note:
ターミナルウィンドウ中で動作してゐるコマンドはターミナルのサイズを默つて變更するかもしれない。この場合、Vim のウィンドウは可能ならばそのサイズに調節されることに注意。

’termwintype’ ’twt’

文字列 (既定では "")
グローバル
{Vim が MS-Windows 上で |terminal| 機能付きでコンパイルされたときのみ有效}

端末ウィンドウを開くときに使はれる假想コンソール (pty) を指定する。

設定可能な値:

""ConPTY が安定してゐればそれを使ふ。それ以外は winpty が使はれる
"winpty"winpty を使ふ。サポートされてゐない場合は失敗する
"conpty"|ConPTY| を使ふ。サポートされてゐない場合は失敗する

|ConPTY| のサポートはプラットフォーム次第である。Windows 10 October 2018 Update は、ConPTY をサポートする最初のバージョンだが、それでもまだ不安定と考へられてゐる。Windows 10 の次のリリースでは、ConPTY が安定する可能性がある。winpty のサポートはインストールする必要がある。どちらもサポートされてゐない場合は、端末ウィンドウを開くことはできない。

’terse’

切替 (既定ではオフ)
グローバル

オンのときは、オプション ’shortmess’ にフラグ ’s’ を追加する (かうするとファイルの端まで檢索してしまつたときのメッセージが表示されなくなる)。オフのときは、オプション ’shortmess’ からフラグ ’s’ を取り除く。

{Vi では多くのメッセージを切り詰める}

’textauto’ ’ta’

切替 (Vim の既定値: オン、Vi の既定値: オフ)
グローバル

このオプションは時代遲れである。オプション ’fileformats’ を使ふこと。後方互換性のため、’textauto’ がオンのときは、’fileformats’ はシステムの既定値に設定される。’textauto’ がオフになつたときは、’fileformats’ は空になる。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されので注意。

’textmode’ ’tx’

切替 (MS-DOS, Win32 と OS/2 では: 既定ではオン、他のシステムでは: 既定ではオフ)
バッファについてローカル

このオプションは時代遲れである。オプション ’fileformat’ を使ふこと。後方互換性のため、’textmode’ がオンのときは、’fileformats’ は "dos" になる。’textmode’ がオフのときは、’fileformats’ は "unix" になる。

’textwidth’ ’tw’

數値 (既定では 0)
バッファについてローカル

入力されてゐるテキストの最大幅。行がそれより長くなると、この幅を超えないやうに空白の後で改行される。値を 0 に設定すると無效になる。

textwidth’ は、’paste’ オプションがオンになつた時には 0 が設定され、’paste’ オプションがリセットされた際には復元される。

オプション ’textwidth' が 0 のときは、’wrapmargin’ が使はれる場合がある。’formatoptions’ と |ins-textwidth| を參照。

formatexpr’ が設定されてゐる場合、その値を使つて改行される。

Note:
このオプションは、’compatible’ がオンになると 0 になるので注意。

’thesaurus’ ’tsr’

文字列 (既定では "")
グローバル/バッファについてローカル |global-local|

同義語補完コマンド |i_CTRL-X_CTRL-T| で單語の檢索に使はれるファイルの名前の、コンマ區切りのリスト。 そのファイルの各行には、似た意味の單語をキーワードを構成しない文字で (空白がよい) 區切つたものが竝ぶ。行長の最大値は 510 バイトである。

英單語リストがこの github の issue に追加された:

https://github.com/vim/vim/issues/629#issuecomment-443293282

thesaurus_pkg.zip を展開し、thesaurus.txt ファイルをどこかに置き、例へば、~/.vim/thesaurus/english.txt そして、’thesaurus’ オプションをこのファイル名にする。

ファイル名にコンマを含めるときは、その前に ’\’ を置くこと。コンマの後の空白は無視されるが、それ以外では空白はそのままファイル名に含まれる。値に空白や ’\’ を含める方法については、|option-backslash| を參照。

リストにディレクトリを追加するときには |:set+=|、リストからディレクトリを除くときには |:set-=| を使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。

安全上の問題のため、このオプションにバッククォート ’‘’ は使へない。

’tildeop’ ’top’

切替 (既定ではオフ)
グローバル

オンのとき、チルダコマンド "~" が operator のやうに使用できる。{譯注: 普通チルダは、打ち込まれた時點でカーソル下のアルファベットの大文字/小文字を變換するが、このオプションがオンのときは、"d" 等のやうに範圍を指定されるまで變換しない。このオプションがオフでも、"g~{motion}" なら範圍を指定できる。|case| を參照}

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

’timeout’ ’to’

切替 (既定ではオン)
グローバル

’ttimeout’

切替 (既定ではオフ、|defaults.vim| 內でオンに設定される)
グローバル

これら 2 個のオプションは共に、Vim がマッピングされたキー列やキーコードの一部を受け取つたときの動作を決定する。

’timeout’’ttimeout’動作
オフオフタイムアウト (時閒切れ) を設けない
オンオンまたはオフマッピングとキーコードにタイムアウトあり
オフオンキーコードにタイムアウトあり

兩方オフのときは、完全なマッピングやキー列を受け取るか、受け取つた文字列に對應するマッピングやキー列はないと明らかになるまで、Vim は待つ。例へば "vl" をマッピングして ’v’ を入力したとき、’v’ の次に ’l’ が來るかどうか判斷するには次の文字が入力されることが必要である。

どちらかがオンのとき、Vim は次の文字が入力されるまで約1秒待つ。その後入力された文字をそれぞれ單一の文字として解釋する。待ち時閒はオプション ’timeoutlen’ で設定できる。 遲いターミナルや非常にビジーなシステムでは、時閒切れを設けるとカーソルキーの動作がをかしくなることがある。兩方オフのときは、<Esc> で始まるキーコードがあると Vim は <Esc> が入力された後ずつと待ち狀態になる。ユーザーは <Esc> を 2 回打ち込まなければならない。キーコードに問題はないが、マッピングされたキー列を 1 秒でタイムアウトにされたくなければ、’ttimeout’ をオン、’timeout’ をオフにすること。

Note:
ttimeout’ は、’compatible’ がオンになるとオフになるので注意。

’timeoutlen’ ’tm’

數値 (既定では 1000)
グローバル

’ttimeoutlen’ ’ttm’

數値 (既定では -1、|defaults.vim| 內で 100 に設定される)
グローバル

キーコードやマッピングされたキー列が完了するのを待つ時閒 (ミリ秒單位)。すでにコマンドの一部がタイプされてゐるとき、CTRL-\ CTRL-NCTRL-\ CTRL-G にも適用される。

普通、オプション ’timeoutlen’ のみが使はれ、’ttimeoutlen’ は -1 に設定される。キーコードに對して異なつた待ち時閒を設定したいときは、’ttimeoutlen’ を非負の値に設定すること。

ttimeoutlenマッピング待ちキーコード待ち
timeoutlentimeoutlen
0以上timeoutlenttimeoutlen

タイムアウト (時閒切れ) になるのは、’timeout’ と ’ttimeout’ でさう設定されてゐるときのみである。便利な設定は次の通り。

:set timeout timeoutlen=3000 ttimeoutlen=100

(マッピングは 3 秒、キーコードは 0.1 秒で時閒切れ)

’title’

切替 (既定ではオフ、タイトルが復元できるときにはオン)
グローバル
{Vim が |+title| 機能付きでコンパイルされたときのみ有效}

オンのとき、ウィンドウのタイトルがオプション ’titlestring’ の値 (空でなければ) になる。空の場合は次のやうになる。

filename [+=-] (path) - VIM

ここでの意味は以下の通り:

filename編輯されてゐるファイルの名前
-ファイルが變更できない、つまり ’ma’ がオフであることを表す
+ファイルが變更を受けたことを表す
=ファイルが讀み込み專用であることを表す
=+ファイルが讀み込み專用であるが變更を受けたことを表す
(path)編輯されてゐるファイルのパス
- VIMサーバー名、變數 |v:servername| の値または "VIM"

ターミナルがウィンドウタイトルを設定できるもののときのみ有效である (現在のところ Amiga と Win32 のコンソール版、全ての GUI 版と ’t_IS’ が空でないターミナルのみ --- これらは既定では Unix xterm と iris-ansi であり、このときターミナルオプション ’t_IS’ は組み込み termcap から取られる)。

Vim が HAVE_X11 が定義された狀態でコンパイルされた場合は、可能ならば元のタイトルが復元される。HAVE_X11 が定義されてゐたら、コマンド ":version" の出力には "+X11" が含まれ、定義されてゐなかつたら "-X11" が含まれる。これはアイコン名 ’icon’ にも働く。

しかし Vim が引數 |-X| 付きで起動した場合は、タイトルは復元されない (GUI 版を除く)。タイトルを復元できないときは、’titleold’ がタイトルになる。その場合は Vim の外でタイトルを復元したいと思ふかもしれない。ネットワーク越しに xterm を使つてゐるときは、次のコマンドが使へる。

rsh マシン名 xterm -display $DISPLAY &

すると環境變數 $WINDOWID の値が受け繼がれ、ウィンドウのタイトルは、Vim の終了後に戾るべき狀態に戾る。

’titlelen’

數値 (既定では 85)
グローバル
{Vim が |+title| 機能付きでコンパイルされたときのみ有效}

ウィンドウタイトルが占める列の割合 (パーセント單位)。タイトルがこれより長かつたときは、パス名の後ろの部分のみが表示される。この切り詰めを示すためには、パス名の前に文字 ’<’ が表示される。

割合で指定してゐるため、タイトルが占める長さはウィンドウの幅に從つて調整できる。しかし完全にその通りになる譯ではない。それは實際に利用できる文字數は、使はれてゐるフォントやタイトルバー內の他のものによつても變はるからだ。値が 0 のときは、フルパスが使はれる。フルパスを使はないときは 1 以上 30000 以下の數を指定する。

このオプションはオプション ’titlestring’ にも使はれる。

’titleold’

文字列 (既定では "Vim を使つてくれてありがたう")
グローバル
{Vim が |+title| 機能付きでコンパイルされたときのみ有效}

このオプションの値は、Vim の終了時に元のウィンドウタイトルが復元できない場合のタイトルに使はれる。オプション ’title’ がオンであるか ’titlestring’ が空でないときのみ有效である。

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

’titlestring’

文字列 (既定では "")
グローバル
{Vim が |+title| 機能付きでコンパイルされたときのみ有效}

空でないとき、ウィンドウタイトルに使はれる。オプション ’title’ がオンのときのみ有效である。

ターミナルがウィンドウタイトルを設定できるもののときのみ有效である (現在のところ Amiga と Win32 のコンソール版、全ての GUI 版とターミナルオプション ’t_IS’ が空でないターミナルのみ)。

Vim が HAVE_X11 が定義された狀態でコンパイルされた場合は、可能ならば元のタイトルが復元される |X11|。

値に函數 printf 形式の ’%’ による書式指定が含まれてゐるときは、’statusline’ と同じ方法で展開される。

modelineexpr’ がオフの場合は、モードラインでこのオプションを設定することはできない。

例:

:auto BufEnter * let &titlestring = hostname() . "/" . expand("%:p")
:set title titlestring=%<%F%=%l/%L-%P titlelen=70

titlelen’ の値は、利用できる場所の中で項目を中央や右にそろへるために使はれる。ファイル名を最初に表示したい人は、こう設定する。

:set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:~:.:h\")})%)%(\ %a%)

Note:
(ファイル名を除いた) パスを得るため、"%{ }" と expression を使つてゐることに注意。"%( %)" は、區切りの空白を必要なときだけ加へるために使はれてゐる。

Note:
titlestring’ に特殊な文字 (例へば文字 <CR> や文字 <NL>) を使ふと、表示がをかしくなることがあるので注意。

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

’toolbar’ ’tb’

文字列 (既定では "icons,tooltips")
グローバル
{Vim の |+GUI_GTK| 版, |+GUI_Athena| 版, |+GUI_Motif| 版, |+GUI_Photon| と |gui_macvim| 版のみ}

ツールバーの樣々な設定を行ふ。指定可能な値は以下の通り:

iconsツールバーのボタンにアイコンが表示される。
textツールバーのボタンに名前が表示される。
horizツールバーのボタンのアイコンとテキストが水平に配置される。{GTK+ 2 GUI でのみ利用可能}
tooltipsツールバーのボタンでツールチップが表示される。ツールチップとは、マウスカーソルがツールバーのボタン上にしばらく置かれたときに飛び出す、ヘルプテキストのことである。

Note:
MacVim ではツールチップが常に有效になつてゐることに注意。

ツールバーにアイコンと名前を兩方表示したいときは、このやうに設定する。

:set tb=icons,text

Motif と Athena では兩方同時には表示できない。兩方求められると、アイコンだけが表示される。

オプション ’toolbar’ が空であるか、適切な値が 1 つもないときは、このオプションは無視される。ツールバーを無效にしたいときは、’guioptions’ を設定する必要がある。例:

:set guioptions-=T

|gui-toolbar| も參照。

’toolbariconsize’ ’tbis’

文字列 (既定では "small")
グローバル
{GTK+ と MacVim GUI 版でのみ利用可能}

ツールバーのアイコンのサイズを制禦する。設定可能な値は次の通り:

tiny最も小さいアイコンを使用する。
small小さいアイコンを使用する (既定値)。
medium中程度のアイコンを使用する。
large大きいアイコンを使用する。
hugeさらに大きいアイコンを使用する。
giant非常に大きいアイコンを使用する。

各種アイコンサイズのピクセル單位での正確な大きさは、使用してゐるテーマに依存する。共通の大きさは giant=48x48, huge=32x32, large=24x24, medium=24x24, small=20x20, tiny=16x16 である。MacVim では、tiny も small も 24x24 であるのに對して medium と large は 32x32 である。

toolbariconsize’ が空のときは、ユーザーの設定または現在使用してゐるテーマによつて決定されるグローバルなデフォルトサイズが使用される。

’transparency’ ’transp’

數値 (既定では 0)
グローバル
{Vi にはない}
{MacVim GUI のみ}

パーセントとしてのウィンドウ背景の透明度。0 は不透明、100 は完全な透明の意味になる。この値を 0 から 100 の範圍以外に設定するとエラーになる。

’ttybuiltin’ ’tbi’

切替 (既定ではオン)
グローバル

オンのときは、外部の termcap の前に組み込みの termcap を探す。オフのときは、外部の termcap の後に組み込みの termcap を探す。

このオプションが變更されたときは、變更を有效にするため、次にオプション ’term’ を設定する必要がある。例:

:set notbi term=$TERM

|termcap| も參照。

關聯情報: このオプションは既定ではオンである。それは普通、組み込み termcap のエントリの方が良いものだからだ (多くのシステムでをかしな xterm エントリが含まれてゐる...)。

’ttyfast’ ’tf’

切替 (既定ではオフ、’term’ が xterm, hpterm, sun-cmd, screen, rxvt, dtterm, iris-ansi のときはオン、DOS のコンソール版でもオン)
グローバル

高速ターミナル接續を行ふ。再描畫のとき、行插入/削除コマンドを使ふ代はりに、より多くの文字が畫面に送られる。複數のウィンドウが開かれてをり、なほかつターミナルが部分スクロールをサポートしてゐないとき、再描畫が滑らかになる。

また折り返された行のそれぞれの行末で、文字の extra writing {譯注: 端末に行の折り返しを認識させ、複數行にまたがつた文字列をコピーする際、餘分な改行が含まれてしまふことを防ぐテクニック} を有效にする。これは xterm 等のターミナルで、マウスを使つてコピーやペーストをするときに役立つ。

{譯注: "tty" とは、昔のコンピュータに使はれてゐたテレタイプ (TeleTYpe) 端末 (コンソールみたいなもの) から來た言葉である}

’ttymouse’ ’ttym’

文字列 (既定値は ’term’ によつて異なる)
グローバル
{Vim の Unix 版と VMS 版でのみ使用可能で、GUI 版では無效。Vim が |+mouse| 機能付きでコンパイルされたときのみ有效}

マウスコードが、このオプションで指定したターミナル名に從つて認識される。現在のところ、以下のターミナル名を設定できる:

xterm

xterm 風にマウスを扱ふ。マウスが生成するコードは "<Esc>[Mscr" である。ここで "scr" は次のやうな 3 バイトのコードである:

"s" =ボタンの狀態
"c" =桁數足す 33
"r" =行數足す 33

これは 223 桁までしか機能しないことに注意。解決策については "dec", "urxvt", "sgr" を參照。

xterm2

"xterm" と動作が似てゐるが、ドラッグ中もマウス位置を返すやうな xterm に對して働く。こちらの方がずつと動作が速く、正確である。これを使ふには、ユーザーの xterm が最低でもパッチレベルが 88 で XFree 3.3.3 に對應してゐなければならない。Vim がこれを自動認識する方法については、以下を參照。

netterm

NetTerm 風にマウスを扱ふ。 マウスの左クリックが生成するコードは "<Esc>}r,c<CR>" である。ここで "r,c" は、それぞれ行數と桁數を表す 10 進數である。他のマウスイベントはサポートされてゐない。

dec

DEC terminal 風にマウスを扱ふ。マウスが生成するのは、"<Esc>[" で始まるかなり複雜なコードである。Xtermが "–enable-dec-locator" つきで configure されてゐるならば、Xterm でもこれを利用できる。

jsbterm

JSB term 風にマウスを扱ふ。

pterm

QNX pterm 風にマウスを扱ふ。

urxvt

urxvt (rxvt-unicode) 風にマウスを扱ふ。 端末がこのエンコードスタイルをサポートしてゐるときのみ機能する。"xterm" や "xterm2" のやうな 223 桁の制限はない。

sgr

SGR スタイルのマウスレポートを發行するターミナル用にマウスを扱ふ。xterm のバージョン 277 かそれ以降で動作する。マウスは 223 桁を超えても機能する。このオプションは "xterm2" と後方互換性がある。このスタイルでは "xterm2" スタイルのマウスコードもデコードできる。

マウスを使用するには、コンパイル時に |+mouse_xterm| |+mouse_dec| |+mouse_netterm| |+mouse_jsbterm| |+mouse_urxvt| |+mouse_sgr| 等のどれかの機能を有效にしておかなければならない。

本當に認識されるのは "xterm"(2) のみである。NetTerm のマウスコードは、コンパイル時に有效にされてゐれば必ず認識される。DEC terminal のマウスコードは、コンパイル時に有效にされ、かつオプション ’ttymouse’ が "xterm", "xterm2", "urxvt", "sgr" でないときのみ認識される (dec マウスコードはそれらのコードと競合するため)。

このオプションが自動的に "xterm" に設定されるのは、’term’ が "xterm", "mlterm", "screen", "tmux", "st" (完全一致のみ), "st-", "stterm" のいづれかで始まり、’ttymouse’ がまだ設定されてゐないときである。 加へて、Vim が |+termresponse| 機能付きでコンパイルされてゐて、|t_RV| に xterm のバージョン番號を要求するためのエスケープシーケンスが設定されてゐるときは、さらに高度な判定處理が行はれる。

xterm バージョンが 95 以上、276 以下であると報告されたときは "xterm2" に設定される。Vim が Mac Terminal.app, iTerm2 もしくは mintty を檢出したときと、xterm バージョンが 277 以上のときは "sgr" に設定される。

ttymouse’ を "xterm2" や "sgr" に自動的に設定したくないときは、次のやうに |t_RV| を空に設定する。

:set t_RV=
’ttyscroll’ ’tsl’

數値 (既定では 999)
グローバル

畫面をスクロールする行數の最大値。この行數以上スクロールするときは、ウィンドウが再描畫される。スクロールがとても遲いが再描畫は遲くないやうなターミナルでは、表示を高速化するため、このオプションを 3 等の小さい數にするとよい。

’ttytype’ ’tty’

文字列 (既定値は $TERM によつて決まる)
グローバル

上記のオプション ’term’ の別名。

’undodir’ ’udir’

文字列 (既定値は ".")
グローバル
{Vim が |+persistent_undo| 機能付きでコンパイルされたときのみ有效}

アンドゥファイル用のディレクトリをコンマ區切りのリストで指定する。書式についての詳細は |'backupdir'| を參照。

"." はファイルのディレクトリを意味する。アンドゥファイルの名前は例へば "file.txt" なら ".file.txt.un~" になる。

別ディレクトリに保存される場合は、アンドゥファイルの名前は對象のファイルの絕對パスのパス區切り文字を "%" で置換した名前になる。

保存するとき: 最初に見つかつた、存在するディレクトリが使はれる。"." は常に有效なので "." 以降に指定されたディレクトリは使用されない。

讀み込むとき: アンドゥファイルを探すためにすべてのエントリが試行される。最初に見つかつたファイルが使用される。

見つかつたファイルが讀めなかつたりエラーが發生したりしても、それ以降のエントリは使用されない。|undo-persistence| 參照。

セキュリティ上の理由から、このオプションを |modeline| または |sandbox| 內で設定することはできない。

’undofile’ ’udf’

切替 (既定ではオフ)
バッファについてローカル
{Vim が |+persistent_undo| 機能付きでコンパイルされたときのみ有效}

オンにすると、バッファをファイルに保存したときにアンドゥ履歷がアンドゥファイルに自動的に保存され、そして、後でそのファイルを開いたときにアンドゥファイルからアンドゥ履歷が復元される。

アンドゥファイルが保存されるディレクトリは ’undodir’ で設定する。この機能の詳細は |undo-persistence| を參照のこと。

undoreload’ の處理の過程でファイルが讀み込まれるときはアンドゥファイルは讀み込まれない。

undofile’ がオフに設定されたときアンドゥファイルは削除「されない」。

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

’undolevels’ ’ul’

數値 (既定では 100、Unix, VMS, Win32, OS/2 での既定値は 1000)
グローバル/バッファについてローカル |global-local|

アンドゥ可能な變更の最大値。アンドゥをするための情報はメモリに蓄へられるため、大きい數を設定するとメモリの消費量も多くなります。それにもかかはらず、單一の變更には大量のメモリをすでに利用できます。

Vi 互換にするには、次のやうに 0 にすること。アンドゥは 1 回だけ可能で、もう 1 回 "u" を使ふとアンドゥがアンドゥ {譯注: リドゥ} される。

set ul=0

しかし Vi 互換にするには、オプション ’cpoptions’ にフラグ ’u’ を追加してもよい。かうするとコマンド CTRL-R でリドゥできる。|undo-two-ways| も參照。

アンドゥを無效にするには、-1 にすること。現在のバッファに對してだけ無效にするには次のやうにする。

setlocal ul=-1

これは 1 回の變更でもメモリを使ひ果たしさうなときに役立つ。

グローバルな値が使はれる場合、ローカルな値が -123456 に設定される。

|clear-undo| も參照。

’undoreload’ ’ur’

數値 (既定は 10000)
グローバル

リロードするときにアンドゥのためにバッファ全體を保存する。これは ":e!" コマンドを實行したときや、バッファが Vim の外で變更されたためにそれをリロードするときに使用される。|FileChangedShell|

保存は、オプションの値が負數に設定されてゐるか、行數が設定値より少ない場合にのみ實行される。リロードのアンドゥを無效化するにはこのオプションをゼロに設定する。リロードのためにアンドゥが保存されるときは、アンドゥファイルは讀み込まれない。

Note:
この機能によつてバッファ全體がメモリに保持される。メモリ不足が起こる場合はこのオプションに小さい値を設定すること。

’updatecount’ ’uc’

數値 (既定では 200)
グローバル

この回數だけ文字を打ち込むと、スワップファイルがディスクに書き込まれる。0 にすると、スワップファイルは全く作られない (復舊に關する章 |crash-recovery| を參照)。Vim を引數 "-n" 付きで起動すると、オプション ’updatecount’ を 0 に設定できる。|startup| を參照。讀み込み專用モードで編輯してゐるときは、このオプションは 10000 に初期化される。

swapfile’ により、スワップファイルをバッファごとに無效化できる。’updatecount’ が 0 から 非0 に變更されたときは、’swapfile’ がオンになつてゐる全てのバッファで、スワップファイルが作られる。’updatecount’ が 0 になつたときは、既存のスワップファイルは削除されない。’swapsync’ も參照。

buftype’ が "nofile" や "nowrite" であるやうなバッファでは、このオプションの意味はない。

’updatetime’ ’ut’

數値 (既定では 4000)
グローバル

この時閒の閒 (ミリ秒單位) 入力がなければ、スワップファイルがディスクに書き込まれる (|crash-recovery| を參照)。また autocommand のイベント |CursorHold| にも使はれる。

’varsofttabstop’ ’vsts’

文字列 (既定では "")
バッファについてローカル
{Vim が |+vartabs| 機能付きでコンパイルされたときのみ有效}

<Tab> の插入や <BS> の使用などの編輯における、1 つの <Tab> に相當する空白の數のリスト。可變幅の <Tab> が插入されるやうに感じられる動作だが、實際には空白と <Tab> が混合して使用される。タブ幅はコンマで區切られ、最後の値は後ろに續くすべてのタブに適用される。

例へば、9 列目からステートメントが、41 列目からコメントが始まるアセンブリ言語のファイルを編輯する際、以下のやうに使用すると便利だらう:

:set varsofttabstop=8,32,8

これは soft tabstop を、8 個および 8 + 32 個、そして以降すべての列に對して 8 個の空白に設定する。

Note:
varsofttabstop’ が設定されてゐる場合、|'softtabstop'| の値は無視されることに注意。

’vartabstop’ ’vts’

文字列 (既定では "")
バッファについてローカル
{Vim が |+vartabs| 機能付きでコンパイルされたときのみ有效}

ファイルの中において、1 つの <Tab> に相當する空白の數をコンマで區切つたリスト。それぞれの値は 1 つのタブに對應し、最後の値は後ろに續くすべてのタブに適用される。例:

:set vartabstop=4,20,10,8

これは最初のタブを 4 個の空白、2 つ目を 20 個の空白、三つ目を 10 個の空白、續くすべてのタブを 8 個の空白に變換する。

Note:
vartabstop’ が設定されてゐる場合、|'tabstop'| の値は無視されることに注意。

’verbose’ ’vbs’

數値 (既定では 0)
グローバル

値が 0 より大きいとき、Vim は實行中の動作に關するメッセージを表示する。 現在のところ、以下のメッセージが表示される:

1 以上ファイル viminfo が讀み書きされたとき
2 以上コマンド ":source" でファイルを讀み込んだとき
5 以上檢索されたタグファイルとインクルードファイル全て
8 以上autocommand のグループが實行されたファイル
9 以上實行された autocommand 全て
12 以上實行された函數全て
13 以上例外が發生/捕捉/終了/破毀されたとき
14 以上":finally" 節において保留されてゐる全て
15 以上實行された Ex コマンド全て (200 文字から後は切り捨て)

このオプションは、引數 "-V" でも設定できる。|-V| を參照。

このオプションは、コマンド |:verbose| でも設定できる。

verbosefile’ が設定されてゐる場合、verbose のメッセージは表示されない。

’verbosefile’ ’vfile’

文字列 (既定では "")
グローバル

このオプションが空でないとき、全てのメッセージはこの名前のファイルに書き出される。ファイルが既に存在するときは、そこに追加される。

ファイルへの書き出しは Vim が終了したときか、または ’verbosefile’ が空に設定されたとき終了する。書き込みはバッファされるので出力が缺けることがある。

verbosefile’ を新しい値に設定すると、最初に空に設定したのと同じことになる。|:redir| との違ひは、’verbosefile’ が設定されてゐるとき冗長なメッセージは畫面に表示されないことである。

’viewdir’ ’vdir’

文字列 (Amiga, MS-DOS, OS/2 と Win32 での既定値: "$VIM/vimfiles/view"
    Unix での既定値: "~/.vim/view"
    Macintosh での既定値: "$VIM:vimfiles:view"
    VMS での既定値: "sys$login:vimfiles/view"
    RiscOS での既定値: "Choices:vimfiles/view")
グローバル
{Vim が |+mksession| 機能付きでコンパイルされたときのみ有效}

コマンド |:mkview| によるファイルを格納するディレクトリの名前。

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

’viewoptions’ ’vop’

文字列 (既定では "folds,options,cursor,curdir")
グローバル
{Vim が |+mksession| 機能付きでコンパイルされたときのみ有效}

コマンド |:mkview| の效果を變更する。値はキーワードのコンマ區切りのリストである。キーワードは、ある項目の保存と復元を有效にする:

キーワード復元される項目
cursorファイル/ウィンドウ內のカーソル位置
folds手動で作られた折り疊み、折り疊みの開閉の區別、折り疊み關聯のローカルなオプション
optionsウィンドウまたはバッファについてローカルなオプションとマッピング (ローカルなオプションのグローバルな値は含めない)
localoptions"options" と同じ
slashファイル名內の ’\’ がスラッシュに置換される
unixWindows や DOS 上でも、Unix 形式の end-of-line (1 個の <NL>) を使ふ
curdir‘:lcd‘ で設定されてゐた場合のウィンドウローカルなディレクトリ

"slash" と "unix" は、Windows 上でビューファイルを Unix と共有するときに便利である。Unix 版の Vim は dos 形式のスクリプトを讀み込めないが、Windows 版の Vim は unix 形式のスクリプトを讀み込めるからだ。

’viminfo’ ’vi’

文字列 (Vi の既定値は "", Vim の既定値は、
    MS-DOS, Windows と OS/2 では: ’100,<50,s10,h,rA:,rB:,
    Amiga では: ’100,<50,s10,h,rdf0:,rdf1:,rdf2:
    他のシステムでは: ’100,<50,s10,h)
グローバル
{Vim が |+viminfo| 機能付きでコンパイルされたときのみ有效}

値が空でないとき、viminfo ファイルが起動に先立つて讀み込まれ、また終了時に書き出される (|viminfo-file| を參照)。ただし、’viminfofile’ が "NONE" の時は除く。

値は指定部のコンマ區切りのリストである。指定部には、效果を指定するフラグ 1 文字の次に、その値を指定する數または文字列を指定する。指定されなかつたものについては、既定値が使はれる。フラグとその動作の一覽は、以下の通りである。

フラグ

動作

!

これが含まれると、アルファベットの大文字で始まり、小文字を含まないグローバル變數を保存・復元する。つまり "KEEPTHIS" と "K_L_M" は保存されるが、"KeepThis" と "_K_L_M" は保存されない。入れ子になつたリストと辭書は正しく復元されず、空文字列になる。

"

各レジスタで保存される行數の最大値。これはフラグ ’<’ の古い表記である。この表記の不利點は、(エスケープのために)バックスラッシュを " の前に書かないといけないことである。さうしないとコメントの開始と見なされてしまふ!

%

これが含まれると、バッファリストを保存・復元する。Vim の起動時にファイル名が引數に含まれてゐると、バッファリストは復元されない。Vim の起動時にファイル名が引數に含まれてゐないと、バッファリストが viminfo ファイルから復元される。Quickfix (’buflisted’) と非リスト對象 (’buflisted’) 無名バッファおよびリムーバブルメディア上のバッファ (|viminfo-r|) は保存されない。

このフラグの後に續けて數値を書くと、保存されるバッファ數の最大値を指定することができる。數値が書かれてゐない場合、全てのバッファが保存される。

マークが復元されるファイル履歷の最大値。オプション ’viminfo’ が空でないときは、常にこれを設定しなければならない。また、このオプションを設定するとジャンプリスト |jumplist| と |changelist| も viminfo ファイルに蓄へられることになる。

/

保存される檢索パターンの履歷の最大値。非 0 の値を指定すると、前囘の檢索パターンと置換パターンも保存される。これが含まれないときは、’history’ の値が使はれる。

:

保存されるコマンドライン履歷の最大値。これが含まれないときは、’history’ の値が使はれる。

<

各レジスタで保存される行數の最大値。0 にすると、レジスタは保存されなくなる。’"’ はこのフラグの古い表記である。下記のフラグ ’s’ も參照: ’s’ は Kbyte 單位で最大値を指定する。

@

保存される input-line 履歷の最大値。これが含まれないときは、’history’ の値が使はれる。

c

これが含まれると、viminfo ファイル內のテキストを、書き込まれたときのエンコーディングから現在のエンコーディングに變換する。|viminfo-encoding| {譯注: および ’encoding’} を參照。

f

ファイルマークを保存するかどうか。0 を指定すると、ファイルマーク (’0 から ’9, ’A から ’Z) は保存されない。これが含まれなかつたり、値が非 0 のときは、みな保存される。’0 は (終了時やコマンド ":wviminfo" の實行時の) カーソル位置の保存に使はれる。

h

viminfo ファイルの讀み込み時に、’hlsearch’ を無效にする。含まれないときは、最後の檢索コマンド以來、コマンド ":nohlsearch" が使はれたかどうかによる。

n

viminfo の名前。名前は ’n’ のすぐ後に續けて指定する。オプションの最後に指定しなければならない!もしも ’viminfofile’ オプションが設定されてゐると、その (’viminfofile’ で設定された) 名前は、ここの ’viminfo’ で指定された名前を上書きする。環境變數はオプションの設定時ではなく、ファイルの讀み込み時に展開される。

r

リムーバブルメディア {譯注: USB メモリ、CD-ROM 等の取り外せる記憶裝置。この中身は取り替へてしまへば全く變はるので、ファイル履歷の意味がない} の指定。引數は文字列 (次の ’,’ まで) である。

これは複數個指定できる。それぞれがマーク履歷の對象外になるパスの先頭部を指定する。これはリムーバブルメディアを避けるためである。MS-DOS では "ra:,rb:", Amiga では "rdf0:,rdf1:,rdf2:" とするとよい。ここに一時ファイルを指定することもできる (Unix の例: "r/tmp")。大文字と小文字の區別はない。それぞれの ’r’ の引數の最大長は 50 文字である。

s

Kbyte 單位でのフラグの最大値。0のときレジスタは保存されない。現在のところこれはレジスタにのみ適用される。既定値の "s10" の狀態では、10Kbyte を超えるテキストを持つレジスタは除外される。上記のフラグ ’<’ も參照: ’<’ は行數で制限値を指定する。

例:

:set viminfo='50,<1000,s100,:0,n~/vim/viminfo
’50

最近編輯した 50 ファイル內のマークは保存される。

<1000

レジスタの中身 (それぞれ 1000 行まで) は保存される。

s100

100Kbyte を超えるテキストを持つレジスタは保存されない。

:0

コマンドラインの履歷は保存されない。

n~/vim/viminfo

使用するファイル名は "~/vim/viminfo" である。

’/’ がない

’/’ が指定されてゐないので、既定値が使はれる。つまり全ての檢索履歷や前囘の檢索パターン、置換パターンが保存される。

’%’ がない

バッファリストは、保存も復元もされない。

’h’ がない

hlsearch’ による强調表示は復元される。

viminfo’ を空の値から他の値へ變更するとき、|:rviminfo| を使ふと、そのファイルの中身を讀み込むことができる。これは自動的には行はれない。

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

Note:
このオプションは ’compatible’ がオフになると Vim の既定値に設定されるので注意。

’viminfofile’ ’vif’

文字列 (既定では "")
グローバル
{Vim が |+viminfo| 機能付きでコンパイルされたときのみ有效}

値が空でないとき、viminfo で使はれてゐるファイル名を上書きする。

"NONE" のとき、viminfo の讀み込みも書き込みもされない。

このオプションはコマンドラインの |-i| フラグで設定することができる。コマンドラインからの |--clean| フラグはこれを "NONE" に設定する。

セキュリティ上の理由から、このオプションを |modeline| または |sandbox| 內で設定することはできない。

’virtualedit’ ’ve’

文字列 (既定では "")
グローバル
{Vim が |+virtualedit| 機能付きでコンパイルされたときのみ有效}

値は、以下のキーワードのコンマ區切りのリストである:

block矩形ビジュアルモードで假想編輯を有效にする。
insert插入モードで假想編輯を有效にする。
all全てのモードで假想編輯を有效にする。
onemore行末の 1 文字先までカーソルを移動できるやうにする。

假想編輯とは、實際に文字がないところにもカーソルを置けるやうにすることである。つまりタブ文字の內部や行末より後ろにカーソルを移動できる。ビジュアルモードで長方形を選擇するときや、表を編輯するときに便利である。{譯注: フリーカーソルモードとも呼ばれる}

"onemore" は同じではない。"onemore" は單にカーソルを行の最後の文字の直後まで移動できるやうにするだけである。これによつていくつかのコマンドがより一貫性を持つやうになる。以前は、空行では常にカーソルは行末を越えてゐた。しかしこれは Vi 互換からはほど遠い。

これを設定すると動かなくなるプラグインや Vim script もあるかもしれない。例へば |l| でカーソルが最後の文字の後に移動できるためである。よく注意して使ふこと!

コマンド ‘$‘ はカーソルを行の最後の文字へ移動させる。最後の文字を越えはしない。そのため、‘$‘ によつてカーソルが左へ移動することもありえる!コマンド ‘g$‘ はスクリーン行の最後に移動するだらう。

"all" と "onemore" を同時に設定することは意味がないが、そのやうに設定しても警告は出ない。

Note:
このオプションは、’compatible’ がオンになると "" になるので注意。

’visualbell’ ’vb’

切替 (既定ではオフ)
グローバル

ビープ音に、實際は音でなくビジュアルベル {譯注: 畫面フラッシュ} を使ふ。ビジュアルベルに使はれるターミナルコードは、ターミナルオプション ’t_vb’ で指定される。音もフラッシュも使ひたくないならば、次のやうにすること {譯注: しかしエラーが分からなくなるといふ諸刃の劍}。

次のやうに使ふ:

:set vb t_vb=

短いフラッシュを望むのなら多くのターミナルでこれを使ふことができる:

:set vb t_vb=[?5h$<100>[?5l

ここで、$<100> は時閒を特定する。これを小さくまたは大きくすることで、フラッシュを速くしたり遲くしたりすることができる。

Note:
Vim はベルを 0.5 秒每に制限する。これは、例へばキーリピートのやうな多くのベルがあつた時に、フラッシュのためのフラッシュ待ちを囘避する。’visualbell’ が設定されてゐなくても生じることに注意。

GUI 版では、’t_vb’ の既定値は "<Esc>|f" であり、畫面の色を 20 ミリ秒だけ反轉させる。違つた時閒を設定したいときは、"<Esc>|40f" とすること。ここで 40 の所にはミリ秒單位で時閒を設定する。

Note:
GUI が開始するとき、’t_vb’ は既定値に設定されることに注意。|gvimrc| ファイルで再設定する必要があるだらう。

Amiga ではこのオプションは無效で、常に畫面フラッシュが使はれる。’errorbells’ も參照。

’warn’

切替 (既定ではオン)
グローバル

バッファが變更される閒にシェルコマンドが使はれたら、警告メッセージを表示する。

’weirdinvert’ ’wiv’

切替 (既定ではオフ)
グローバル

このオプションは termcap オプション ’t_xs’ と同じ效果を持つ。これは Vim version 4.x との後方互換性のためのものである。

このオプションをオンにすると、’t_xs’ が非 0 になる。またこのオプションをオフにすると、’t_xs’ が 0 になる。GUI 版では效果がない。

’whichwrap’ ’ww’

文字列 (Vim の既定値: "b,s"、Vi の既定値: "")
グローバル

カーソルを左右させるキーのうち、ここで指定したものでは、カーソルが行頭/末にあるときに前/次行に移動できるやうになる。以下のキーでこれを有效にするには、文字を連結すること {譯注: はて?以下の文字を値に加へろといふことか?}。

フラグキーモード
b<BS>ノーマルとビジュアル
s<Space>ノーマルとビジュアル
h"h"ノーマルとビジュアル (非推奬)
l"l"ノーマルとビジュアル (非推奬)
<<Left>ノーマルとビジュアル
><Right>ノーマルとビジュアル
~"~"ノーマル
[<Left>插入と置換
]<Right>插入と置換

例:

:set ww=<,>,[,]

かうすると、カーソルキーでのみ行末/頭の移動ができる。

移動キーが削除オペレータや變更オペレータと共に使はれたときは、<EOL> も文字に含まれる。このためカーソルが行末を通るときは、"3h" の動きと "3dh" の動きは異なる。これは "x" と "X" にも當てはまる。それは、それらのコマンドは "dl" と "dh" と同樣に働くからだ。これを使ふときは、バックスペースでカーソル前の文字を削除できるやうにするため、マッピング ":map <BS> X" を使ふとよい。

値に ’l’ が含まれてゐるとき、(空行ではない) 行末でオペレータの後に l を使ふと、カーソルが次行に移動しない。これによつて "dl", "cl", "yl" などが普通に動作する。

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’wildchar’ ’wc’

數値 (Vim の既定値: <Tab>、Vi の既定値: CTRL-E)
グローバル

コマンドラインで、オプション ’wildmode’ で指定したやうにワイルドカードを展開するために打ち込まなければならない文字。より詳しくは |cmdline-completion| を參照。

その文字はマクロ內では認識されない。それには ’wildcharm’ を參照。このオプションは數値オプションだが、次のやうに特殊キーも設定できる。

:set wc=<Esc>

Note:
このオプションは、’compatible’ がオンになると Vi の既定値に設定され、’compatible’ がオフになると Vim の既定値に設定されるので注意。

’wildcharm’ ’wcm’

數値 (既定では空 (0))
グローバル

このオプションはオプション ’wildchar’ と全く同樣に働くが、こちらはマクロ內でも認識される點が異なつてゐる。|ex-edit-index| を探せば、このオプションに適した「豫備」コマンドラインキーが見つかるだらう。普通、ユーザーが實際に ’wildcharm’ で指定されたキーを打ち込むことはない。自動的に補完モードを呼び出すマッピング內でのみ使ふこと。例へば次のやうにする。

:set wcm=<C-Z>
:cnoremap ss so $vim/sessions/*.vim<C-Z>

かうすると ":ss" と打ち込んだ後でコマンド CTRL-PCTRL-N が使へる。

’wildignore’ ’wig’

文字列 (既定では "")
グローバル
{Vim が |+wildignore| 機能付きでコンパイルされたときのみ有效}

ファイルパターンのリスト。パターンのどれかにマッチしたファイルは、ワイルドカード (|wildcards|) の展開時と、ファイル/ディレクトリ名の補完時に無視される。また、フラグを與へて無效化しない限り、|expand()|, |glob()|, |globpath()| の結果に影響する。

パターンは |:autocmd| と同樣のものである。|autocmd-patterns| を參照。オプション ’suffixes’ も參照。

例:

:set wildignore=*.o,*.obj

リストにパターンを追加するときにはコマンド |:set+=|、リストからパターンを除くときにはコマンド |:set-=| を使ふのがよい。かうすると將來のバージョンで異なつた既定値が使はれるやうになつたときに、問題が起きるのを防げる。

’wildignorecase’ ’wic’

切替 (既定ではオフ)
グローバル

オンのとき、ファイル名やディレクトリを補完するときに大文字と小文字が無視される。’fileignorecase’ が設定されてゐるときは效果は無い。ワイルドカードの展開にシェルが使用されるとき (特殊文字が含まれてゐるとき) はこのオプションは適用されない。

’wildmenu’ ’wmnu’

切替 (既定ではオフ、|defaults.vim| 內でオンに設定される)
グローバル
{Vim が |+wildmenu| 機能付きでコンパイルされたときのみ有效}

オンのとき、コマンドライン補完が擴張モードで行はれる。オプション ’wildchar’ で指定されたキー (普通 <Tab>) を打ち込むと補完を開始し、コマンドラインのすぐ上に可能性のあるマッチが表示され、最初のマッチが强調表示される (ステータス行があるときは、それを上書きする)。<Tab>CTRL-P/CTRL-N 等の前/次のマッチを表示するキーは、强調部分を適切なマッチに移動させる。

wildmode’ が有效なときは、"full" が指定されたところで "wildmenu" モードが使はれる。"longest" と "list" では "wildmenu" モードは開始されない。現在のモードは |wildmenumode()| で確認できる。 1 行に收め切れない程マッチがあるときは、{譯注: その後にマッチがあるなら} 文字 ">" が右端に表示され、{譯注: その前にマッチがあるなら} 文字 "<" が左端に表示される。ステータス行は必要に應じてスクロールする。

"wildmenu" モードは、補完候補の選擇に使はれないキーが打ち込まれた時點で終了する。"wildmenu" が使はれてゐるとき、以下のキーは特別な働きを持つ。

<Left> <Right>前/次のマッチを選擇 (CTRL-P/CTRL-N と同じ)
<Down>ファイル/メニュー名補完時: サブディレクトリ/メニューに移動する。
<CR>メニュー補完時、カーソルがドットの直後にあるとき: サブメニューに移動する。
<Up>ファイル/メニュー名補完時: 親ディレクトリ/メニューに移動する。

これにより、メニューがコンソールから扱へる |console-menus|。

<Left><Right> キーで、別のマッチに移動するのではなく、カーソルを移動させたいときは、次のやうにする。

:cnoremap <Left> <Space><BS><Left>
:cnoremap <Right> <Space><BS><Right>

現在のマッチの表示には、强調表示グループ "WildMenu" が使はれる |hl-WildMenu|。

’wildmode’ ’wim’

文字列 (Vim の既定値は "full")
グローバル

オプション ’wildchar’ で指定されたキーで開始する補完モード。値は、キーワードの 4 個までのコンマ區切りのリストである。それぞれのキーワードで、連續して ’wildchar’ を使つたときの動作を指定する。1 個目のキーワードが ’wildchar’ を 1 囘目に使つたときの動作を指定し、2 個目のキーワードが 2 囘目の動作を指定、等となる。

指定可能なキーワードは、以下の通りである:

""最初のマッチのみを補完する。
"full"次のマッチを完全に補完する。最後のマッチの次には元の文字列が使はれ、その次は再び最初のマッチが補完される。
"longest"共通する最長の文字列までが補完される。それ以上長い文字列を補完できないときは、次の候補に移る。
"longest:full""longest" と似てゐるが、’wildmenu’ が有效ならばそれを開始する。
"list"複數のマッチがあるときは、全てのマッチを羅列する。
"list:full"複數のマッチがあるときは、全てのマッチを羅列し、最初のマッチを補完する。
"list:longest"複數のマッチがあるときは、全てのマッチを羅列し、共通する最長の文字列までが補完される。
"list:lastused"複數バッファのマッチがあるときは、最終更新時刻によつて (現在のバッファ以外の) バッファをソートします。

マッチが 1 個しかないときは、どの場合でも完全に補完される。

例:

:set wildmode=full

最初のマッチ、次のマッチ...を完全に補完する (既定値)

:set wildmode=longest,full

共通する最長の文字列を補完し、次からマッチを完全に補完する

:set wildmode=list:full

全てのマッチを羅列し、そして最初のマッチを完全に補完する

:set wildmode=list,full

補完せずに全てのマッチを羅列し、次からマッチを完全に補完する

:set wildmode=longest,list

共通する最長の文字列を補完し、次から他の候補を羅列するより詳しくは |cmdline-completion| を參照。

’wildoptions’ ’wop’

文字列 (既定では "")
グローバル
{Vim が |+wildignore| 機能付きでコンパイルされたときのみ有效}

コマンドライン補完の擧動を變へる單語のリスト。現在のところ 1 つの單語だけが設定できる:

tagfile

CTRL-D でマッチするタグを一覽表示するとき、タグの種類とそのタグのファイル名が表示される。1 行につき 1 つのマッチが表示される。よく使はれるタグの種類は次の通り:

d#define マクロ
f函數

|cmdline-completion| も參照。

’winaltkeys’ ’wak’

文字列 (既定では "menu")
グローバル
{Vim の Win32 版、Motif 版、GTK 版、Photon GUI 版でのみ有效}

GUI 版では、メニュー內で下線付きで表示されてゐる文字と ALT キーを組み合はせて使ふことで、メニューの項目にアクセスできるものがある。これはマッピングや特殊な文字の入力に ALT キーを使ふことと衝突する。このオプションは、そのときの動作を指定する:

noALT キーをメニューに使はない。ALT キーを使つた組み合はせはマッピングに使へるが、自動的にメニューの操作に使はれることはない。このときメニューの操作は、コマンド |:simalt| で可能である。
yesALT キーの扱ひはウィンドウシステムに任される。ALT キーとのキーの組み合はせは、マッピングには使へない。
menuメニューのショートカットキーになつてゐる文字と組み合はせて ALT キーを使ふとウィンドウシステムが扱ふが、他のキーはマッピングに使へる。

オプション ’guioptions’ からフラグ ’m’ が取り除かれ、メニューが無效になつてゐると、ALT キーはメニューには全く使はれない。

このオプションは <F10> には適用されない; Win32 版と GTK 版では、マッピングされてゐない限り <F10> を押すとメニューが選擇される。

’wincolor’ ’wcr’

ウィンドウについてローカル

通常の色 |hl-Normal| の代はりにこのウィンドウに使用するハイライトグループ名。

’window’ ’wi’

數値 (既定では: 畫面の高さ - 1)
グローバル

ウィンドウの高さ。Vim ウィンドウの高さと混同しないこと。そちらには ’lines’ を使ふ。

ウィンドウが 1 つだけで、このオプションの値が ’lines’ - 1 より小さいとき、|CTRL-F| と |CTRL-B| でスクロールする行數に影響する。’window’ - 2 行 (ただし最小値は 1 行) だけ畫面がスクロールする。

window’ が ’lines’ - 1 に等しいとき、CTRL-FCTRL-B は折り返された行を考慮したより賢い方法でスクロールする。

Vim ウィンドウをリサイズするとき、このオプションの値が 1 より小さいか ’lines’ 以上ならば ’lines’ - 1 に設定される。

’winheight’ ’wh’

數値 (既定では 1)
グローバル

カレントウィンドウの行數の最小値。これは絕對的な最小値ではなく、餘裕のないときには行數はこれよりも少なくなる。この指定より小さいウィンドウにフォーカスが移動すると、他のウィンドウの行數を減らしてそのウィンドウを大きくする。

通常の編輯時には ’winheight’ を小さい値にしておくこと。 値を 999 にすると、常にカレントウィンドウが畫面のほとんどを占め、ほかのウィンドウは ’winminheight’ の高さになる。(ただしかうすると ":all" を使つたときウィンドウが 2 つしか作られないといふ難點もある)。

"vim -o 1 2 3 4" としたとき 2 個のウィンドウしか作られないのを避けるには、イベント |VimEnter| を使つて、スタートアップが行はれた後にこのオプションを設定すればよい:

au VimEnter * set winheight=999

最小値は 1。

カレントウィンドウの高さを變更するコマンドの後では、ウィンドウの高さは調整されない。’winheight’ はカレントウィンドウに適用される。他のウィンドウの高さの最小値の設定には、’winminheight’ を使ふこと。

’winfixheight’ ’wfh’

切替 (既定ではオフ)
ウィンドウについてローカル

equalalways’ をオンにしてウィンドウを開閉したとき、ウィンドウの高さを保つ。|CTRL-W_=| に對しても同樣。|preview-window| と |quickfix-window| に對してはデフォルトでオンになる。

これをオンにしてゐても、利用できる高さが不足してゐる場合には高さが變はる。

’winfixwidth’ ’wfw’

切替 (既定ではオフ)
ウィンドウについてローカル

equalalways’ がオンになつてゐてウィンドウを開閉したとき、ウィンドウの幅を保つ。|CTRL-W_=| に對しても同樣。

これをオンにしてゐても、利用できる幅が不足してゐる場合には幅が變はる。

’winminheight’ ’wmh’

數値 (既定では 1)
グローバル

カレントウィンドウではないウィンドウの高さの最小値。これは絕對的な最小値であり、ウィンドウは決してこれより低くはならない。

0 に設定すると、ウィンドウは必要に應じて高さゼロに「潰される」 (つまり、ステータス行のみになる)。ウィンドウがアクティブになると、高さは最低 1 行にはなる (カーソルの居場所が必要なため)。

カレントウィンドウの高さの最小値の設定には、’winheight’ を使ふこと。このオプションの效果があるのは、ウィンドウを小さくするときだけである。大きな値を使はないこと。さうするとウィンドウを幾つも開いたときにエラーになる。値は 0 から 3 までが適當である。

’winminwidth’ ’wmw’

數値 (既定では 1)
グローバル

カレントウィンドウではないウィンドウの幅の最小値。これは絕對的な最小値であり、ウィンドウは決してこれより狹くはならない。

0 に設定すると、ウィンドウは必要に應じて幅ゼロに「潰される」 (つまり、垂直分割の區切りのみになる)。ウィンドウがアクティブになると、幅は最低 1 列にはなる (カーソルの居場所が必要なため)。

カレントウィンドウの幅の最小値の設定には、’winwidth’ を使ふこと。このオプションの效果があるのは、ウィンドウを小さくするときだけである。大きな値を使はないこと。さうするとウィンドウを幾つも開いたときにエラーになる。値は 0 から 12 までが適當である。

’winptydll’

文字列 (既定では "winpty32.dll" または "winpty64.dll")
グローバル
{Vim が MS-Windows 上で |terminal| 機能付きでコンパイルされたときのみ有效}

|:terminal| コマンドで使はれる winpty 共有ライブラリの名前を指定する。デフォルトは 32-bit 用もしくは 64-bit 用向けにビルドされてゐるかどうかに依存する。もしも見つからなければ、"winpty.dll" にフォールバックしようとする。

環境變數は |:set_env| で展開される。

このオプションはセキュリティ上の理由により、モードライン |modeline| やサンドボックス |sandbox| から設定することはできない。

’winwidth’ ’wiw’

數値 (既定では 20)
グローバル

カレントウィンドウの列數の最小値。これは絕對的な最小値ではなく、餘裕のないときには列數はこれよりも少なくなる。カレントウィンドウの列數が指定したものより少ないときは、他のウィンドウの列數を減らしてそれを增やす。

カレントウィンドウが常に畫面を埋めるやうにするには、999 に設定すること。普通の編輯時には小さい値に設定すること。カレントウィンドウの幅を變更するコマンドの後では、ウィンドウの幅は調整されない。

winwidth’ はカレントウィンドウに適用される。他のウィンドウの幅の最小値の設定には、’winminwidth’ を使ふこと。

’wrap’

切替 (既定ではオン)
ウィンドウについてローカル

このオプションは、テキストの表示方法を變へる。これはバッファ內のテキストには變更を與へない。それについてはオプション ’textwidth’ を參照。

オンのときは、ウィンドウの幅より長い行は折り返され、次の行に續けて表示される。オフのときは、折り返しは行はれず、長い行は一部のみが表示される。カーソルが表示されてゐない部分に移動すると、畫面は水平スクロールする。

行の分割は、必要であれば單語の中ででも行はれる。折り返しを單語の境界で行ふには、’linebreak’ を參照。

水平スクロールをもつと便利にするには、次のやうにしてみるとよい。

:set sidescroll=5
:set listchars+=precedes:<,extends:>

sidescroll’, ’listchars’ や |wrap-off| を參照。

オプション ’diff’ がオンの場合、モードライン |modeline| からこのオプションを設定することはできない。

’wrapmargin’ ’wm’

數値 (既定では 0)
バッファについてローカル

ウィンドウの右端からこの文字數だけ離れたところで折り返しが始まる。この境界を超えてテキストを入力すると、<EOL> が插入され、插入は次行に續く。

number’ や ’foldcolumn’ など幅をとるオプションを使用してゐると、テキストの幅がこの値より少なくなる。これはVi互換の動作である。

オプション ’textwidth’ が非 0 のときは、このオプションは使はれない。このオプションは ’paste’ オプションがオンになつた時には 0 が設定され、’paste’ オプションがリセットされた際には復元される。

formatoptions’ と |ins-textwidth| も參照。

’wrapscan’ ’ws’

切替 (既定ではオン)
グローバル

檢索がファイル末尾まで進んだら、ファイル先頭から再び檢索する。スペリングミスを檢索する |]s| と |[s| にも適用される。

’write’

切替 (既定ではオン)
グローバル

ファイルの書き込みを有效にする。オフのときは、書き込みができない。讀込專用モードに使へる。ただしファイルの編輯は可能である。コマンドライン引數 |-m| や |-M| を使つてオフに設定できる。テキストをフィルタにかけることも可能であり、一時ファイルの書き込みも可能である。

’writeany’ ’wa’

切替 (既定ではオフ)
グローバル

いかなるファイルも "!" なしに書き込みができる。

’writebackup’ ’wb’

切替 (|+writebackup| 機能付きでコンパイルされたなら既定値はオン、さうでないなら既定値はオフ)
グローバル

ファイルの上書きの前にバックアップを作る。オプション ’backup’ がオンでない限り、バックアップは上書きに成功した後削除される。

警告:
このオプションをオフにするといふことは、すなはち、何らかの理由で Vim がバッファを正しく保存できなかつたときに、そのまま Vim を終了してしまふと、あなたは元のファイルと新しく書いた內容の兩方を失ふといふことを意味する。例へばファイルシステムが一杯で書き込みができないやうな場合のみこのオプションをオフにすること (そして、保存が成功するまで Vim を終了してはならない)。

他の說明は |backup-table| を參照。

backupskip’ のパターンがマッチしたら、バックアップは作られない。

Note:
このオプションは、’compatible’ がオンのときは既定値になるので注意。

’writedelay’ ’wd’

數値 (既定では 0)
グローバル

打ち込まれた文字が畫面に送られるまでの遲延時閒を、ミリ秒單位で指定する。非 0 のときは、文字は畫面に 1 つ 1 つ送られる。MS-DOS の pcterm では動作しない。これはデバッグ用のオプションである。


Up: 目次   [Index]