Merge branch 'MacVim'
[MacVim/KaoriYa.git] / runtime / doc / options.jax
blob2b5ac3ea62324605d01bca7064cfaffe7f8a514d
1 *options.txt*   For Vim バージョン 7.2.  Last change: 2009 Nov 09
4                   VIM REFERENCE MANUAL    by Bram Moolenaar
7 オプション                                           *options*
9 1. オプションの設定                     |set-option|
10 2. オプションの自動設定                   |auto-setting|
11 3. オプションの要約                     |option-summary|
13 オプションの概要については、help.txt |option-list| を参照。
15 Vimには、特別な働きをさせるための多くの内部変数とスイッチがある。それらのオプ
16 ションには3種類ある。
17                                                         *boolean* *toggle*
18         切替 boolean オプション                オンかオフかのどちらかの値をとる
19         数値 number オプション         数値の値を取る
20         文字列 string オプション        文字列の値を取る
22 (訳注: このヘルプの中で多く出てくる語句で、分かりにくいものを説明する。
24 - ローカルな:
25         あるバッファまたはウィンドウにのみ適用されるような、という意味。
26 - ローカルオプション:
27         あるバッファまたはウィンドウ内の設定のみを変え、その他のバッファまたは
28         ウィンドウの設定に影響しないようなオプション。
29 - ウィンドウについてローカルな:
30         あるウィンドウにのみ適用されるような、という意味。バッファについてロー
31         カルな、も同様な意味を持つ。
32 - グローバルな:
33         Vim全体に適用されるような、または、Vim全体で共通の値を使うような、とい
34         う意味。
35 上の4項目については |option-summary| も参照。
36 - non-printable, unprintable:
37         文字が画面に表示可能なフォントに対応していないこと。具体的には <CTRL>
38         などを押しながら入力した文字や <ESC> が例である。主に制御に利用される。
40 訳語で、さらに相応しいものがあればご提案を下さい。)
41 ==============================================================================
42 1. オプションの設定                                     *set-option* *E764*
44                                                         *:se* *:set*
45 :se[t]                  既定値と違う値のオプションを全て表示する。
47 :se[t] all              ターミナルオプション以外の全てのオプションを表示する。
49 :se[t] termcap          ターミナルオプションを全て表示する。Note GUIバージョン
50                         では、キーコードは表示されないので注意。なぜなら、キー
51                         コードは内部的に生成され、変更が不可能だからだ。それに、
52                         GUIバージョンでターミナルコードを変更するのは便利とは
53                         言えない...
55                                                                 *E518* *E519*
56 :se[t] {option}?        {option} の値を表示する。
58 :se[t] {option}         切替オプション: セット、すなわちオンに切り替える。
59                         数値オプション: 値を表示する。
60                         文字列オプション: 値を表示する。
62 :se[t] no{option}       切替オプション: リセット、すなわちオフに切り替える。
64 :se[t] {option}!   または
65 :se[t] inv{option}      切替オプション: オンとオフを切り替える。 {Vi にはない}
67                                 *:set-default* *:set-&* *:set-&vi* *:set-&vim*
68 :se[t] {option}&        オプションを既定値に設定する。オプション 'compatible'
69                         のその時点の値によって違うかもしれない。 {Vi にはない}
70 :se[t] {option}&vi      オプションをViの既定値に設定する。 {Vi にはない}
71 :se[t] {option}&vim     オプションをVimの既定値に設定する。 {Vi にはない}
73 :se[t] all&             ターミナルオプション以外の全てのオプションを既定値に設
74                         定する。オプション 'term', 'lines' と 'columns' の値は
75                         変更されない。 {Vi にはない}
77                                                 *:set-args* *E487* *E521*
78 :se[t] {option}={value}         または
79 :se[t] {option}:{value}
80                         数値および文字列オプションの値を {value} に設定する。
81                         数値オプションの値は、10進数、(0x を頭に付けて) 16進数、
82                         または ('0' を頭に付けて) 8進数で指定できる (16進数と8
83                         進数は、関数 strtol() を持つマシンでのみ利用可能)。
84                         オプション 'wildchar' で指定された文字 (既定では
85                         <Tab>、オプション 'compatible' がオンにならば CTRL-E)
86                         を打ち込むと、古い値を挿入できる。|cmdline-completion|
87                         を参照。
88                         {option} と '=' の間には空白を入れることができる。それ
89                         らは無視される。'=' と {value} の間に空白を入れてはい
90                         けない。
91                         {value} 内での空白や '\' の使用に関しては、
92                         |option-backslash| を参照 (訳注: 文書先頭も参照)。
94 :se[t] {option}+={value}                                *:set+=*
95                         数値オプションに対しては {value} だけその値を増す。文
96                         字列オプションに対しては後ろに {value} を追加する。オ
97                         プションがコンマ区切りのリストのときは、値が空でない限
98                         り、元の値と {value} の間にコンマが付け加えられる。
99                         オプションがフラグのリストであるときは、冗長なフラグは
100                         取り除かれる。すでに入っているフラグを加えようとしたと
101                         きは、そのオプションの値は変わらない。
102 <                       上の |:set-args| も参照。
103                         {Vi にはない}
105 :se[t] {option}^={value}                                *:set^=*
106                         数値オプションに対してはその値を {value} 倍する。文字
107                         列オプションに対しては前に {value} を追加する。オプショ
108                         ンがコンマ区切りのリストのときは、{value} と元の値の間
109                         にコンマが付け加えられる。
110                         上の |:set-args| も参照。
111                         {Vi にはない}
113 :se[t] {option}-={value}                                *:set-=*
114                         数値オプションに対しては {value} だけその値を減らす。
115                         文字列オプションに対しては {value} を (それが含まれて
116                         いたら) 取り除く。
117                         そのとき {value} が含まれていな
118                         くても、警告やエラーは出ない。オプションがコンマ区切り
119                         のリストであり、取り除くオプションが唯一の値でない限り、
120                         間のコンマも削除される。
121                         オプションがフラグのリストであるときは、{value} は値の
122                         中に現れるままに、正確に指定しなければならない。問題
123                         が起こるのを避けるために、フラグを取り除くときは1個ず
124                         つ指定すること。
125                         上の |:set-args| も参照。
126                         {Vi にはない}
128 1回のコマンド ":set" に対し、複数の {option} を引数に指定できる。例: >
129         :set ai nosi sw=3 ts=3
130 引数の中にエラーがあると、エラーメッセージが現れ、エラーの元になったオプション
131 以降は無視される。
133                                                         *:set-verbose*
134 オプション 'verbose' の値が非0 なら、オプションの値を表示するとき、同時に、そ
135 のオプションが最後に設定されたのはどこであったかも分かる。例: >
136         :verbose set shiftwidth cindent?
137           shiftwidth=4 ~
138                   Last set from modeline ~
139           cindent |
140                   Last set from /usr/local/share/vim/vim60/ftplugin/c.vim
141 これは特定のオプション名が指定されたときのみ機能する。コマンド ":set all" や、
142 引数のないコマンド ":verbose" ではメッセージが現れない。
143 オプションが手動で設定されていると、メッセージ "Last set" は現れない。
144 オプションが関数やユーザコマンド、オートコマンド autocommand の実行中に設定さ
145 れたときは、それらが定義されているスクリプト名が報告される。
146 Note 'compatible'を設定すると副作用として他のオプションも設定されることがある。
147 以下のような特殊なメッセージがある:
148         Last set from modeline ~
149                 モードライン |modeline| の中でオプションが設定された。
150         Last set from --cmd argument ~
151                 コマンドライン引数 |--cmd| または + によりオプションが設定され
152                 た。
153         Last set from -c argument ~
154                 コマンドライン引数 |-c|, +, |-S|, |-q| によりオプションが設定
155                 された。
156         Last set from environment variable ~
157                 環境変数、$VIMINIT、$GVIMINIT、$EXINIT によりオプションが設定
158                 された。
159         Last set from error handler ~
160                 オプションを評価中にエラーが発生し、クリアされた。
162 {Vi mが |+eval| 機能付きでコンパイルされたときのみ有効}
164                                                         *:set-termcap* *E522*
165 Termcap オプションを設定するには、{option} に "t_xx" の形式を使ってもよい。こ
166 れは termcap による値を上書きする。これはマッピングの中で利用することもできる。
167 "xx" の部分が特別な文字を含むときは、<t_xx> の形式を使うこと: >
168         :set <t_#4>=^[Ot
169 これは特殊なコードを普通のキーに変換する際にも使われる。例えば Alt-b が <Esc>b
170 を出力するなら、次のようにすること。 >
171         :set <M-b>=^[b
172 (ここで ^[ は本物の <Esc> である。入力には CTRL-V <Esc> を使うこと)
173 マッピングの利点は、どんなときにも機能することである。
175 t_xxの形のオプションは安全上の理由により、モードライン|modeline|やサンドボック
176 ス|sandbox|では設定できない。
178 コマンド ":set" によるリスト表示の外見は、Viとは違う。長い文字列オプションはリ
179 ストの終わりに現れる。オプションの数も極めて多い。コマンド "set all" による表
180 示は、画面に収まらないだろう。そうしたとき、Vimは「継続」プロンプト
181 |more-prompt| を出す。
183                                                         *option-backslash*
184 文字列オプションの値に空白を含めるには、空白の前に '\' を置く必要がある。値に
185 '\' を含めるには、2個繰り返す。結果的には、オプションの値の中の '\' の数は半分
186 になる (端数は切り捨て)。
187 例をいくつか挙げる。 >
188         :set tags=tags\ /usr/tags       の結果は "tags /usr/tags"
189         :set tags=tags\\,file           の結果は "tags\,file"
190         :set tags=tags\\\ file          の結果は "tags\ file"
192 文字 "|" によって、コマンド ":set" を後に続くコマンドと分けることができる。文
193 字列オプションの値に "|" を含めるには、代わりに "\|" を使うこと。次の例ではオ
194 プション 'titlestring' の値を "hi|there" に設定している。 >
195         :set titlestring=hi\|there
196 しかし次の例では、2個のオプション 'titlestring', 'iconstring' をそれぞれ "hi",
197 "there" に設定している。 >
198         :set titlestring=hi|set iconstring=there
200 また、ダブルクォート文字はコメントを開始する。オプションの値に'"'を含めるには
201 '\"'と書くこと。次の例は'titlestring'を'hi "there"'に設定する: >
202    :set titlestring=hi\ \"there\"
204 MS-DOSとWin32では、ファイル名の中の '\' は大抵は取り除かれない。正確に言うと、
205 値にファイル名を取るオプション (環境変数が展開されるもの) では、通常のファイル
206 名に使われる文字の前の '\' は取り除かれない。しかし、特別な文字 (空白、'\' そ
207 のもの、コンマ等) の前の '\' は、上で説明した通りの働きをする。
208 オプションの値が "\\" で始まるときは、特別な状態になる。 >
209         :set dir=\\マシン名\パス      の結果は "\\マシン名\パス"
210         :set dir=\\\\マシン名\\パス   の結果は "\\マシン名\パス"
211         :set dir=\\パス\\ファイル     の結果は "\\パス\ファイル" (間違い!)
212 最初の例では、始まりの部分の '\' はそのまま保たれている。しかし2番目の例では、
213 '\' の数は半分になっている。つまり、'\' をそのまま保ちたいときでも、半分にした
214 いときでも、どちらがよいか指定できることが分かる。3番目の結果は、おそらく希望
215 通りのものではないだろう。このやり方は避けること。
217                                 *add-option-flags* *remove-option-flags*
218                                 *E539* *E550* *E551* *E552*
219 値がフラグのリストからなるオプションもある。そういったオプションにフラグを追加
220 したいとき、既存の値を変更したくないならば、こうすること。 >
221         :set guioptions+=a
222 オプションからフラグを取り除くには、こうすること。 >
223         :set guioptions-=a
224 これはオプション 'guioptions' からフラグ 'a' を取り除く。
225 Note フラグは1個ずつ追加したり取り除いたりするよう注意。オプション
226 'guioptions' が "ab" という値であるとき、"set guioptions-=ba" は機能しない。な
227 ぜなら、"ba" という文字列は現れていないからである。
229                            *:set_env* *expand-env* *expand-environment-var*
230 特定の文字列オプションでは環境変数が展開される。'$' とそれに続く環境変数名
231 が、その値に置き換えられる (その環境変数が存在するとき)。環境変数が存在しない
232 とき、'$' とそれに続く変数名は変更を受けない。識別子に使えない non-id 文字 (英
233 字、数字、'_' 以外) なら、どれでも環境変数名の後に続けることができる。識別子に
234 使えない文字とそれに続く文字は、環境変数の値の後ろにそのまま追加される。例: >
235         :set term=$TERM.new
236         :set path=/usr/$INCLUDE,$HOME/include,.
237 コマンド ":set opt-=値" でオプションから文字列を取り除いたり、コマンド ":set
238 opt+=値" でオプションに文字列を追加したりするときには、環境変数の展開が行われ
239 てからそうした操作がなされる。
242 ローカル変数の扱い                               *local-options*
244 いくつかのオプションは、1つのウィンドウや1つのバッファのみに適用される。それぞ
245 れのウィンドウやバッファは、そうしたオプションの独自のコピーを保持しているため、
246 独自の値を持つことができる。これにより、あるウィンドウ内では 'list' オプション
247 をオンにするが、他のウィンドウではオフにする、ということが可能になる。またオプ
248 ション 'shiftwidth' を、あるバッファ内では 3 にし、他では 4 にすることもできる。
250 以降では、特定の状況下でそれらのローカルオプションがどうなるかを説明する。実際
251 には、それらを全て知る必要はない。なぜなら、Vimはおそらくユーザが予想する通り
252 にオプションの値を使うからである。残念ながら、ユーザの予想通りに働くのは、いく
253 らか複雑なことである...
255 ウィンドウを分割すると、ローカルオプションは新しいウィンドウにコピーされて引き
256 継がれる。そのため、ウィンドウを分割した直後には、2つのウィンドウの内容は同じ
257 ように見える。
259 新しいバッファを編集するとき、そのバッファのローカルオプションは初期化されなけ
260 ればならない。その以前のカレントバッファのローカルオプションは、そのバッファの
261 みに適用すべきものかもしれないので、新しいバッファには適用されない。その代わり、
262 バッファについてローカルなオプションにはそれぞれグローバルな値があり、新しいバッ
263 ファにはそれが適用される。コマンド ":set" によって、ローカルな値とグローバルな
264 値の両方が変更される。コマンド "setlocal" はローカルな値のみを変更するので、そ
265 れで指定した値は新しいバッファには適用されない。
267 すでに編集されているバッファを編集するときは、最後に使われたウィンドウ内のロー
268 カルオプションが再び使われる。このバッファがこのウィンドウ内ですでに編集されて
269 いたなら、そのときの値が再び用いられる。そうでなければ、そのバッファが最後に編
270 集されたウィンドウ内の値が用いられる。
272 特定のバッファの種類についてウィンドウ内のローカルオプションを設定することも可
273 能である。同じウィンドウ内で別のバッファを編集するときは、ウィンドウについてロー
274 カルなオプションを使い続けたくはないだろう。そのためVimはウィンドウについてロー
275 カルなオプションのグローバルな値を記憶しており、別のバッファの編集時にはそれを
276 用いる。ウィンドウはそれぞれ、それらの値の独自のコピーを持っている。そのため、
277 それらのオプションはウィンドウについてはローカルであるが、そのウィンドウ内の全
278 てのバッファについてグローバルである。それらを用いて、次のようなことが可能であ
279 る。 >
280         :e 一つ目
281         :set list
282         :e 二つ目
283 こうするとオプション 'list' はバッファ "二つ目" にも適用される。コマンド
284 ":set list" により、グローバルな値もオンになったからである。 >
285         :set nolist
286         :e 一つ目
287         :setlocal list
288         :e 二つ目
289 今度はバッファ "二つ目" ではオプション 'list' はオフである。なぜならコマンド
290 ":set nolist" がグローバルな値をオフにしたが、コマンド ":setlocal list" はバッ
291 ファ "一つ目" についてローカルな値をオンにしただけで、":e 二つ目" ではグローバ
292 ルな値が適用されるからである。 Note 次にこうすると >
293         :e 一つ目
294 最後にバッファ "一つ目" を編集したときの通りにオプション 'list' の値が戻るわけで
295 はないので注意。ウィンドウについてローカルなオプションは、バッファそれぞれに対
296 して復元されるわけではないからである。
298                                                         *:setl* *:setlocal*
299 :setl[ocal] ...         コマンド ":set" と似ているが、カレントバッファ/ウィン
300                         ドウについてローカルな値のみを設定する。全てのオプショ
301                         ンがローカルな値を持つわけではない。オプションがローカ
302                         ルな値を持たないときは、グローバルな値が設定される。
303                         引数が "all" のとき: 全てのローカルオプションのローカ
304                         ルな値を表示する。
305                         引数がないとき: 全てのローカルオプションのローカルな値
306                         で、既定値と異なるものを表示する。
307                         特定のローカルオプションを表示するときは、ローカルな値
308                         も表示する。グローバルまたはローカルな切替オプションに
309                         対しては、グローバルな値が表示される場合には、オプショ
310                         ン名の前に "--" が表示される。
311                         グローバルオプションに対しては、グローバルな値が表示さ
312                         れる (しかし、これは将来変更されるかもしれない)。
314                         {Vi にはない}
316 :setl[ocal] {option}<   値をコピーすることによって{option}のローカルな値をグロ
317                         ーバルな値と同じにする。{Vi にはない}
319 :se[t] {option}<        ローカルな値を空にすることによって{option}のローカルな
320                         値をグローバルな値と同じにする。|global-local|のオプショ
321                         ンに対してだけ意味がある。{Vi にはない}
323                                                         *:setg* *:setglobal*
324 :setg[lobal] ...        コマンド ":set" と似ているが、ローカルオプションのグロー
325                         バルな値のみを設定し、ローカルな値は変更しない。
326                         オプションの値を表示するときは、グローバルな値が表示さ
327                         れる。
328                         引数が "all" のとき: 全てのローカルオプションのグロー
329                         バルな値を表示する。
330                         引数がないとき: 全てのローカルオプションのグローバルな
331                         値で、既定値と異なるものを表示する。
332                         {Vi にはない}
334 バッファ/ウィンドウについてローカルなオプションに対して:
335         コマンド        グローバルな値     ローカルな値 ~
336       :set オプション=値    設定される             設定される
337  :setlocal オプション=値    なし                設定される
338 :setglobal オプション=値    設定される             なし
339       :set オプション?           なし          表示される
340  :setlocal オプション?           なし          表示される
341 :setglobal オプション?           表示される               なし
344 ローカルな値を持つグローバルオプション                     *global-local*
346 オプションがグローバルであるというのは、一つの値を全てのバッファとウィンドウに
347 用いるような場合である。いくつかのグローバルオプションでは、ローカルな別の値を
348 持てると便利である。ローカルな値は、コマンド ":setlocal" で設定できる。すると
349 コマンド":setlocal" を実行したバッファとウィンドウではローカルな値が用いられる
350 が、他のバッファでは引き続きグローバルな値が用いられる。
352 例えば、あなたは2つのウィンドウを開き、両方でC言語のソースファイルを編集してい
353 るとする。グローバルなオプション 'makeprg' は両方に適用される。そこでウィンド
354 ウの片方で >
355         :set makeprg=gmake
356 とすると、別のウィンドウでも同じ値が用いられる。別のウィンドウに移って
357 オプション 'makeprg' を設定する必要はない。
358 しかし、新しいウィンドウでPerlのソースファイルの編集を始めると、'makeprg' に別
359 の値を設定したくなる。しかしCソースに適用された値を変えたくはない。そんなとき
360 には次のようにする。 >
361         :setlocal makeprg=perlmake
362 次のようにローカルな値を空にすると、グローバルな値に戻る。 >
363         :setlocal makeprg=
364 ただし、この方法は文字列オプションにしか使えない。切替オプションには、次のよう
365 に "<" フラグを使う必要がある。 >
366         :setlocal autoread<
367 Note: 非切替オプションの変更で "<" を使うと、グローバルな値がローカルな値にコ
368 ピーされるが、それはグローバルな値を使うようにするのとは少し違うことに注意 (こ
369 れは後でグローバルな値が変更されたときに問題になる。--訳注: グローバルな値が変
370 更されても、"<" でコピーした値までは変更されない。あくまでもローカルな値だか
371 ら)。次を使うこともできる: >
372         :set path<
373 これは 'path'のローカルな値を空にし、グローバルな値が使われるようにする。すな
374 わち、次と同じことをする: >
375         :setlocal path=
376 Note: 将来、値にグローバルとローカルの区別のあるオプションが増えたら、グローバ
377 ルオプションにコマンド ":setlocal" を使ったときの結果が変わるかもしれない。
380 ファイルタイプの設定
382 :setf[iletype] {filetype}                       *:setf* *:setfiletype*
383                         {filetype} に対してオプション 'filetype' を設定する。
384                         ただし autocommand の中 (入れ子になっているときは、外
385                         側も含めて) でまだ実行されていないときのみ有効である。
386                         これは以下のコマンドの略である。 >
387                                 :if !did_filetype()
388                                 :  setlocal filetype={filetype}
389                                 :endif
390 <                       このコマンドは filetype.vim の中で使われ、オプション
391                         'filetype' が2度設定されて別の設定や構文ファイルが読み
392                         込まれることがないようにしている。
393                         {Vi にはない}
395 :bro[wse] se[t]                 *:set-browse* *:browse-set* *:opt* *:options*
396 :opt[ions]              全てのオプションを表示したり設定するためのウィンドウを
397                         開く。
398                         オプションは機能ごとにまとめられている。
399                         ここではオプションの短い説明が読める。その上で <CR> を
400                         打ち込むと、そのオプションについてのヘルプウィンドウが
401                         開き、詳しい説明が読める。
402                         表示されている値を修正した後に "set" 行の上で <CR> を
403                         打ち込むと、新しい値を設定できる。ウィンドウやバッファ
404                         固有のオプションについては、変更した値は最後に使用した
405                         ウィンドウに適用される。そのウィンドウがヘルプウィンド
406                         ウだったときは、変更した値はヘルプウィンドウの (オプショ
407                         ンウィンドウを抜かして) 1つ下のウィンドウに適用される。
408                         {Vi mが |+eval| 機能と |+autocmd| 機能付きでコンパイル
409                         されたときのみ有効}
411                                                                 *$HOME*
412 "~" は "$HOME" と同様に扱われるが、こちらは値の先頭にあるか、空白かコンマの後
413 にあるときのみ認識される。
415 Unix系のシステムでは "~正和" も使える。これは "正和" というユーザのホームディ
416 レクトリに置き換えられる。例: >
417     :set path=~mool/include,/usr/include,.
419 Unix系のシステムでは "${HOME}" という形式も使える。ここで {} の間には識別子に
420 使えない文字 (訳注: 上を参照) が入ってもよい。 Note これをコマンド "gf" のため
421 に使いたいなら、文字 '{' と '}' をオプション 'isfname' に追加する必要がある。
423 NOTE: 環境変数と"~/"の展開はコマンド":set"のときのみ行われる。":let"でオプショ
424 ンに値を代入するときは展開されない。
426 Note 展開されるオプションの値の長さ制限に注意。システムごとに異なるが、大抵は
427 256文字や1024文字等の長さである (訳注: これは半角の場合で、全角では半分)。
429                                                         *:fix* *:fixdel*
430 :fix[del]               ターミナルオプション 't_kD' (訳注: デリートキー) の値
431                         を設定する。
432                           't_kb' が      のとき     't_kD' は        ~
433                             CTRL-?                CTRL-H
434                             CTRL-?以外              CTRL-?
436                         (CTRL-? は8進数で 0177、16進数で 0x7f) {Vi にはない}
438                         ターミナルのデリートキーのキーコードが違っているが、バッ
439                         クスペースのキーコードは正しいときは、次のコマンドをファ
440                         イル .vimrc に加えればよい。 >
441                                 :fixdel
442 <                       これはバックスペースのキーコードが実際に何であっても有
443                         効である。
445                         バックスペースのキーコードが違っていたら、以下のように
446                         する。 >
447                                 :if &term == "termname"
448                                 :  set t_kb=^V<BS>
449                                 :  fixdel
450                                 :endif
451 <                       ここで "^V" は CTRL-V 、 "<BS>" はバックスペースを表す
452                         (実際に「^」「V」などのキーを押さないこと)。"termname"
453                         にはユーザの使うターミナル名を当てはめる。
455                         <Delete> キーが奇妙なキーコード列 (CTRL-? でも CTRL-H
456                         でもない) を送るときは、コマンド ":fixdel" ではなく以
457                         下の方法を使う。 >
458                                 :if &term == "termname"
459                                 :  set t_kD=^V<Delete>
460                                 :endif
461 <                       ここで "^V" は CTRL-V 、 "<BS>" はデリートキーを表す
462                         (実際に「^」「V」などのキーを押さないこと)。"termname"
463                         にはあなたの使うターミナルの種類を当てはめる。
465                                                         *Linux-backspace*
466                         Note Linuxについての注意: 既定ではバックスペースキーは
467                         CTRL-? を送るが、これは違っている。これを修正するには、
468                         ファイル rc.local に次の行を加える。 >
469                                 echo "keycode 14 = BackSpace" | loadkeys
471                                                         *NetBSD-backspace*
472                         Note NetBSDについての注意: バックスペースキーが正しい
473                         キーコードを送らないとき、これを試すこと。 >
474                                 xmodmap -e "keycode 22 = BackSpace"
475 <                       有効だったら、ファイル .Xmodmap に次の行を加えること。 >
476                                 keysym 22 = BackSpace
477 <                       これを有効にするには、再起動する必要がある。
479 ==============================================================================
480 2. オプションの自動設定                                   *auto-setting*
482 コマンド ":set" によるオプションの設定の他に、3通りの方法で、1つまたは複数のファ
483 イルに自動的にオプションを設定できる。
485 1. Vimを起動したとき、様々な場所から初期化設定を読み込ませることができる。
486    |initialization| を参照。多くの設定は編集セッション全てに適用されるが、いく
487    つかはVimを起動したディレクトリによって異なる。初期化設定ファイルはコマンド
488    |:mkvimrc|, |:mkview|, |:mksession| で生成できる。
489 2. 新しいファイルの編集を始めたとき、自動的に実行されるコマンドがある。
490    これを使うと、特定のパターンにマッチするファイルに対してオプションを設定し
491    たり、様々なことが可能である。|autocommand| を参照。
492 3. 新しいファイルの編集を始めたときオプション 'modeline' がオンなら、ファイル
493    の先頭と末尾の数行ずつがモードラインとして読み込まれる。それをここで説明す
494    る。
496                                         *modeline* *vim:* *vi:* *ex:* *E520*
497 モードラインには2つの形式がある。1つ目の形式は次の通りである。
498         [text]{white}{vi:|vim:|ex:}[white]{options}
500 [text]          任意のテキスト、なくても良い
501 {white}         1個以上の余白 (<Space> または <Tab>)
502 {vi:|vim:|ex:}  "vi:" か "vim:" か "ex:" という文字列
503 [white]         空白、なくても良い
504 {options}       オプション設定が、空白か ':' で区切られて並んだもので、':' の
505                 間の部分はコマンド ":set" の引数である(空でもよい)
507 例:
508         vi:noai:sw=3 ts=6 ~
510 2つ目の形式は次の通りである (Viのヴァージョンによってはこの形式と互換性がある)。
512         [text]{white}{vi:|vim:|ex:}[white]se[t] {options}:[text]
514 [text]          任意のテキスト、なくても良い
515 {white}         1個以上の余白 (<Space> または <Tab>)
516 {vi:|vim:|ex:}  "vi:" か "vim:" か "ex:" という文字列
517 [white]         空白、なくても良い
518 se[t]           "set "または"se " という文字列 ( NOTE 終わりの空白に注意)
519 {options}       オプション設定が空白で区切られて並んだもので、コマンド ":set"
520                 の引数である
521 :               コロン
522 [text]          任意のテキスト、なくても良い
524 例:
525    /* vim: set ai tw=75: */ ~
527 "vi:" または "|vim:|" または "ex:" の前には空白が必要である。これが "lex:" 等
528 の普通の言葉を誤認する可能性を低めている。ただし例外があり、 "vi:" と "vim:"
529 は行頭に来てもよい (バージョン3.0との互換性のため)。"ex:" が行頭に来ると、モー
530 ドラインとは見なされない ("example:" の略かもしれないから)。
532                                                         *modeline-local*
533 オプションは ":setlocal" などで設定できる。そうして設定した値は、そのバッファ
534 とそれを開いているウィンドウにのみ適用される。モードラインからグローバルオプショ
535 ンを設定することは不可能ではないが、普通そういうことはしない。2つのウィンドウ
536 を開いていて、それぞれのファイルが同じグローバルオプションを違う値に設定しよう
537 としたときは、後に開かれたウィンドウが優先される。
539 既に読み込まれているファイルを開くときは、モードラインからはウィンドウローカル
540 なオプションだけが設定される。つまり、ファイルを開いた後に手動でバッファローカ
541 ルなオプションを変更したら、そのバッファを別なウィンドウで開いてもそのオプショ
542 ンは変更されないが、ウィンドウローカルなオプションは変更される。
544                                                         *modeline-version*
545 モードラインの内容が、Vimのバージョンによって使用可能だったり不可能だったりす
546 る場合には、"vim:" のところでバージョンを指定できる。
547         vim{vers}:      バージョン {vers} 以降 (そのバージョンを含む)
548         vim<{vers}:     バージョン {vers} より前
549         vim={vers}:     バージョン {vers} のみ
550         vim>{vers}:     バージョン {vers} より後 (そのバージョンを含まない)
551 {vers} に 600 を指定するとVim 6.0を表す (メジャー・バージョンナンバーの100倍足
552 すマイナー・バージョンナンバー)。
553 例えば、Vim 6.0またはそれより新しいバージョンでのみモードラインを使うにはこう
554 する。
555         /* vim600: set foldmethod=marker: */ ~
556 Vim 5.7より古いバージョンでのみモードラインを使うにはこうする
557         /* vim<570: set sw=4: */ ~
558 "vim" と ":" の間に空白があってはならない。
561 モードラインを探す行数はオプション 'modelines' で設定できる。オプション
562 'modeline' がオフであるかオプション 'modelines' の値が 0 だと、モードラインを
563 探さない。
565 Note 1番目の形式では、行全体がオプション指定に使われることに注意。そのため次の
566 ようにすると、行末の "*/" のためにエラーメッセージが現れる。
567    /* vi:ts=4: */ ~
568 その代わり、こうすればよい。
569    /* vi:set ts=4: */ ~
571 エラーが発見されると、その行の残りは無視される。
573 コマンド "set" の引数に ':' を含めたいときは、その前に '\' を置くこと。':' の
574 前の '\' は取り除かれる。例:
575    /* vi:set dir=c\:\tmp: */ ~
576 これはオプション 'dir' を "c:\tmp" に変更する。':' の前に '\' が置かれたとき、
577 取り除かれるのは1個だけである。だからオプションの値に "\:" を含めたいなら
578 "\\:" を指定すること。
580 安全上の理由から、コマンド "set" 以外は使用できない (誰かがテキストファイルで
581 「トロイの木馬」を作るかもしれないから) 。また、全てのオプションが設定できるわ
582 けではない。ある種のオプションにはフラグが設定されており、それが使用されるとき
583 には|sandbox|が有効になる。しかしそれでもモードラインが問題を引き起こす可能性
584 はわずかに残る。例えば、悪意のある誰かが'textwidth'を5にすると、ファイルの全て
585 の行が予期せず折り返されてしまう。そのため、信用できないファイルを編集する前に
586 はモードラインを無効にすること。
587 例えばmail ftpluginはそれを行っている。
589 ヒント: ファイルを読み込みときにオプション設定以外を行いたいなら、ファイル内の
590 特定の文字列を調べる autocommand を定義すればよい。例: >
591         au BufReadPost * if getline(1) =~ "VAR" | call SetVar() | endif
592 そして "VAR" を含む行に何かを行うための SetVar() 関数を定義すればよい。
594 ==============================================================================
595 3. オプションの要約                                     *option-summary*
597 以下のリストでは、全てのオプションが、正確な名前と (あれば) 略名で示されている。
598 どちらの形を使ってもよい。
600 この文書内では、切替オプションを「オンに」するというのは ":set オプション" を
601 実行することを表す。切り替えオプションを「オフに」するというのは
602 ":set noオプション" を実行することを表す。
604 いくつかのオプションには、既定値が2種類あるものがある: 1つ目は "Vim default"
605 つまりVimの既定値で、オプション 'compatible' がオフになっているときに使われる。
606 2つ目は "Vi default" つまりViの既定値で、オプション 'compatible' がオンになって
607 いるときに使われる。
609 ほとんどのオプションは全てのウィンドウやバッファで共通である。さてその中には、
610 テキストがウィンドウ内でどのように表示されるかを定めるものもある。そういったオ
611 プションは、ウィンドウごとに違う値にできる。例えばオプション 'list' は、あるウィ
612 ンドウ内でオンにしても、同じテキストを編集している別のウィンドウ内ではオフに
613 することができる。すると同時に違った表示方法が使える。また、ファイルごとに特定
614 の値にできるオプションもある。そういったオプションは、ファイルごとまたはバッファ
615 ごとに違う値にできる。例えばオプション 'textwidth' は、通常のテキストファイル
616 には78にし、Cプログラムのファイルには0にするようにできる。
618         グローバル:
619                 一つのオプションが全てのバッファやウィンドウに対して適用される
620         ウィンドウについてローカル:
621                 ウィンドウがそれぞれ、そのオプションのコピーを独自に持つ
622         バッファについてローカル:
623                 バッファがそれぞれ、そのオプションのコピーを独自に持つ
624 (訳注: 上の項目については、文書先頭も参照)
626 新しいウィンドウを開くとき、ウィンドウ固有のオプションには、その前にアクティブ
627 だったウィンドウでの値がまず使われる。バッファ固有のオプションは、オプション
628 'cpoptions' のフラグ 's' とフラグ 'S' によって違ってくる。フラグ 's' が含まれ
629 ていると (既定ではこうなっている)、新しいバッファが最初にアクティブになったと
630 きに、その前にアクティブだったバッファでの値がコピーされる。フラグ 'S' が含ま
631 れていると、バッファがアクティブになる度に値がコピーされる。これはグローバルオ
632 プションであるようなものである。フラグ 's' もフラグ 'S' も含まれていないときは、
633 バッファが作られるときに、その前にアクティブだったバッファでの値がコピーされる。
635 隠しオプション                                         *hidden-options*
637 全てのオプションが全てのバージョンでサポートされているわけではない。これは有効
638 にされている機能とシステムにもよる。これに関しての注意は以下の波括弧の中にある。
639 もしあるオプションがサポートされていなくても、そのオプションへの設定はエラーに
640 ならず成功する。これを隠しオプションと呼ぶ。しかし隠しオプションの値は保持され
641 ていないため、取得することはできない。
643 オプション"foo"が":set"で設定できるかどうか判定するにはこのようにする: >
644         if exists('&foo')
645 これは隠しオプションに対してもtrueを返す。オプション"foo"が本当にサポートされ
646 ているかを判定するにはこのようにする: >
647         if exists('+foo')
649                                                         *E355*
650 |Q_op| にはオプションの短い説明付きの表があり、そこからヘルプにジャンプできる。
652                                         *'aleph'* *'al'* *aleph* *Aleph*
653 'aleph' 'al'            数値      (既定値はMS-DOSでは128、それ以外では224)
654                         グローバル
655                         {Vi にはない}
656                         {Vi mが |+rightleft| 機能付きでコンパイルされたときの
657                         み有効}
658         ヘブライ語アルファベットの最初の文字を表すASCIIコード。Insertモード
659         (オプション 'hkmap' がオンのとき) と Command-lineモード (CTRL-_ を打ち
660         込んだとき) の両方において、ヘブライモードのキーボード配列をマッピング
661         するルーチンは、[aleph..aleph+26] の範囲のヘブライ文字を出力する。
662         'aleph'=128 はPCコード、'aleph'=224 は ISO 8859-8 に使われる。
663         |rileft.txt| を参照。
665                         *'allowrevins'* *'ari'* *'noallowrevins'* *'noari'*
666 'allowrevins' 'ari'     切替      (既定ではオフ)
667                         グローバル
668                         {Vi にはない}
669                         {Vi mが |+rightleft| 機能付きでコンパイルされたときの
670                         み有効}
671         InsertモードとCommand-lineモードで CTRL-_ を使用可能にする。これは既定
672         ではオフになっている。ユーザが間違って SHIFT-_ ではなく CTRL-_ を打ち
673         込み、右から左に書いていくモードに入って抜けられなくなる事態を防ぐため
674         である。オプション 'revins' を参照。
675         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
676         るので注意。
678                          *'altkeymap'* *'akm'* *'noaltkeymap'* *'noakm'*
679 'altkeymap' 'akm'       切替      (既定ではオフ)
680                         グローバル
681                         {Vi にはない}
682                         {Vi mが |+farsi| 機能付きでコンパイルされたときのみ有
683                         効}
684         オンのとき、2番目の言語が Farsi になる。オプション 'allowrevins' がオ
685         ンならば、Insertモードでは CTRL-_ で Farsi と英語のキーボードマップを
686         切り替えられる。
688         オフのとき、キーボードマップはヘブライ語と英語で切り替えられる。これは
689         普通の状態、つまり英語モード (左から右に書く言語のモード) と既定の第2
690         言語である Farsi またはヘブライ語モード (右から左に書く言語のモード)を
691         切り替えた上でVimを開始するのに便利である。|farsi.txt| を参照。
693                                                 *'ambiwidth'* *'ambw'*
694 'ambiwidth' 'ambw'      文字列     (既定では"single")
695                         グローバル
696                         {Vi にはない}
697                         {Vi mが|+multi_byte|機能付きでコンパイルされたときのみ
698                         有効}
699         'encoding'が"utf-8"などユニコードエンコーディングのときのみ効果がある。
700         East Asian Width Class Ambiguous な文字(ユーロ、登録商標記号、著作権記
701         号、ギリシャ文字、キリル文字など)をどう扱うかを定める。
703         現在のところ、設定可能な値は次の2通りである:
704         "single":       US-ASCIIの文字と同じ幅を使う。これはほとんどのユーザに
705                         とって期待どおりになる。
706         "double":       ASCII文字の2倍の幅を使う。
708         これらの文字のグリフの幅を、旧い/伝統的なCJKエンコーディングで何オク
709         テットを占めるかだけによって決めているCJKフォントがたくさんある。その
710         エンコーディングではユーロ、登録商標記号、ギリシャ文字、キリル文字は2
711         オクテットで表現されるので、それらのフォントはこれらの文字に「wideな」
712         グリフを当てている。これはテキストファイルで表を作るための罫線文字にも
713         あてはまる。そのためGUI版のVimにCJKフォントを使うときや、CJKフォント
714         を使うターミナル(エミュレータ)の中でVimを実行するとき(またはオプション
715         "-cjkwidth"つきで起動されたxtermの中でVimを実行するとき)にはこのオプ
716         ションを"double"にして、Vimが認識する幅をフォントのグリフの幅に合わせ
717         なければならない。CJKのWindows 9x/MEやWindows 2k/XPでもシステムのロケー
718         ルがCJKロケールのどれかに設定されている場合は多分"double"にしなければ
719         ならないだろう。
720         Unicode Standard Annex #11 (http://www.unicode.org/reports/tr11)を参照。
722                         *'antialias'* *'anti'* *'noantialias'* *'noanti'*
723 'antialias' 'anti'      切替      (既定ではオフ)
724                         グローバル
725                         {Vi にはない}
726                         {Vi mがMac OS XでGUIを有効にしてコンパイルされたときの
727                         み有効}
728         このオプションはMac OS X v10.2以降の上でGUI版のVimを使うときだけ効果が
729         ある。これがオンであるとなめらかな(アンチエイリアスされた)フォントが使
730         われる。このフォントはある種のディスプレイ上、あるサイズでは読み易くな
731         る。
732         'guifont'が既定値(空文字列)のときこのオプションを設定すると問題が発生
733         することがある。
735                         *'autochdir'* *'acd'* *'noautochdir'* *'noacd'*
736 'autochdir' 'acd'       切替      (既定ではオフ)
737                         グローバル
738                         {Vi にはない}
739                         {Vi mが|+netbeans_intg| または |+sun_workshop| 機能付き
740                         でコンパイルされたときのみ有効}
741         これがオンであるとファイルを開くとき、バッファを切り替えるとき、バッファ
742         を削除するとき、ウィンドウを開閉するときに毎回作業ディレクトリが変更さ
743         れる。開かれた/選択されたファイルを含んでいるディレクトリがカレントデ
744         ィレクトリになる。
745         このオプションはSun ONE Studio 4 Enterprise Editionとともにリリースさ
746         れたVimとの後方互換性のために提供されている。
747         Note: このオプションがオンになっていると動かないプラグインがある。
749                                 *'arabic'* *'arab'* *'noarabic'* *'noarab'*
750 'arabic' 'arab'         切替      (既定ではオフ)
751                         ウィンドウについてローカル
752                         {Vi にはない}
753                         {Vi mが|+arabic|機能付きでコンパイルされたときのみ
754                         有効}
755         アラビア語のテキストを編集するときにこのオプションを設定することができ
756         る。
757         このオプションを設定すると次のことが行われる:
758         - 'termbidi'がオンでない限り、オプション'rightleft'をオンにする。
759         - 'termbidi'がオンでない限り、オプション'arabicshape'をオンにする。
760         - オプション'keymap'を"arabic"に設定する。これによってインサートモード
761           でCTRL-^を押すと英語とアラビア語のキーマッピングがトグルする。
762         - オプション'delcombine'をオンにする。
763         アラビア語のテキストを編集するには'encoding'が"utf-8"でなければならな
764         いことに注意。
766         このオプションをオフにすると次のことが行われる:
767         - 'rightleft'をオンにする
768         - 'keymap'の使用を無効にする(その値は変更しない)
769         'arabicshape'と'delcombine'はオフにならない(これらはグローバルオプショ
770         ンである)。
771         |arabic.txt|も参照。
773                                         *'arabicshape'* *'arshape'*
774                                         *'noarabicshape'* *'noarshape'*
775 'arabicshape' 'arshape' 切替 (既定ではオン)
776                         グローバル
777                         {Vi にはない}
778                         {Vi mが|+arabic|機能付きでコンパイルされたときのみ
779                         有効}
780         これがオンで'termbidi'がオフになっているとアラビア語を表示するのに必要
781         な文字表示補正が行われる。本質的には字形作成(shaping)が有効になる。こ
782         の用語は次の事を含む広い用語である。
783           a) 単語の中の位置(初期、中間、最終、孤立)によって文字を変更/変形させ
784              る。
785           b) 文字合成機能の有効化
786           c) ある文字の組み合わせの有効化
787         これが無効になっていると、表示がそれぞれの文字の本来の孤立形になる。
788         アラビア語は他にも設定が必要な複雑な言語である。より詳しくは
789         |arabic.txt|を参照。
791                         *'autoindent'* *'ai'* *'noautoindent'* *'noai'*
792 'autoindent' 'ai'       切替      (既定ではオフ)
793                         バッファについてローカル
794         新しい行を開始したとき (Insertモードで <CR> を打ち込むか、コマンド "o"
795         や "O" を使ったとき)、新しい行のインデントを現在行と同じくする。新しい
796         行で <BS> か CTRL-D 以外を打ち込まずに <Esc>、CTRL-O か <CR> を打ち込
797         むと、その行のインデントは削除される。'cpoptions'にフラグ'I'が入ってい
798         ないかぎり、カーソルを他の行に移動させても同様である。
799         オプション 'autoindent' がオンのときは、テキストの整形処理 (コマンド
800         "gq" を使ったり、挿入モードで 1行の文字数がオプション 'textwidth' で指
801         定した数に届いたとき) には最初の行のインデントが使われる。
803         オプション 'smartindent' かオプション 'cindent' がオンのときは、インデ
804         ントの方法は違ってくる。
805         オプション 'paste' がオンのときは 'autoindent' はオフになる。
806         {Vi との微妙な違い: <Esc> または <CR> を打ち込んでインデントが削除され
807         た後、上下に移動した後のカーソル位置は削除されたインデントの後ろになる。
808         Viでは削除されたインデントの中のどこかになる}
810                                  *'autoread'* *'ar'* *'noautoread'* *'noar'*
811 'autoread' 'ar'         切替      (既定ではオフ)
812                         グローバルまたはバッファについてローカル |global-local|
813                         {Vi にはない}
814         ファイルがVimの内部では変更されてないが、Vimの外部で変更されたことが判
815         明したとき、自動的に読み直す。ファイルが削除されたときにはこのようには
816         ならない。 |timestamp|
817         このオプションがローカルな値を持つとき、再びグローバルな値を使うように
818         するには次のようにする。 >
819                 :set autoread<
821                                  *'autowrite'* *'aw'* *'noautowrite'* *'noaw'*
822 'autowrite' 'aw'        切替      (既定ではオフ)
823                         グローバル
824         コマンド :next, :rewind, :last, :first, :previous, :stop, :suspend,
825         :tag, :!, :make, CTRL-], CTRL-^ を実行したときや、コマンド :buffer,
826         CTRL-O, CTRL-I, '{A-Z0-9}, `{A-Z0-9} の移動先が別のファイルのとき、ファ
827         イルが変更されているなら書き込む。
828         Note 'autowrite' が適用されないコマンドもあることに注意。それについて
829         はオプション 'autowriteall' を参照。
831                          *'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
832 'autowriteall' 'awa'    切替      (既定ではオフ)
833                         グローバル
834                         {Vi にはない}
835         オプション 'autowrite' と似ているが、さらにコマンド ":edit", ":enew",
836         ":quit", ":qall", ":exit", ":xit", ":recover" を実行したときや、Vimの
837         ウィンドウを閉じるときも、ファイルが変更されているなら保存する。このオ
838         プションをオンにすると、同時に 'autowrite' もオンになったような動作に
839         なる (訳注:このオプションは 'autowrite' の適用されるコマンド全てに適用
840         されるので)。
842                                                         *'background'* *'bg'*
843 'background' 'bg'       文字列     (既定は "dark" または "light")
844                         グローバル
845                         {Vi にはない}
846         値が "dark" のときは、Vimは暗い背景によく合う色を使おうとする。値が
847         "light" のときは、Vimは明るい背景によく合う色を使おうとする。その他の
848         値は無効である。
849         Vimは使われているターミナルの種類に従って既定の値を定めるが、常に正し
850         いとは限らない。
851         このオプションを変更しても背景色は変わらない。これはただVimに背景色が
852         どのようなものかを伝えるだけである。背景色の変更には |:hi-normal| を参
853         照。
855         オプション 'background' が変更されると、Vimは既定の色設定グループをを
856         その値に合わせて調整する。しかし構文強調表示に使われる色設定は変化しな
857         い。                                              *g:colors_name*
858         カラースキームが読み込まれているとき (つまり変数 "g:colors_name" が設定さ
859         れているとき) 'background' を変更するとカラースキームが再び読み込まれ
860         る。カラースキームが 'background' に対応していればこれは適用される。し
861         かしカラースキームが 'background' 自体を設定しているときは効果がない。
862         必要ならば変数 "g:colors_name" を消去すること。
864         'background' を次のようにして既定値に戻したとき、 >
865                 :set background&
866 <       Vimはその値を推測する。GUI版ならばうまくいくはずだが、そうでなければ正
867         しい値を推測できないかもしれない。
869         GUIを開始したとき、'background' の既定値は "light" である。値がファイ
870         ル .gvimrc で定められておらず、Vimが背景色は実際は暗いと判断したときは、
871         'background' は "dark" になる。しかしこれは .gvimrc が読み込まれた「後」
872         に行われる (実際の背景色を知るためにウィンドウが開かれる必要があるか
873         ら)。これを避けるには、コマンド ":gui" を .gvimrc の中の 'background'
874         の値が使われる前に置いて (例えば ":syntax on" の前) GUIウィンドウを強
875         制的に開かせればよい。
876         このオプションは普通ファイル .vimrc 内で設定される。設定はターミナル名
877         によるかもしれない。例: >
878                 :if &term == "pcterm"
879                 :  set background=dark
880                 :endif
881 <       このオプションが設定されると、強調表示の既定の設定が変更される。他の設
882         定を使いたいなら、'background' を設定した「後」にコマンド ":highlight"
883         を置くこと。
884         このオプションはファイル "$VIMRUNTIME/syntax/syntax.vim" 内でも、構文
885         強調表示のための色を選択するのに使われる。このオプションを設定した後は
886         syntax.vim を再読み込みしないと結果が分からない。これにはコマンド
887         ":syntax on" を実行すればよい。
889                                                         *'backspace'* *'bs'*
890 'backspace' 'bs'        文字列     (既定では "")
891                         グローバル
892                         {Vi にはない}
893         Insertモードでの <BS>, <Del>, CTRL-W, CTRL-U の働きに影響する。値はキー
894         ワードのコンマ区切りのリストである。それぞれのキーワードがバックスペー
895         スの働く対象を定めている。
896         値       効果  ~
897         indent  autoindent を超えてバックスペースを働かせる
898         eol     改行を超えてバックスペースを働かせる (行を連結する)
899         start   挿入区間の始めでバックスペースを働かせるが CTRL-W と CTRL-U は
900                 挿入区間の始めでいったん止まる
902         値が空のときは、バックスペースの働きはVi互換になる。
904         バージョン 5.4 またはそれ以前との互換性を保つには次のようにする。
905         値       効果  ~
906           0     ":set backspace=" と同じ (Vi互換)
907           1     ":set backspace=indent,eol" と同じ
908           2     ":set backspace=indent,eol,start" と同じ
910         <BS> や <Del> で望み通りの動作ができないときは |:fixdel| を参照。
911         NOTE: このオプションは、オプション 'compatible' がオンのときは "" にな
912         るので注意。
914                                 *'backup'* *'bk'* *'nobackup'* *'nobk'*
915 'backup' 'bk'           切替      (既定ではオフ)
916                         グローバル
917                         {Vi にはない}
918         ファイルを上書きする前にバックアップを作る。書き込みが成功してもバック
919         アップはそのまま取っておく。バックアップを取っておきたくはないが、書き
920         込み中にはバックアップが欲しいときには、このオプションをオフにしてオプ
921         ション 'writebackup' をオンにすること (既定ではそうなっている)。全くバッ
922         クアップが要らないなら両方をオフにすること (ユーザのファイルシステムが
923         ほとんど満杯ならこうするとよい)。詳しくは |backup-table| を参照。
924         どちらにしてもオプション 'backupskip' のパターンがマッチすると、バック
925         アップは作られない。オプション 'patchmode' がオンのときは、バックアッ
926         プはリネームされてファイルの最も古いバージョンになることがある。
927         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
928         るので注意。
930                                                 *'backupcopy'* *'bkc'*
931 'backupcopy' 'bkc'      文字列     (UnixでのViの既定値: "yes" 、それ以外: "auto")
932                         グローバル
933                         {Vi にはない}
934         ファイルの書き込みをしてバックアップが作られるとき、その方法をこのオプ
935         ションで指定する。このオプションはコンマで区切られた単語のリストである。
937         主な値は次の通り:
938         "yes"   先にファイルのコピーを作ってバックアップにして、更新した内容は
939                 元のファイルに上書きする
940         "no"    先に元のファイルをリネームしてバックアップにして、更新した内容
941                 は新しいファイルに書き出す
942         "auto"  どちらか適切な方を選ぶ
944         次の値を上のどれか1つと組み合わせることができる:
945         "breaksymlink"は書き込み時に常にシンボリックリンクを切る。
946         "breakhardlink"は書き込み時に常にハードリンクを切る。
948         訳注:
949             $ ls -lF
950             total 2
951             -rw-r--r--  1 ao  ao  24  9 17 12:26 hontai
952             lrwxr-xr-x  1 ao  ao   6  9 17 12:29 l@ -> hontai
954             となっているとき、ファイルlを編集して:wすると、
956             backupcopy=auto の場合:
957             -rw-r--r--  1 ao  ao  24  9 17 12:26 l~
958             lrwxr-xr-x  1 ao  ao   6  9 17 12:29 l@ -> hontai
959             -rw-r--r--  1 ao  ao  27  9 17 12:31 hontai
961             backupcopy=auto,breaksymlink の場合:
962             -rw-r--r--  1 ao  ao  27  9 17 12:26 hontai
963             lrwxr-xr-x  1 ao  ao   6  9 17 12:29 l~@ -> hontai
964             -rw-r--r--  1 ao  ao  30  9 17 12:32 l
966             という結果になる。
968         ファイルのコピーを作ってから元のファイルを上書きする方法:
969         X ファイルのコピーに余計な時間がかかる。
970         O 編集したファイルが特別な属性を持っていたり、ファイルがハードリンクや
971           シンボリックリンクであったり、リソースフォークを持っているときでも、
972           全て元のまま保たれる。
973         X 編集したファイルがリンクのとき、バックアップの名前がリンク先の文書の
974           名前でなく、リンクの名前になってしまう。
976         ファイルをリネームしてから新しいファイルに書き出す方法:
977         O 高速である。
978         X 時々、元のファイルの属性の一部しか新しいファイルにコピーされないこと
979           がある。
980         X 編集したファイルがリンクのとき、新しいファイルはリンクにならない。
982         "auto" の値にすると折衷策を採る。Vimが副作用なしにリネームの方法が使え
983         ると判断したとき (属性がコピーでき、ファイルがリンクでないとき) は、そ
984         ちらが使われる。それでは問題がありそうなときはコピーの方法が使われる。
986         "breaksymlink"と"breakhardlink"の値は"yes", "no", "auto"のどれとも組み
987         合わせることができる。これらが含まれていると、必ず"no"とまったく同じよ
988         うにシンボリックリンクやハードリンクを切るようになり、元のファイルがそ
989         のままバックアップになり、新しいファイルが作成される。これは例えば全て
990         のファイルがシンボリックリンクやハードリンクになっているソースツリーで
991         便利である。変更がローカルのソースツリーに対してだけ行われ、元のソース
992         ツリーには反映されない。
993                                                         *crontab*
994         "no" と "auto" では問題が起きる場合がある。プログラムによっては、ファ
995         イルを開き、Vimを呼び出してそのファイルを編集させ、(ファイル区別プログ
996         ラムを使って) そのファイルが変更されたかどうかを調べるものがある。そう
997         したプログラムは新しく書き出されたファイルではなく、バックアップファイ
998         ルの方を調べてしまう。例としては "crontab -e" が挙げられる。
1000         コピーの方法のときは、元のファイルの中身はいったん空になり、そこに新し
1001         いテキストが書き込まれる。つまり、元のファイルの保護ビット、ファイル所
1002         有者やシンボリックリンクは変更されない。しかし、新しく作られることにな
1003         るバックアップファイルは、ファイルを編集したユーザの所有となる。またバ
1004         ックアップファイルの属するグループは、元のファイルと同じグループになる。
1005         これが失敗すると、他の属性と同様に、そのグループの保護ビットが設定され
1006         る。
1008         リネームの方法のときは別の結果になる。バックアップファイルは元のファイ
1009         ルと同じ属性を持ち、新しく書き出されたファイルは、ファイルを編集したユー
1010         ザの所有となる。開いたファイルがハードリンクまたはシンボリックリンクだっ
1011         た場合でも、新しく書き出されたファイルはリンクにならない!だから値が
1012         "auto" のとき、ファイルがリンクならリネームを行わないのである。新しく
1013         書き出されたファイルの所有者と属するグループは、元のファイルと同じとし
1014         て設定される。しかしシステムがこうすることを許可しないかもしれない。そ
1015         の場合、値が "auto" ならもうファイルのリネームをしようとはしない。
1017                                                 *'backupdir'* *'bdir'*
1018 'backupdir' 'bdir'      文字列     (Amigaでの既定値: ".,t:",
1019                                  MS-DOSとWin32での既定値: ".,c:/tmp,c:/temp"
1020                                  Unixでの既定値: ".,~/tmp,~/")
1021                         グローバル
1022                         {Vi にはない}
1023         値は、バックアップファイル用ディレクトリの、コンマ区切りのリストである。
1024         - バックアップファイルは、リスト内の、使用可能な最初のディレクトリの中
1025           に作られる。Vim はそのディレクトリを作成しないので、存在していなけれ
1026           ばならない。
1027         - 値が空だと、バックアップファイルは作られない ('patchmode' は使えなく
1028           なる!)。そのため書き込みが失敗するかもしれない。
1029         - ディレクトリに "." を指定するのは、バックアップファイルを、編集され
1030           たファイルと同じディレクトリに作るということである。
1031         - ディレクトリが "./" (MS-DOS等では ".\") で始まるのは、バックアップファ
1032           イルを作るディレクトリを、編集されたファイルとの相対的な位置で決める
1033           ということである。最初の "." は編集されたファイルのパス名で置き換え
1034           られる (ディレクトリ名の内部の "." には特別な意味はない)。
1035         - コンマの後の空白は無視されるが、他の場所の空白はディレクトリ名の一部
1036           と見なされる。ディレクトリ名の先頭に空白を使いたいなら、その空白の前
1037           に '\' を置くこと。
1038         - ディレクトリ名にコンマを使いたいなら、そのコンマの前に '\' を置くこ
1039           と。
1040         - ディレクトリ名は '/' で終わってもよい。
1041         - 環境変数は展開される |:set_env|。
1042         - 文字 '\' には注意。空白の前には1個置き、オプションの値に '\' 自身を
1043           含めるなら2個置く (|option-backslash| を参照)。例: >
1044             :set bdir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
1045             (訳注: 結果は backupdir=c:\tmp, dir\,with\,commas,\ dir with space)
1046 <       - Vim version 3.0 との後方互換性のため、値の先頭の '>' は取り除かれる。
1047         オプション 'backup' および 'writebackup' も参照。
1048         Unixでユーザのバックアップファイルを隠したいなら、次のようにしてみるこ
1049         と。 >
1050                 :set backupdir=./.backup,~/.backup,.,/tmp
1051 <       この方法を使うには、それぞれのディレクトリとあなたのホームディレクトリ
1052         にディレクトリ ".backup" を作らなければならない。
1053         リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディ
1054         レクトリを除くときにはコマンド |:set-=| を使うのがよい。こうすると将来
1055         のヴァージョンで異なった既定値が使われるようになったときに、問題が起き
1056         るのを防げる。
1057         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
1058         ス|sandbox|の中で設定することはできない。
1060                                                 *'backupext'* *'bex'* *E589*
1061 'backupext' 'bex'       文字列     (既定では "~", VMSでは "_")
1062                         グローバル
1063                         {Vi にはない}
1064         バックアップファイルの名前を作る際、元のファイル名の後ろに付け加える文
1065         字列。既定では普段使いそうもないものに定めてあるが、これは既存のファイ
1066         ルをバックアップファイルで上書きするのを避けるためである。".bak" を使
1067         いたいかもしれないが、大事なファイルに ".bak" で終わるものがないか確か
1068         めること。
1069         通常のファイル名文字だけ使える。"/\*?[|<>"は不正である。
1071         たくさんのバックアップを残しておきたいなら、自動コマンドBufWritePreを
1072         使ってファイルを書き込む直前に'backupext'にタイムスタンプを含めるよう
1073         に変更するとよい。 >
1074                 :au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~'
1075 <       バックアップを別のディレクトリに保存させるには、オプション'backupdir'
1076         を設定すること。
1078                                                 *'backupskip'* *'bsk'*
1079 'backupskip' 'bsk'      文字列  (既定では "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
1080                         グローバル
1081                         {Vi にはない}
1082                         {Vi mが |+wildignore| 機能付きでコンパイルされたときの
1083                         み有効}
1084         ファイル名のパターンのリスト。書き込みをするファイルの名前にマッチする
1085         パターンがこの中にあれば、そのファイルのバックアップは作られない。ファ
1086         イル名を指定してもよいし、ファイルのフルパスを指定 (訳注: C:/temp/* 等
1087         の方法。既定値ではこの方法で一時ファイル用のディレクトリを指定し、一時
1088         ファイルのバックアップを作らないようにしている) してもよい。
1089         パターンの指定方法は |:autocmd| と同じである。|autocmd-patterns| を参
1090         照。特別な文字に注意するために |option-backslash| を参照。
1091         環境変数の$TMPDIR, $TMP または $TEMP が定義されていないとき、それらは
1092         既定値に使われない。"/tmp/*" はUnixでのみ使われる。
1094         環境変数は展開されない。$HOMEを使いたい場合は、明示的に展開しなければ
1095         ならない。例: >
1096                 :let backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
1098 <       既定値は"crontab -e"が正常に機能するように定められている(元のファイル
1099         をリネームすることによってバックアップを作ると、crontabは新しく作られ
1100         たファイルを参照しない)。'backupcopy'と|crontab|も参照。
1102                                                 *'balloondelay'* *'bdlay'*
1103 'balloondelay' 'bdlay'  数値      (既定では 600)
1104                         グローバル
1105                         {Vi にはない}
1106                         {Vi mが |+balloon_eval| 機能付きでコンパイルされたとき
1107                         のみ有効}
1108         バルーン表示が出るまでの時間 (ミリ秒単位)。|balloon-eval| を参照。
1110                        *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'*
1111 'ballooneval' 'beval'   切替      (既定ではオフ)
1112                         グローバル
1113                         {Vi にはない}
1114                         {Vi mが |+balloon_eval| 機能付きでコンパイルされたとき
1115                         のみ有効}
1116         |balloon-eval| 機能を働かせる。
1118                                                      *'balloonexpr'* *'bexpr'*
1119 'balloonexpr' 'bexpr'   文字列     (既定では "")
1120                         グローバル/バッファについてローカル|global-local|
1121                         {Vi にはない}
1122                         {Vi mが|+balloon_eval|機能付きでコンパイルされたときの
1123                         み有効}
1124         バルーンウィンドウに表示するテキストの式。'ballooneval'がオンのときの
1125         み使われる。以下の変数を使用できる:
1127         v:beval_bufnr   バルーンを表示するバッファの番号
1128         v:beval_winnr   ウィンドウの番号
1129         v:beval_lnum    行番号
1130         v:beval_col     桁番号(バイトインデックス)
1131         v:beval_text    マウスポインタの下、または後ろにある単語
1133         この式の評価には副作用があってはならない。
1134         例: >
1135     function! MyBalloonExpr()
1136         return 'Cursor is at line ' . v:beval_lnum .
1137                 \', column ' . v:beval_col .
1138                 \ ' of file ' .  bufname(v:beval_bufnr) .
1139                 \ ' on word "' . v:beval_text . '"'
1140     endfunction
1141     set bexpr=MyBalloonExpr()
1142     set ballooneval
1144         NOTE: バルーンはカーソルがテキスト文字の上にあるときだけ表示される。
1145         'balloonexpr'を評価した結果が空でないなら、Vimは外部デバッガ(Netbeans
1146         またはSun Workshop)にメッセージを送ろうとしない。
1148         この式はサンドボックス|sandbox|の中でも評価できる。|sandbox-option|を
1149         参照。
1151         バルーンのテキスト中の改行が機能するかを調べるにはこれを使う: >
1152                 if has("balloon_multiline")
1153 <       これがサポートされているなら文字列"\n"は新規行を開始する。この式を評価
1154         した結果がリスト|List|になる場合は、そのリストの各要素を文字列とし、
1155         それらの間に"\n"を置くのと同じことになる。
1157                                      *'binary'* *'bin'* *'nobinary'* *'nobin'*
1158 'binary' 'bin'          切替      (既定ではオフ)
1159                         バッファについてローカル
1160                         {Vi にはない}
1161         バイナリファイルを編集する前には、このオプションをオンにすべきである。
1162         Vimの起動時に引数 |-b| を使ってもよい。オンのときは、いくつかのオプショ
1163         ンの設定が変わる。
1164                 'textwidth'   は   0     になる
1165                 'wrapmargin'  は   0     になる
1166                 'modeline'    は  オフ     になる
1167                 'expandtab'   は  オフ     になる
1168         またオプション 'fileformat' と 'fileformats' は無視され、読み込みと書
1169         き込みは 'fileformat' が "unix" のときのようになる (1個の <NL> が改行
1170         になる)。
1171         さらにオプション 'fileencoding' と 'fileencodings' も無視され、ファイ
1172         ルは変換なしに読み込まれるようになる。
1173         NOTE: オプション 'bin' がオンのときに新しくファイルを読み込むと、
1174         autocommand によって設定が再び変えられ (例えば 'textwidth')、編集時に
1175         問題を起こす ことがあるので注意。ファイルを読み込んだ後に再び 'bin' を
1176         オンにするとよい。
1177         変更されるオプションの値は記憶されているので、オプション 'bin' がオフに
1178         戻るとそれらの値も復元される。それらの値はバッファごと独自に記憶される。
1179         引数|++bin|を使うと、'binary'をオンにしてファイルを開くことができる。
1180         これを使うと":set bin"としなくてすむ。":set bin"は編集する全てのバッファ
1181         に対して効果を持つ。
1182         'bin' がオンならば、ファイルを書き込むときに最終行に <EOL> が付け加え
1183         られるのは、元のファイルにすでに <EOL> があるときだけである (普通は、
1184         最終行に <EOL> がないならVimはそれを付け加える。こうするとその分ファイ
1185         ルが長くなる)。オプション 'endofline' を参照。
1187                         *'bioskey'* *'biosk'* *'nobioskey'* *'nobiosk'*
1188 'bioskey' 'biosk'       切替      (既定ではオン)
1189                         グローバル
1190                         {Vi にはなく、MS-DOS版のみ}
1191         オンのとき、キーボードで打ち込まれた文字を取得するためにバイオスが呼び
1192         出される。これは CTRL-C を認識するためにはよいが、コンソールでしか機能
1193         しない。ターミナルをシリアルポートから利用する場合は、オフにすること。
1194         'conskey' も参照。
1196                                                         *'bomb'* *'nobomb'*
1197 'bomb'                  切替      (既定ではオフ)
1198                         バッファについてローカル
1199                         {Vi にはない}
1200                         {Vi mが |+multi_byte| 機能付きでコンパイルされたときの
1201                         み有効}
1202         ファイルを書き込むときに以下の条件が満たされれば、BOM (Byte Order Mark
1203         --訳注: バイト順マーク。Unicodeを適切に扱うために使われるマーク) がファ
1204         イル先頭に付けられる。
1205         - このオプションがオンである
1206         - 'binary' がオフである
1207         - 'fileencoding' が "utf-8", "ucs-2" または "ucs-4" である (リトルエン
1208           ディアンとビッグエンディアンの違いは無視)
1209         アプリケーションの中には、ファイルのエンコーディングを認識するために
1210         BOM を使うものがある。MS-Windows で UCS-2 ファイルのためによく使われる。
1211         しかし、アプリケーションによってはこれが問題になることもある。例えば
1212         "cat file1 file2" とすると、file2の BOM がファイル途中に現れてしまう。
1213         gcc は BOM を受け付けない。
1214         ファイルを読み込むときに 'fileencodings' が "ucs-bom" で始まるならば、
1215         BOM が存在するかどうかが調べられ、その結果に従って 'bomb' が設定される。
1216         'binary' がオンでなければ BOM は編集時には取り除かれ、ユーザの目には触
1217         れない。'bomb' をオフにしたり 'binary' をオンにしたり 'fileencodings'
1218         を変えなければ、ファイルの書き込み時に再び BOM が復元される。
1220                                                 *'breakat'* *'brk'*
1221 'breakat' 'brk'         文字列     (既定では " ^I!@*-+;:,./?")
1222                         グローバル
1223                         {Vi にはない}
1224                         {Vi mが |+linebreak| 機能付きでコンパイルされたときの
1225                         み有効}
1226         オプション 'linebreak' がオンのとき、どの文字のところで行が折り返され
1227         て表示されるかを、このオプションで指定する。これが機能するのはASCIIと
1228         8bit文字('encoding'が8bitエンコーディングのとき)だけである。
1230                                                 *'browsedir'* *'bsdir'*
1231 'browsedir' 'bsdir'     文字列     (既定では "last")
1232                         グローバル
1233                         {Vi にはなく、Motif, Athena, Mac, Win32のGUI版のみ}
1234         ファイルブラウザの開始時、どのディレクトリを開くかを指定する。
1235            last         前回にファイルブラウザでファイルを開く・または保存した
1236                         ディレクトリ
1237            buffer       バッファで開いているファイルのディレクトリ
1238            current      カレントディレクトリ
1239            {path}       {path} で指定されたディレクトリ
1241                                                 *'bufhidden'* *'bh'*
1242 'bufhidden' 'bh'        文字列 (既定では "")
1243                         バッファについてローカル
1244                         {Vi にはない}
1245                         {Vi mが |+quickfix| 機能付きでコンパイルされたときの
1246                         み有効}
1247         バッファがウィンドウ内に表示されなくなったときの動作を指定する。
1248           <empty>       グローバルオプション 'hidden' に従う
1249           hide          バッファを隠す (解放しない)。'hidden' がオフでもそうす
1250                         る。
1251           unload        バッファを解放する。'hidden' がオフのときも、コマンド
1252                         |:hide| を使ったときもそうする。
1253           delete        バッファをバッファリストから削除する。'hidden' がオン
1254                         のときも、|:hide| を使ったときも、|:bdelete| を使った
1255                         ときのように、リストから削除する。
1256           wipe          バッファをバッファリストから完全に削除(wipe out)する。
1257                         'hidden' がオンのときも、|:hide| を使ったときも、
1258                         |:bwipeout| を使ったときのように、リストから削除する。
1260         注意: "unload", "delete", "wipe"を設定すると、バッファの変更は警告
1261         無しに失われる。
1262         このオプションは 'buftype' や 'swapfile' と共に使われ、特殊な用途のバッ
1263         ファを指定する。|special-buffers| を参照。
1265                         *'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
1266 'buflisted' 'bl'        切替 (既定ではオン)
1267                         バッファについてローカル
1268                         {Vi にはない}
1269         オンのときは、バッファはバッファリストに表示される。オフのときは、その
1270         バッファはコマンド ":bnext" や ":ls" およびバッファメニュー等の対象に
1271         ならない。
1272         ファイル名やマークを思い出したりするためだけのバッファでは、このオプショ
1273         ンはオフになる。バッファの編集を始めたときは、このオプションはオンにな
1274         る。しかし ":buffer" でバッファに移動したときはオンにはならない。
1276                                                 *'buftype'* *'bt'* *E382*
1277 'buftype' 'bt'          文字列 (既定では "")
1278                         バッファについてローカル
1279                         {Vi にはない}
1280                         {Vi mが |+quickfix| 機能付きでコンパイルされたときの
1281                         み有効}
1282         このオプションはバッファの種類を指定する。
1283           <empty>       普通のバッファ
1284           nofile        ファイルと関連がなく、書き込まれる予定のないバッファ
1285           nowrite       書き込まれる予定のないバッファ
1286           acwrite       いつも自動コマンドBufWriteCmdで書き込まれる予定のバッ
1287                         ファ。{Vi mが|+autocmd|機能付きでコンパイルされたとき
1288                         のみ有効}
1289           quickfix      エラーリスト/ロケーションリスト用の quickfix バッファ
1290                         (|:cwindow|, |:lwindow|を参照)
1291           help          ヘルプバッファ (ユーザが手動でこれに設定することはない
1292                         はずである)
1294         このオプションはオプション 'bufhidden' や 'swapfile' と共に使われ、特
1295         殊な用途のバッファを指定する。|special-buffers| を参照。
1297         このオプションの変更には十分注意すること。多くの副作用が起こるかもしれ
1298         ない!
1300         "quickfix" バッファはエラーリストとロケーションリストにのみ使われる。
1301         この値はコマンド|:cwindow| と|:lwindow|で設定され、ユーザが変更するこ
1302         とはないはずである。
1304         "nofile" バッファと "nowrite" バッファは似ている。
1305         両方とも、   バッファの内容はファイルに書き込まれない。":w" が使え
1306                         ない (":w 新ファイル名" は使える)。
1307         両方とも、   バッファの内容が変更された 'modified' と認識されること
1308                         がない。Vimの終了時等、変更点が失われるときでも警告が
1309                         現れない。
1310         両方とも、   スワップファイルはメモリを大量に消費したときのみ作られ
1311                         る ('swapfile' がオフだと、スワップファイルは作られな
1312                         い)。
1313         nofile だけは、     バッファ名は固定され、ファイル名のようには扱われない。
1314                         |:cd| の結果としてバッファ名が変わることはない。
1315                                                         *E676*
1316         "acwrite"は"nofile"と同様にバッファ名がファイルと関係していないことを
1317         意味するが、"nofile"と違って保存される。すなわち、"nofile"と"nowrite"
1318         違って":w"ができ、変更されたバッファを保存せずに破棄することはできない。
1319         これを保存するには、マッチする自動コマンド|BufWriteCmd|,
1320         |FileWriteCmd|, |FileAppendCmd|がなければならない。
1322                                                 *'casemap'* *'cmp'*
1323 'casemap' 'cmp'         文字列     (既定では"internal,keepascii")
1324                         グローバル
1325                         {Vi にはない}
1326                         {Vi mが|+multi_byte|機能付きでコンパイルされたときのみ
1327                         有効}
1328         大文字・小文字の変更について詳細を指定する。このオプションはコンマ区切
1329         りで以下の単語を含む:
1330         internal        内部の大文字・小文字対応関数を使う。現在のロケールによ
1331                         って対応が変更されない。これは'encoding'がユニコードエ
1332                         ンコーディング, "latin1", "iso-8859-15"のときのみ問題
1333                         になる。"internal"が除かれるとシステムライブラリ関数
1334                         towupper()とtowlower()が利用可能ならば使われる。
1335         keepascii       アスキー文字(0x00から0x7f)についてはUS大文字小文字対応
1336                         を使う。現在のロケールは効果を持たない。
1337                         これはおそらくトルコ語でだけ問題になる。
1339                                                 *'cdpath'* *'cd'* *E344* *E346*
1340 'cdpath' 'cd'           文字列     (既定では環境変数 $CDPATH または ",,")
1341                         グローバル
1342                         {Vi にはない}
1343                         {Vi mが |+file_in_path| 機能付きでコンパイルされたとき
1344                         のみ有効}
1345         コマンド |:cd| や |:lcd| を使ったときに検索されるディレクトリのリスト。
1346         ただし検索されるディレクトリが "/", "./" や "../" で始まるときはこのオ
1347         プションは使われない。
1348         オプション 'cdpath' には、'path' と同様の指定方法を使う。
1349         |file-searching| も参照。
1350         既定値は環境変数 $CDPATH から取り込まれるが、カレントディレクトリを最
1351         初に探すために "," が先頭に挿入される。
1352         $CDPATH から取り込まれたものが望ましくないときは、値を上書きするために、
1353         次のコマンドを適当に修正し、ユーザのファイル vimrc に加えること。 >
1354           :let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g')
1355 <       安全上の理由から、このオプションをモードライン|modeline|やサンドボック
1356         ス|sandbox|の中で設定することはできない。('cdpath' の値の一部は、
1357         ファイル名を展開するためにシェルに渡すことができる)。
1359                                                 *'cedit'*
1360 'cedit'                 文字列     (Viの既定値: "", Vimの既定値: CTRL-F)
1361                         グローバル
1362                         {Vi にはない}
1363                         {Vi mが |+vertsplit| 機能付きでコンパイルされたときの
1364                         み有効}
1365         Command-lineモードで、Command-lineウィンドウを開くために使われるキー。
1366         オプション 'compatible' がオフならば、既定では CTRL-F である。
1367         non-printable なキー (訳注: 文書先頭を参照) しか指定できない。キーは単
1368         一の文字として設定することもできるが、それでは入力しにくい。<> を使っ
1369         た表記を推奨する。例: >
1370                 :set cedit=<C-Y>
1371                 :set cedit=<Esc>
1372 <       |Nvi| にもこのオプションがあるが、最初の1文字だけが使用される。
1373         |cmdwin| を参照。
1375                                 *'charconvert'* *'ccv'* *E202* *E214* *E513*
1376 'charconvert' 'ccv'     文字列     (既定では "")
1377                         グローバル
1378                         {Vi にはない}
1379                         {Vi mが |+multi_byte| 機能および |+eval| 機能付きでコ
1380                         ンパイルされたときのみ有効}
1381         文字エンコーディングの変換に使われる expression を定める。これは読み込
1382         まれようとしているファイルや書き込みをしたファイルのエンコーディングが、
1383         望むものと違うときに評価される。
1384         オプション 'charconvert' の値は、内部関数 iconv() がサポートされ、それ
1385         による変換が可能ならば使われることはない。ずっと高速なため、iconv() の
1386         使用を推奨する。
1387         'charconvert' は標準入力 (stdin |--|) から読み込みときには使われない。
1388         なぜなら変換元のファイルが存在しないからだ。まずテキストの内容をファイ
1389         ルに保存しなければいけない。
1390         使われる expression は、変換成功時には空文字列または0、失敗時には非0を
1391         返さなければならない。
1392         使用可能なエンコーディング名は 'encoding' で設定されている (訳注: よく
1393         分からない。原文は The possible encoding names encountered are in
1394         'encoding'.)。それに加え、'fileencodings' と 'fileencoding' に設定され
1395         ているエンコーディング名も使われる。
1396         "latin1", "unicode", "ucs-2", "ucs-4", "utf-8" の間の変換はVimの内部で
1397         行われ、 'charconvert' は使われない。'viminfo' の中にフラグ 'c' が含ま
1398         れるならば、'charconvert' はファイル viminfo の変換にも使われる。また
1399         Unicode の変換にも使われる。
1400         例: >
1401                 set charconvert=CharConvert()
1402                 fun CharConvert()
1403                   system("recode "
1404                         \ . v:charconvert_from . ".." . v:charconvert_to
1405                         \ . " <" . v:fname_in . " >" v:fname_out)
1406                   return v:shell_error
1407                 endfun
1408 <       関連するVimの変数は以下の通り。
1409                 v:charconvert_from      現在のエンコーディング名
1410                 v:charconvert_to        希望するエンコーディング名
1411                 v:fname_in              入力ファイル名
1412                 v:fname_out             出力ファイル名
1413         Note 変数 v:fname_in と v:fname_out とは、決して同じになってはいけない
1414         ので注意。
1415         Note v:charconvert_from と v:charconvert_to の値は 'encoding' と異なる
1416         かもしれないので注意。Vim内部では UCS-2 または UCS-4 の代わりには
1417         UTF-8 を使っている。
1418         Vim は 'charconvert' を用いたエンコーディング変換では暗号化をしない。
1419         変換後に暗号化をしたいなら、'charconvert' にそうさせる必要がある。
1420         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
1421         ス|sandbox|の中で設定することはできない。
1423                                    *'cindent'* *'cin'* *'nocindent'* *'nocin'*
1424 'cindent' 'cin'         切替      (既定ではオフ)
1425                         バッファについてローカル
1426                         {Vi にはない}
1427                         {Vi mが |+cindent| 機能付きでコンパイルされたときのみ
1428                         有効}
1429         Cプログラムファイルの自動インデントを行う。Insertモードで再インデント
1430         を引き起こす文字列を指定するにはオプション 'cinkeys' を、好みのインデ
1431         ントスタイルを設定するには 'cinoptions' を参照。
1432         'indentexpr' の値が空でないなら、それは 'cindent' の設定を上書きする。
1433         'lisp' がオフで、'indentexpr' と 'equalprg' の両方の値が空なら、"=" に
1434         よるインデントはこのアルゴリズムを使い、外部プログラムを使わない。
1435         |C-indenting| を参照。
1436         'cindent' の動作が気に入らないならば、'smartindent' か 'indentexpr' を
1437         試してみること。
1438         このオプションは 'paste' がオンのときには使われない。
1439         NOTE: このオプションは 'compatible' がオンのときはオフになるので注意。
1441                                                         *'cinkeys'* *'cink'*
1442 'cinkeys' 'cink'        文字列     (既定では "0{,0},0),:,0#,!^F,o,O,e")
1443                         バッファについてローカル
1444                         {Vi にはない}
1445                         {Vi mが |+cindent| 機能付きでコンパイルされたときのみ
1446                         有効}
1447         Insertモードで入力されたときに、現在行の再インデントを引き起こす文字の
1448         リスト。オプション 'cindent' がオンで、かつ 'indentexpr' が空の時のみ
1449         使われる。
1450         このオプションの設定方法については |cinkeys-format| を参照。
1451         また |C-indenting| を参照。
1453                                                 *'cinoptions'* *'cino'*
1454 'cinoptions' 'cino'     文字列     (既定では "")
1455                         バッファについてローカル
1456                         {Vi にはない}
1457                         {Vi mが |+cindent| 機能付きでコンパイルされたときのみ
1458                         有効}
1459         このオプションは、'cindent' でのC言語ソース内の行の再インデント方法に
1460         影響を与える。このオプションの値については |cinoptions-values| を、一
1461         般的なC言語ソースのインデントの情報については |C-indenting| を参照。
1464                                                 *'cinwords'* *'cinw'*
1465 'cinwords' 'cinw'       文字列     (既定では "if,else,while,do,for,switch")
1466                         バッファについてローカル
1467                         {Vi にはない}
1468                         {Vi mが |+cindent| 機能と |+smartindent| 機能(両方)付
1469                         きでコンパイルされたときのみ有効}
1470         オプション 'smartindent' か 'cindent' がオンのとき、ここに指定したキー
1471         ワードの次の行は、さらにインデントされる。'cindent' がオンのときには、
1472         適切な場所 ({} の内側) でのみ機能する。
1473         NOTE 'ignorecase' は 'cinwords' の値には適用されないので注意。大文字か
1474         小文字かを区別したくないなら、値に両方を指定すること。例: "if,If,IF"
1476                                                 *'clipboard'* *'cb'*
1477 'clipboard' 'cb'        文字列     (既定値はX-windowsでは
1478                                  "autoselect,exclude:cons\|linux"
1479                                  それ以外では "")
1480                         グローバル
1481                         {Vi にはない}
1482                         {Vi mのGUIバージョンか |+xterm_clipboard| 機能付きでコ
1483                         ンパイルされたもののみ有効}
1484         コンマ区切りのキーワードのリストを指定する。
1485         認識されるのは、以下のキーワードである。
1487         unnamed         これが含まれると、コピー、削除、変更、ペーストなどの操
1488                         作で、普通なら無名レジスタが使われるところで、全てクリ
1489                         ップボードレジスタ "*" が使われるようになる。ただしレ
1490                         ジスタ名を陽に指定すれば、オプション 'clipboard' に
1491                         "unnamed" が含まれているかいないかに関わらず、指定され
1492                         たレジスタが使われる。またクリップボードレジスタは、"*
1493                         という記法を用いれば常にアクセスできる。
1494                         |gui-clipboard| も参照。
1496         autoselect      'guioptions' のフラグ 'a' のように働く: これが含まれる
1497                         と、Visualモードが開始されるたび、または Visual選択範
1498                         囲が変更されるたびに、Vimはウィンドウシステムのグロー
1499                         バルなクリップボードのオーナーになろうとするか、選択さ
1500                         れたテキストをクリップボード用レジスタ "* を使ってクリッ
1501                         プボードにコピーしようとする。詳細は |guioptions_a| と
1502                         |quotestar| を参照。GUI機能が有効のときは 'guioptions'
1503                         のフラグ 'a' が使用され、無効のときはこの "autoselect"
1504                         フラグが使用される。また、モードレスなセレクションにも
1505                         適用される。
1507         autoselectml    "autoselect" と似ているが、モードレスセレクションのみ
1508                         に適用される。'guioptions' のフラグ 'A' と比較してみる
1509                         こと。
1511         html            クリップボードの内容が HTML であるとき、貼り付け時に使
1512                         われる。テキストをクリップボードにコピーするとき、
1513                         HTML としてマークアップする。Firefox で描画された HTML
1514                         あをコピーして Vim で HTML ソースとして貼り付けるとき
1515                         や、Vim で HTML を選択して Firefox のリッチエディット
1516                         ボックスに貼り付けるときに使われる。GTK 2 以降のみ対応
1517                         している。|+multi_byte| 機能が有効なときのみ利用可能。
1519         exclude:{pattern}
1520                         ターミナルの名前 'term' にマッチするパターンを定義する。
1521                         パターンがマッチすると、Xサーバとの通信がなされなくなる。
1522                         このオプションは以下の場合に便利である。
1523                         - Vimをコンソールで使用しているとき。
1524                         - アプリケーションを別のディスプレイで使うため、環境変
1525                           数 $DISPLAY が設定されているとき。
1526                         - コンソールではXサーバと通信してほしくないが、ターミ
1527                           ナルエミュレータ上では通信してほしいとき。
1528                         - コンソールでVimを使用している最中にXサーバが終了させ
1529                           られ、Vimをキルせざるを得ないかもしれないとき。
1530                         Xサーバと全く通信しないようにするには、次のようにする。 >
1531                                 exclude:.*
1532 <                       これは引数 |-X| を使用したのと同じ効果を持つ。
1533                         Note Xサーバと通信していないとき、ウィンドウタイトルは
1534                         復元されず、クリップボードにはアクセスできない。
1535                         'magic' の値は無視され、 {pattern} は 'magic' がオンの
1536                         ときのように解釈される。オプション 'clipboard' の値の
1537                         残りは {pattern} として認識されるので、"exclude" は最
1538                         後に指定しなければならない。
1540                                                 *'cmdheight'* *'ch'*
1541 'cmdheight' 'ch'        数値      (既定では 1)
1542                         グローバル
1543                         {Vi にはない}
1544         コマンドラインに使われる画面上の行数。|hit-enter| プロンプトの出現を避
1545         けるのに役立つ。
1546         各タブページが異なる値を持てるようにするために、このオプションの値はタ
1547         ブページに保存される。
1549                                                 *'cmdwinheight'* *'cwh'*
1550 'cmdwinheight' 'cwh'    数値      (既定では 7)
1551                         グローバル
1552                         {Vi にはない}
1553                         {Vi mが |+vertsplit| 機能付きでコンパイルされたときの
1554                         み有効}
1555         コマンドライン・ウィンドウに使われる画面上の行数。|cmdwin| を参照。
1557                                                 *'columns'* *'co'* *E594*
1558 'columns' 'co'          数値      (既定では 80 またはターミナルの幅)
1559                         グローバル
1560                         {Vi にはない}
1561         画面上の列幅を設定する。普通このオプションはターミナルの初期化の時点で
1562         設定され、手動で設定する必要はない。|posix-screen-size|も参照。
1563         VimがGUI内やサイズ変更可能なウィンドウ内で実行されているときは、このオ
1564         プションを変更するとウィンドウサイズも変更される。GUIでだけこのサイズ
1565         を使用したい場合は、このコマンドを|gvimrc|に書くこと。
1566         ユーザがこのオプションを変更したのに、Vimがディスプレイの列幅の物理的
1567         な値を変更できなかったら、ディスプレイ表示がめちゃめちゃになるおそれが
1568         ある。GUIでは常にその可能性があるので、Vimは桁数を画面に収まる値に制限
1569         している。可能なウィンドウ幅の最大値を取得するには、次のコマンドを使
1570         う: >
1571                 :set columns=9999
1572 <       最小値は12、最大値は10000。
1573         (訳注: オプション 'lines' も参照)
1575                                         *'comments'* *'com'* *E524* *E525*
1576 'comments' 'com'        文字列     (既定では
1577                                 "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
1578                         バッファについてローカル
1579                         {Vi にはない}
1580                         {Vi mが |+comments| 機能付きでコンパイルされたときのみ
1581                         有効}
1582         コメント行の始まりとなる文字列の、コンマ区切りのリスト。
1583         |format-comments| を参照。'\' を使って値にスペースを含める方法について
1584         は、|option-backslash| を参照。
1586                                         *'commentstring'* *'cms'* *E537*
1587 'commentstring' 'cms'   文字列     (既定では "/*%s*/")
1588                         バッファについてローカル
1589                         {Vi にはない}
1590                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
1591                         有効}
1592         コメント用のテンプレート (雛形)。値の中の "%s" はコメントの内容と置き
1593         換えられる。現在のところ、折り畳み用のマーカを追加するためにのみ使用さ
1594         れている。|fold-marker| を参照。
1596                         *'compatible'* *'cp'* *'nocompatible'* *'nocp'*
1597 'compatible' 'cp'       切替      (既定では オン、ファイル|vimrc|または
1598                                 |gvimrc|が発見されたらオフ)
1599                         グローバル
1600                         {Vi にはない}
1601         VimをなるべくVi互換にするか、便利な機能を使えるようにするかを決定する。
1602         これは、特別な種類のオプションである。このオプションの値が変更されると、
1603         それに伴って他のオプションも変更されるからだ。*注意: このオプションを
1604         変更すると、予期しない効果が数多く現れる。キーマップの解釈は変わり、ア
1605         ンドゥも違った方法で行われる、等々。このオプションをファイル vimrc 内
1606         で設定するなら、一番先頭に置くこと。
1607         既定ではオンなので、その他のオプションにはViの既定値が使われる。この既
1608         定値は、VimをViと全く同じように使うことを望み、オプション 'compatible'
1609         について知りもしない、または知りたいとも思わない人たちのためのものであ
1610         る。
1611         Vimが立ち上がる間にファイル |vimrc| または |gvimrc|  が見つかると、こ
1612         のオプションはオフにされ、その他のオプションで変更されていないものは、
1613         みなVimの既定値に設定される。要するに、Vimはファイル |vimrc| または
1614         |gvimrc| が存在するならVimの既定値を、存在しないならViの既定値を使うの
1615         だ ( Note: システム全体用のファイルvimrc や引数|-u|で指定されるファイ
1616         ルは関係ないことに注意)。|compatible-default| と |posix-compliance| も
1617         参照。
1619         このオプションは引数 "-C" でオンに、引数 "-N" でオフにできる。 |-C| と
1620         |-N| を参照。
1621         オフに設定すると、「Viの既定値」と「Vimの既定値」が異なっているオプショ
1622         ンについて、Vimの既定値が用いられるようになる。下の表で '+' がついてい
1623         るものを参照。その他のオプションは影響を受けない。
1624         オンにすると、他のオプションがいくつか変更され、Vimはできる限りVi互換
1625         を保とうとする。下の表を参照。これはVi互換の編集方法に戻りたいと思うと
1626         きに使うことができる。
1627         'cpoptions' も参照。
1629         オプション   + Viの既定値        効果      ~
1631         'allowrevins'     オフ            コマンド CTRL-_ なし
1632         'backupcopy'      Unix: "yes"   バックアップファイルがコピーになる
1633                           他: "auto"    バップアップはコピーまたはリネーム
1634         'backspace'       ""            普通のバックスペース
1635         'backup'          オフ            バックアップファイルなし
1636         'cindent'         オフ            C言語ファイルにインデントなし
1637         'cedit'         + ""            |cmdwin| を開くキーなし
1638         'cpoptions'     + (全フラグ)        Vi互換のフラグ
1639         'cscopetag'       オフ            ":tag" に cscope を使わない
1640         'cscopetagorder'  0             |cscopetagorder| を参照
1641         'cscopeverbose'   オフ            |cscopeverbose| を参照
1642         'digraph'         オフ            ダイグラフなし
1643         'esckeys'       + オフ            Insertモードで <Esc> で始まるキーなし
1644         'expandtab'       オフ            タブはスペースに展開されない
1645         'fileformats'   + ""            自動ファイルタイプ決定なし
1646                           "dos,unix"    (ただし DOS, Windows と OS/2 以外で)
1647         'formatoptions' + "vt"          Vi互換の文書整形
1648         'gdefault'        オフ            ":s" でフラグの既定値に 'g' なし
1649         'history'       + 0             コマンドラインの履歴なし
1650         'hkmap'           オフ            ヘブライ語用キーボードマップなし
1651         'hkmapp'          オフ            phoneticヘブライ語用キーボードマップなし
1652         'hlsearch'        オフ            検索でマッチした文字列に強調なし
1653         'incsearch'       オフ            インクリメンタル・サーチなし
1654         'indentexpr'      ""            expression によるインデントなし
1655         'insertmode'      オフ            Insertモードでの開始なし
1656         'iskeyword'     + "@,48-57,_"   キーワードはアルファベットと数字と '_'
1657         'joinspaces'      オン            ピリオドの後ろには空白を2個挿入
1658         'modeline'      + オフ            モードラインなし
1659         'more'          + オフ            リスト表示が止まらない
1660         'revins'          オフ            右から左の挿入なし
1661         'ruler'           オフ            ルーラなし
1662         'scrolljump'      1             ジャンプスクロールなし
1663         'scrolloff'       0             スクロールにオフセットなし
1664         'shiftround'      オフ            インデントは shiftwidth の整数倍でない
1665         'shortmess'     + ""            メッセージの短縮なし
1666         'showcmd'       + オフ            コマンドの文字は表示されない
1667         'showmode'      + オフ            現在のモードは表示されない
1668         'smartcase'       オフ            大文字小文字の無視は自動にならない
1669         'smartindent'     オフ            高度なインデントなし
1670         'smarttab'        オフ            高度なタブ挿入なし
1671         'softtabstop'     0             タブは常に 'tabstop' を基準
1672         'startofline'     オン            いくつかのコマンドで行頭に移動する
1673         'tagrelative'   + オフ            タグファイル名は相対的でない
1674         'textauto'      + オフ            自動改行コード決定なし
1675         'textwidth'       0             自動行分割なし
1676         'tildeop'         オフ            ティルデはオペレータではない
1677         'ttimeout'        オフ            ターミナルの時間切れなし
1678         'whichwrap'     + ""            左から右への移動は行を超えない
1679         'wildchar'      + CTRL-E        現在の値が <Tab> のときのみ、コマンド
1680                                         ライン補完に CTRL-E を使う
1681         'writebackup'     オンかオフ |+writebackup| 機能による
1683                                                 *'complete'* *'cpt'* *E535*
1684 'complete' 'cpt'        文字列     (既定では: ".,w,b,u,t,i")
1685                         バッファについてローカル
1686                         {Vi にはない}
1687         コマンド CTRL-P や CTRL-N によるキーワード補完 |ins-completion| の動作
1688         を指定する。このオプションは行全体の補完 |i_CTRL-X_CTRL-L| にも適用さ
1689         れる。このオプションは補完の方法と、キーワード検索の対象となる場所を示
1690         す、コンマ区切りのフラグのリストである。
1691         .       カレントバッファから検索 ('wrapscan' の値は無視)
1692         w       別のウィンドウ内のバッファから検索
1693         b       バッファリスト内の、現在読み込まれている別のバッファから検索
1694         u       バッファリスト内の、現在読み込まれていない別のバッファから検索
1695         U       バッファリストにないバッファから検索
1696         k       'dictionary' で指定されたファイルから検索
1697         kspell  現在有効化されているスペルチェックを使う |spell|
1698         k{dict} {dict} で与えられたファイルから検索。"k" を複数指定してもよい。
1699                 ファイル名はパターンでも指定できる。例: >
1700                         :set cpt=k/usr/dict/*,k~/spanish
1701 <       s       'thesaurus' で指定されたファイルから検索
1702         s{tsr}  {tsr} で与えられたファイルから検索。 "s" を複数指定してもよい。
1703                 ファイル名はパターンでも指定できる。
1704         i       カレントファイルとインクルードされるファイルから検索
1705         d       カレントファイルとインクルードされるファイルから、定義された名
1706                 前またはマクロを検索 |i_CTRL-X_CTRL-D|
1707         ]       タグ補完
1708         t       "]" と同じ
1710         読み込まれていないバッファでは、何しろ読み込まれていないのだから、
1711         |:autocmd| は実行されていない。そのため、ある種のファイルからは思いも
1712         しないキーワードを補完してしまうことがある (gzip圧縮されたファイルな
1713         ど)。読み込まれていないバッファは、行全体の補完には使われない。
1715         既定では ".,w,b,u,t,i" となっていて、これは検索対象を次のように指定し
1716         ている。
1717            1. カレントバッファ
1718            2. 別のウィンドウ内のバッファ
1719            3. 他の読み込まれたバッファ
1720            4. バッファリスト内の読み込まれていないバッファ
1721            5. タグ
1722            6. インクルードされるファイル
1724         CTRL-N と CTRL-P は 'iskeyword' を利用した全てのファイル名展開で使用で
1725         きる (つまり辞書 |i_CTRL-X_CTRL-K| 、インクルードされるパターン
1726         |i_CTRL-X_CTRL-I|、タグ |i_CTRL-X_CTRL-]| および通常の展開)。
1728                                                 *'completefunc'* *'cfu'*
1729 'completefunc' 'cfu'    文字列     (既定では空)
1730                         バッファについてローカル
1731                         {Vi にはない}
1732                         {Vi mが+evalまたは+insert_expand機能付きでコンパイルさ
1733                         れたときのみ有効}
1734         このオプションは入力モードのCTRL-X CTRL-U |i_CTRL-X_CTRL-U|での補完に
1735         使われる関数を指定する。
1736         その関数がどのように起動され、何を返すべきかについての説明は
1737         |complete-functions|を参照。
1739                                                 *'completeopt'* *'cot'*
1740 'completeopt' 'cot'     文字列     (既定では "menu,preview")
1741                         グローバル
1742                         {Vi mが|+insert_expand|機能付きでコンパイルされたとき
1743                         のみ有効}
1744                         {Vi にはない}
1745         入力モードでの補完|ins-completion|についてのオプションのコンマ区切りの
1746         リスト。サポートされている値は次の通り:
1748            menu     ポップアップメニューで補完候補を表示する。ポップアップメニ
1749                     ューは、候補が2個以上あり、十分な数の色が使用できるときだ
1750                     け表示される。|ins-completion-menu|を参照。
1752            menuone  候補が1つしかないときもポップアップメニューを使う。候補に
1753                     ついて付加的な情報があるときに便利である。例えば、それがど
1754                     のファイルに含まれているかなど。
1756            longest  候補の文字列の最長の共通部分だけを挿入する。メニューが表示
1757                     されているならばCTRL-Lでさらに文字を挿入することができる。
1758                     大文字・小文字が同一視されるかどうかは補完の種類による。バッ
1759                     ファのテキストについてはオプション'ignorecase'が適用される。
1761            preview  現在選択されている候補についての付加的な情報をプレビューウ
1762                     ィンドウに表示する。"menu"または"menuone"と組み合わせたと
1763                     きのみ有効。
1765                                 *'confirm'* *'cf'* *'noconfirm'* *'nocf'*
1766 'confirm' 'cf'          切替 (既定ではオフ)
1767                         グローバル
1768                         {Vi にはない}
1769         オプション 'confirm' がオンならば、バッファへの変更を保存していないと
1770         実行に失敗する操作 (例えばコマンド ":q" と ":e") の際、ダイアログ
1771         |dialog| を開いてファイルを保存するかどうか尋ねる。これがオンになって
1772         いても、意図的に変更を廃棄したいなら ! を使える。
1773         'confirm' がオフでも、コマンド |:confirm| で個別に確認を求めることがで
1774         きる (これはキーマッピングで使うととても便利である)。
1775         関数 |confirm()| と 'guioptions' のフラグ 'v' も参照。
1777                         *'conskey'* *'consk'* *'noconskey'* *'noconsk'*
1778 'conskey' 'consk'       切替 (既定ではオフ)
1779                         グローバル
1780                         {Vi にはない}  {Vi mのMS-DOS版のみ}
1781         オンのとき、キーボードの文字を受け取るのに直接コンソール出入力が使われ
1782         る。これはたいていの場合有効である。'bioskey' も参照。合わせて、3種類
1783         のコンソール入力が使える。
1784         'conskey'    'bioskey'      action ~
1785           オン         オンかオフ          直接コンソール入力
1786           オフ            オン          BIOS
1787           オフ            オフ          標準入力
1789                         *'copyindent'* *'ci'* *'nocopyindent'* *'noci'*
1790 'copyindent' 'ci'       切替      (既定ではオフ)
1791                         バッファについてローカル
1792                         {Vi にはない}
1793         新規行を自動インデントするとき、既存の行のインデント構造をコピーする。
1794         普通、新しい行のインデントは|'expandtab'|が有効になっていないかぎり
1795         (この場合は全てスペースになる)、まずタブが使われ、足りない部分がスペー
1796         スで埋められる。このオプションを有効にすると、既存の行のインデントにど
1797         んな文字が使われていようとそれを新規行にコピーする。'expandtab' はこれ
1798         らの文字には影響せず、タブはタブのままになる。新規行のインデントが既存
1799         の行よりも深いならば、その差の部分は通常の方法で埋められる。
1800         NOTE: 'compatible'がオンにされると'copyindent'はオフになる。
1801         'preserveindent'も参照。
1803                                                 *'cpoptions'* *'cpo'*
1804 'cpoptions' 'cpo'       文字列     (Vimの既定値: "aABceFs", Viの既定値:  全フラグ)
1805                         グローバル
1806                         {Vi にはない}
1807         1文字のフラグの列で設定する。フラグが設定されると、対応する動作がVi互
1808         換になる。大部分、またはある程度のVi互換が求められるときに使われる。
1809         'cpoptions' は "compatible-options (互換オプション)" の意味である。
1810         読みやすくするためにコンマを入れてもよい。
1811         将来追加されるフラグによる問題を避けるため、コマンド ":set" では "+="
1812         と "-=" を使うこと |add-option-flags|。
1813         NOTE: このオプションは 'compatible' がオンのときはVi互換の値に設定され、
1814         'compatible' がオフのときはVim互換の値に設定されるので注意。
1815         NOTE: Viの既定値が使われるようになっており、さらに環境変数$VIM_POSIXが
1816         存在するとき、Vim起動時にこのオプションがPOSIXの既定値にセットされる
1817         |posix|。これによってPOSIX仕様に近い挙動をするようになる。
1819               フラグ       動作 ~
1820                                                                 *cpo-a*
1821                 a       これが含まれると、":read" にファイル名の引数を与えたと
1822                         き、そのファイルをカレントウィンドウの代替ファイルに設
1823                         定する。
1824                                                                 *cpo-A*
1825                 A       これが含まれると、":write" にファイル名の引数を与えた
1826                         とき、そのファイルをカレントウィンドウの代替ファイルに
1827                         設定する。
1828                                                                 *cpo-b*
1829                 b       ":map" 内の "\|" がコマンドの終端と見なされるようにな
1830                         る。'\' はキーマッピングの一部に、'|' の次のテキストは
1831                         次のコマンドと見なされる。'|' をキーマッピングに含める
1832                         には、'\' でなく CTRL-V を使うこと。キーマッピングや略
1833                         語やメニューや autocmd コマンドの全てに適用される。
1834                         |map_bar| も参照。
1835                                                                 *cpo-B*
1836                 B       '\' が、":menu" のメニューから実行される部分やキーマッ
1837                         ピングや略語において、特別な意味を持たなくなる。'\' を
1838                         CTRL-V のように使いたいのならこのフラグを取り除くこと。
1839                         例えば、":map X \<Esc>" で X がマップされるのは、
1840                            'B' が含まれたとき:  "\^["    (^[ は本当の <Esc>)
1841                            'B' が除かれたとき:  "<Esc>"  (5個の文字)
1842                                (どちらの場合も '<' が除かれているとする)
1843                                                                 *cpo-c*
1844                 c       (訳注: 検索でマッチする文字列があった後) カーソル位置
1845                         のマッチの終わり(ただし次行の開始位置を越えない)から次
1846                         の検索を行う。このフラグが含まれないと、次の検索はカー
1847                         ソル位置の1文字後から始まる。'c'が含まれると、"/abab"
1848                         で検索したとき "abababababab" には3回しかマッチしない
1849                         が、'c' が含まれないと5回マッチする。
1850                                                                 *cpo-C*
1851                 C       ":source" で読み込まれたファイルのうち、'\' で始まる行
1852                         を連結しない。|line-continuation| を参照。
1853                                                                 *cpo-d*
1854                 d       'tags' 内で "./" という記法を使ったとき、タグファイル
1855                         はカレントファイルのディレクトリでなく、カレントディレ
1856                         クトリから探す。
1857                                                                 *cpo-D*
1858                 D       |r|, |f| や |t| のような、文字を引数に取る Normalモー
1859                         ドコマンドの後で、CTRL-K によるダイグラフの入力ができ
1860                         なくなる。
1861                                                                 *cpo-e*
1862                 e       ":@r" でレジスタの内容を (訳注: Exコマンドとして) 実行
1863                         するとき、レジスタが行全体を保存したものでないときでも、
1864                         常に最終行に <CR> を付け加える。このフラグが含まれない
1865                         ときは、レジスタの内容が行全体を保存したものでなく、か
1866                         つ <CR> で終わらないならば、実行すると最終行はコマンド
1867                         ラインに表示され、<CR> を打ち込むまでは編集できる。
1868                                                                 *cpo-E*
1869                 E       空の範囲に "y", "d", "c", "g~", "gu", "gU" などのコマ
1870                         ンドを使うとエラーになる。オペレータは作用する対象が最
1871                         低でも1文字ないと使えない。例: これが含まれると、最初
1872                         の桁で "y0" を行うとエラーになる。
1873                                                                 *cpo-f*
1874                 f       これが含まれると、カレントバッファにファイル名がまだ設
1875                         定されていないなら、":read" にファイル名の引数を与えた
1876                         とき、そのファイル名をカレントバッファのファイル名に設
1877                         定する。
1878                                                                 *cpo-F*
1879                 F       これが含まれると、カレントバッファにファイル名がまだ設
1880                         定されていないなら、":write" にファイル名の引数を与え
1881                         たとき、そのファイル名をカレントバッファのファイル名に
1882                         設定する。|cpo-P|も参照。
1883                                                                 *cpo-g*
1884                 g       ":edit" を引数なしで使うと1行目に移動する。
1885                                                                 *cpo-H*
1886                 H       空白のみを含む行の上で"I"を使ったとき、最後の空白の前
1887                         から挿入する。このフラグが含まれていないと、最後の空白
1888                         の後から挿入を開始する。
1889                                                                 *cpo-i*
1890                 i       これが含まれると、ファイルの読み込み中に中断が起きたと
1891                         き、ファイルは変更されたままになる。
1892                                                                 *cpo-I*
1893                 I       'autoindent'によるインデントが挿入された直後にカーソル
1894                         を上下に移動したときインデントを削除しない。
1895                                                                 *cpo-j*
1896                 j       行の連結時に追加する空白が、'.' の後のみ2個になり、'!'
1897                         や '?' の後は1個になる。'joinspaces' も参照。
1898                                                                 *cpo-J*
1899                 J       文 |sentence| は '.', '!' または '?' の後に2個の空白を
1900                         伴わなければならない。<Tab> は空白とは見なされない。
1901                                                                 *cpo-k*
1902                 k       ":menu" で実行される部分や、キーマッピングや略語におい
1903                         て、直接入力されたキーコードを認識しない。例えば、
1904                         <Key> が ^[OA を送るなら (ここで ^[ は <Esc> )、
1905                         ":map X ^[OA" で X がマップされるのは、
1906                             'k' が含まれたとき:  "^[OA"   (3個の文字)
1907                             'k' が除かれたとき:  "<Key>"  (1個のキーコード)
1908                         下の '<' も参照。
1909                                                                 *cpo-K*
1910                 K       キーマッピングの途中で、キーコードが完全に入力されるの
1911                         を待たない。This breaks mapping <F1><F1> when
1912                         only part of the second <F1> has been read.  こうすると
1913                         <F1><Esc> と打ち込めばマッピングをキャンセルできる。
1914                                                                 *cpo-l*
1915                 l       検索パターンの [] 範囲内で、'\' は文字通りに解釈され、
1916                         "\]", "\^", "\\" だけが特別な意味を持つ。|/[]| を参照。
1917                            'l' が含まれたとき:
1918                                 "/[ \t]"  がマッチするのは <Space>, '\' と 't'
1919                            'l' が除かれたとき:
1920                                 "/[ \t]"  がマッチするのは <Space> と <Tab>
1921                         |cpo-\|も参照。
1922                                                                 *cpo-L*
1923                 L       'list' がオンのとき、 'wrapmargin', 'textwidth',
1924                         'softtabstop' とVirtual replaceモード (|gR| を参照) で、
1925                         <Tab> の普通の数え方をせず、必ず 2 文字に数える。
1926                                                                 *cpo-m*
1927                 m       これが含まれると、対応する括弧の表示を0.5秒待つ。含ま
1928                         れていないと、対応する括弧の表示を0.5秒または次の文字
1929                         が打ち込まれるまで待つ。'showmatch' を参照。
1930                                                                 *cpo-M*
1931                 M       これが含まれていない場合、"%"での括弧の対応にバックス
1932                         ラッシュを考慮に入れる。すなわち"( \( )"や"\( ( \)"で
1933                         外側の括弧同士が対応するようになる。"%"が含まれている
1934                         場合はVi互換になり、バックスラッシュは無視される。
1935                                                                 *cpo-n*
1936                 n       これが含まれると、'number' による行番号表示に使われる
1937                         桁も、折り返された行の表示に使われる。
1938                                                                 *cpo-o*
1939                 o       検索コマンドの行オフセットは、次回の検索には使われない。
1940                                                                 *cpo-O*
1941                 O       ファイルが上書きされたとき、編集を始めたときにはそのファ
1942                         イルが存在しなかった場合でも警告しない。これは別人に突
1943                         然作り出されたファイルに対する防御である。Viはこれに警
1944                         告を出さなかった。
1945                                                                 *cpo-p*
1946                 p       Vi互換のLisp用インデント。これが含まれないと、いくらか
1947                         良いアルゴリズムが使われる。
1948                                                                 *cpo-P*
1949                 P       これとフラグ'F'が同時に含まれていると、コマンド":write"
1950                         で既存のファイルに追加するとき、カレントバッファの名前
1951                         がまだないならそのファイルの名前をカレントバッファの名
1952                         前にする。|cpo-F|
1953                                                                 *cpo-q*
1954                 q       複数の行を連結するとき、2行を連結するときと同じ位置に
1955                         カーソルを置く。
1956                                                                 *cpo-r*
1957                 r       リドゥ (コマンド ".") で検索を繰り返すとき、実際には
1958                         "/" を使う。
1959                                                                 *cpo-R*
1960                 R       フィルタされた行のマークを除去する。このフラグが入って
1961                         いないと、|:keepmarks|を使ったときと同じようにフラグは
1962                         そのまま保たれる。
1963                                                                 *cpo-s*
1964                 s       バッファが初めてアクティブになる時点でバッファのオプショ
1965                         ンが設定される。これは Vim version 3.0 と同じ動作であ
1966                         る。そして既定ではこの動作を行う。これが含まれないと、
1967                         オプションはバッファが作られた時点で設定される。
1968                                                                 *cpo-S*
1969                 S       バッファのオプションを常にバッファに移動する時点で設定
1970                         する ('readonly', 'fileformat', 'filetype' と 'syntax'
1971                         以外)。これは (ほとんど) Vi互換の設定である。
1972                         オプションの値は元のカレントバッファでの値になる。ユー
1973                         ザがオプションを変更し、その後で別のバッファに移ると、
1974                         その値はコピーされる。事実上、バッファオプションを全て
1975                         のバッファに対しグローバルにしている。
1977                         's'  'S'  バッファのオプションをコピーするタイミング ~
1978                         オフ オフ バッファが作られた時点
1979                         オン オフ バッファが初めてアクティブになった時点 (既定)
1980                         なし オン バッファに移動するたび (Vi互換)
1981                                                                 *cpo-t*
1982                 t       タグコマンドの検索パターンが "n" による検索の繰り返し
1983                         にも使われる。これが含まれないと、検索パターンの履歴に
1984                         は加えられるが、最終検索パターンは変化しない。
1985                                                                 *cpo-u*
1986                 u       アンドゥがVi互換になる。|undo-two-ways| を参照。
1987                                                                 *cpo-v*
1988                 v       インサートモードにおいて、バックスペースで消した文字を
1989                         画面上に表示したままにしておく。このフラグが入っていな
1990                         いと、消された文字はすぐに画面から消える。このフラグが
1991                         入っていると、新しく入力された文字がバックスペースで消
1992                         された文字を上書きする。
1993                                                                 *cpo-w*
1994                 w       空白の上で "cw" を使ったとき、1文字だけ変更して、次の
1995                         単語の始まりまでの空白は変更しない。
1996                                                                 *cpo-W*
1997                 W       読み込み専用ファイルを上書きしない。これが含まれないと、
1998                         可能であれば ":w!" で読み込み専用ファイルも上書きでき
1999                         る。
2000                                                                 *cpo-x*
2001                 x       コマンドラインで <Esc> を打ち込むとコマンドを実行する。
2002                         Vimでの既定ではコマンドライン入力を中止して元のモード
2003                         に戻る。それは <Esc> は普通はコマンドの中止に使われる
2004                         からである。|c_<Esc>| を参照。
2005                                                                 *cpo-X*
2006                 X       "R"でカウントを指定したとき、置換されるテキストが一度
2007                         だけ削除される。カウントをつけた"."で"R"を繰り返したと
2008                         きも同じ。
2009                                                                 *cpo-y*
2010                 y       コピーコマンドを "." でリドゥできる。
2011                                                                 *cpo-Z*
2012                 Z       オプション'readonly'がオンになっているのに"w!"をしたと
2013                         き'readonly'をオフにしない。
2014                                                                 *cpo-!*
2015                 !       フィルタコマンドをリドゥするとき、何であってもとにかく
2016                         最後に実行された外部コマンドを使う。これが含まれないと、
2017                         最後に実行された「フィルタ」コマンドが使われる。
2018                                                                 *cpo-$*
2019                 $       1行に対して変更をするとき、行を再描画せず、代わりに変
2020                         更されたテキストの最後に '$' を表示する。変更されたテ
2021                         キストはユーザが新しいテキストを入力したときに上書きさ
2022                         れる。その行はユーザがカーソルを挿入点から動かすコマン
2023                         ドを入力したときに再描画される。
2024                                                                 *cpo-%*
2025                 %       "%" でVi互換の対応検索が行われる。
2026                         "#if", "#endif" などを認識しない。
2027                         "/*" と "*/" も認識しない。
2028                         単引用符 ''' または二重引用符 '"' の内部の括弧も数えら
2029                         れる。すると括弧を含む文字列が対応を乱すことになる。例
2030                         えば、"if (strcmp("foo(", s))" などでは最初の括弧と最
2031                         後の括弧はマッチしない。これが含まれないと、単引用符ま
2032                         たは二重引用符の内部の括弧は特別な扱いを受ける。引用符
2033                         の外部の括弧の対応を調べるときは、引用符の内部は一切無
2034                         視される。引用符の内部の括弧の対応を調べるときは、対応
2035                         する括弧を探す (存在すれば)。これはC言語プログラムでは
2036                         とても良く機能する。
2037                         このフラグはCインデントなど他の機能にも使われる。
2038                                                                 *cpo--*
2039                 -       これが含まれていると最初の行や最後の行を越えるような上
2040                         下移動コマンドは失敗する。含まれているとカーソルが最初
2041                         の行または最後の行に移動する(既にカーソルがその行にな
2042                         いかぎり)。
2043                         コマンド"-", "k", CTRL-P, "+", "j", CTRL-N, CTRL-J,
2044                         ":1234"に適用される。
2045                         (訳注: 2行目で3kしたとき、これが含まれているならカーソ
2046                         ルは移動しない。含まれていないなら1行目へ移動する)
2047                                                                 *cpo-+*
2048                 +       これが含まれていると、":write file"をしたとき、まだそ
2049                         のバッファが対応するファイルと異なっていても、そのバッ
2050                         ファのフラグ'modified'がオフになる。
2051                                                                 *cpo-star*
2052                 *       ":*" を ":@" と同じように扱う。これが含まれないと、
2053                         ":*" は ":'<,'>" の別名となり、Visualエリアを選択する。
2054                                                                 *cpo-<*
2055                 <       ":menu" で実行される部分や、キーマッピングや略語におい
2056                         て、|<>| 記法による特殊キーの認識を行わない。例えば、
2057                         ":map X <Tab>" で X がマップされるのは、
2058                             '<' が含まれたとき:  "<Tab>"  (5個の文字)
2059                             '<' が除かれたとき:  "^I"     (^I は本当の <Tab>)
2060                         上の 'k' も参照。
2061                                                                 *cpo->*
2062                 >       レジスタにテキスト追加するとき、そのテキストの前に改行
2063                         文字をつける。
2065         次のものはPOSIXフラグである。起動時に$VIM_POSIXがセットされていない限
2066         り、これらはViの既定値には含まれない。|posix|
2068             フラグ 動作      ~
2069                                                                 *cpo-#*
2070                 #       "D", "o", "O"に対するカウントは効果がない。
2071                                                                 *cpo-&*
2072                 &       ":preserve"が使われたとき通常終了時にバッファはまだ読
2073                         み込まれているが、スワップファイルを保存する。このフラ
2074                         グはVimの終了時に判定される。
2075                                                                 *cpo-\*
2076                 \       検索パターンの範囲[]の中のバックスラッシュが文字どおり
2077                         に解釈される。"\]"だけがエスケープになる。|/[]|を参照。
2078                         '\'が含まれていると"/[ \-]"は<Space>, '\', '-'にマッチ
2079                         する。'\'が含まれていないと"/[ \-]"は<Space>, '-'にマッ
2080                         チする。
2081                         |cpo-l|も参照。
2082                                                                 *cpo-/*
2083                 /       コマンド|:s|の置換後文字列に"%"を指定したとき、前回の
2084                         置換後文字列を使う。|:s%|を参照。
2085                                                                 *cpo-{*
2086                 {       コマンド|{|と|}|が行頭の文字"{"にも止まる。
2087                                                                 *cpo-.*
2088                 .       カレントバッファが変更されているとき、"!"をつけないか
2089                         ぎりコマンド":chdir"と":cd"が失敗する。Vimは開いたファ
2090                         イルのフルパスを覚えているため、これを必要としない。
2091                                                                 *cpo-bar*
2092                 |       環境変数$LINESと$COLUMNSの値をシステム固有の関数で得ら
2093                         れたターミナルサイズより優先させる。
2096                                                 *'cscopepathcomp'* *'cspc'*
2097 'cscopepathcomp' 'cspc' 数値      (既定では 0)
2098                         グローバル
2099                         {Vi にはない}
2100                         {Vi mが |+cscope| 機能付きでコンパイルされたときのみ有
2101                         効}
2102         タグのリストの中でパスを (訳注: 上にさかのぼって) どこまで表示するかを
2103         指定する。|cscopepathcomp| を参照。
2105                                                 *'cscopeprg'* *'csprg'*
2106 'cscopeprg' 'csprg'     文字列     (既定では "cscope")
2107                         グローバル
2108                         {Vi にはない}
2109                         {Vi mが |+cscope| 機能付きでコンパイルされたときのみ有
2110                         効}
2111         Cscope を実行するコマンド名を指定する。|cscopeprg| を参照。
2112         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
2113         ス|sandbox|の中で設定することはできない。
2115                                                 *'cscopequickfix'* *'csqf'*
2116 'cscopequickfix' 'csqf' 文字列     (既定では"")
2117                         グローバル
2118                         {Vi mが|+cscope|または|+quickfix|機能つきでコンパイル
2119                         されたときのみ利用可能}
2120                         {Vi にはない}
2121         cscopeの結果を表示するのにQuickFixウィンドウを使うかどうかを指定する。
2122         |cscopequickfix|を参照。
2124                                 *'cscopetag'* *'cst'* *'nocscopetag'* *'nocst'*
2125 'cscopetag' 'cst'       切替      (既定ではオフ)
2126                         グローバル
2127                         {Vi mが|+cscope|機能つきでコンパイルされたときのみ
2128                         有効}
2129                         {Vi にはない}
2130         コマンドtagにcscopeを使う。|cscope-options|を参照。
2131         NOTE: 'compatible'をオンにするとこのオプションはオフになる。
2133                                                 *'cscopetagorder'* *'csto'*
2134 'cscopetagorder' 'csto' 数値      (既定では 0)
2135                         グローバル
2136                         {Vi にはない}
2137                         {Vi mが |+cscope| 機能付きでコンパイルされたときのみ有
2138                         効}
2139         コマンド ":cstag" が検索を行う順番を指定する。|cscopetagorder| を参照。
2140         NOTE: このオプションは、オプション 'compatible' がオンのときは 0 にな
2141         るので注意。
2143                                         *'cscopeverbose'* *'csverb'*
2144                                         *'nocscopeverbose'* *'nocsverb'*
2145 'cscopeverbose' 'csverb' 切替 (既定ではオフ)
2146                         グローバル
2147                         {Vi にはない}
2148                         {Vi mが |+cscope| 機能付きでコンパイルされたときのみ有
2149                         効}
2150         Cscope のデータベースに情報を追加するときメッセージを表示する。
2151         |cscopeverbose| を参照。
2152         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
2153         るので注意。
2155                         *'cursorcolumn'* *'cuc'* *'nocursorcolumn'* *'nocuc'*
2156 'cursorcolumn' 'cuc'    切替      (既定ではオフ)
2157                         ウィンドウについてローカル
2158                         {Vi にはない}
2159                         {Vi mが|+syntax|機能つきでコンパイルされたときのみ
2160                         有効}
2161         カーソルのある画面上の桁をCursorColumnで強調する|hl-CursorColumn|。
2162         テキストを桁揃えするのに便利。スクリーンの再描画が遅くなる。
2163         カレントウィンドウに対してだけこの強調をしたいなら次の自動コマンドを使
2164         う: >
2165                 au WinLeave * set nocursorline nocursorcolumn
2166                 au WinEnter * set cursorline cursorcolumn
2168                         *'cursorline'* *'cul'* *'nocursorline'* *'nocul'*
2169 'cursorline' 'cul'      切替      (既定ではオフ)
2170                         ウィンドウについてローカル
2171                         {Vi にはない}
2172                         {Vi mが|+syntax|機能つきでコンパイルされたときのみ
2173                         有効}
2174         カーソルがある画面上の行をCursorLineで強調する|hl-CursorLine|。
2175         カーソルを目立たせるのに便利。スクリーンの再描画が遅くなる。
2176         ビジュアルモードでは選択されたテキストをわかりやすくするためにこの強調
2177         は行われない。
2180                                                 *'debug'*
2181 'debug'                 文字列     (既定では "")
2182                         グローバル
2183                         {Vi にはない}
2184         以下の値を指定することができる:
2185         msg     省かれるはずのエラーメッセージも表示する。
2186         throw   省かれるはずのエラーメッセージも表示し、さらに例外を投げ、
2187                 |v:errmsg|を設定する。
2188         beep    ビープが鳴るだけのところでメッセージを表示する。
2189         これらの値はコンマで区切って組み合わせることができる。
2190         "msg"と"throw"はオプション 'foldexpr' や 'formatexpr', 'indentexpr' を
2191         デバッグするのに便利である。
2195                                                 *'define'* *'def'*
2196 'define' 'def'          文字列     (既定では "^\s*#\s*define")
2197                         グローバル/バッファについてローカル |global-local|
2198                         {Vi にはない}
2199         マクロ定義を発見するのに使われるパターンを指定する。値はコマンド "/"
2200         で使うのと同様の検索パターンである。このオプションは "[i" や "[d" 等に
2201         使われる |include-search|。オプション 'isident' は、これがマッチした部
2202         分の後の定義された名前を認識するのに使われる。
2203                 {'define' のマッチ}{非識別子}{定義名}{非識別子}
2204         値に空白や '\' を含めるために '\' を挿入することに関しては、
2205         |option-backslash| を参照。
2206         既定値はCプログラム用である。C++プログラムには、定数定義を加えて次のよ
2207         うにすると便利だろう。 >
2208                 ^\(#\s*define\|[a-z]*\s*const\s*[a-z]*\)
2209 <       ":set" で設定するときは、'\' の数を2倍にする必要がある!
2211                         *'delcombine'* *'deco'* *'nodelcombine'* *'nodeco'*
2212 'delcombine' 'deco'     切替 (既定ではオフ)
2213                         グローバル
2214                         {Vi にはない}
2215                         {Vi mが |+multi_byte| 機能付きでコンパイルされたときの
2216                         み有効}
2217         オンのときは、Unicodeのファイルの編集時、バックスペースとNormalモード
2218         のコマンド "x" はそれぞれの文字の上の combining character のみを削除す
2219         る。オフのときは (これが既定である) combining character と文字は同時に
2220         削除される。
2221         Note: 'delcombine'がオンになっていると"xx"の動作が"2x"と異なる場合があ
2222         る。
2224         このオプションは、アラビア語、ヘブライ語その他の言語で、ベースとなる文
2225         字の上にcombining character が付いていて、combining character のみを削
2226         除したいときに便利である。
2228                                                 *'dictionary'* *'dict'*
2229 'dictionary' 'dict'     文字列     (既定では "")
2230                         グローバル/バッファについてローカル |global-local|
2231                         {Vi にはない}
2232         ファイル名のコンマ区切りのリスト。キーワード補完コマンド
2233         |i_CTRL-X_CTRL-K| 用の単語を探すために使われる。単語のリストからなるファ
2234         イルを指定する。その中では1行ごとに1語が並べられていてもよいし、1行に
2235         キーワードでない文字 (空白を推奨) で区切られた数語が並んでいてもよい。
2236         1行の文字数の最大値は510バイト分である (訳注: 日本語のいわゆる全角文字
2237         では半分の255文字)。
2238         このオプションが空のとき、または"spell"が含まれていてスペルチェ
2239         ックが有効になっているとき、現在アクティブなスペリングが使われる。
2240         |spell|
2241         ファイル名にコンマを含めるには、コンマの前に '\' を置くこと。コンマの
2242         後ろの空白は無視されるが、それ以外の空白はファイル名の一部として扱われ
2243         る。'\' の使い方については |option-backslash| を参照すること。
2244         このオプションは変数の辞書型|Dictionary|とは関係ない。
2245         単語リストはどこで見つかるか?
2246         - FreeBSDでは、"/usr/share/dict/words" というファイルがある。
2247         - Simtelアーカイブでは、ディレクトリ "msdos/linguist" を探すこと。
2248         - GNUコレクションでは、"miscfiles" の中にある。
2249         リストにディレクトリを追加するときには |:set+=| コマンド、リストからディ
2250         レクトリを除くときには |:set-=| コマンドを使うのがよい。こうすると将来
2251         のヴァージョンで異なった既定値が使われるようになったときに、問題が起き
2252         るのを防げる。
2253         安全上の理由から、バッククォート (`) をこのオプションの値に使うことは
2254         できない。
2256                                                         *'diff'* *'nodiff'*
2257 'diff'                  切替 (既定ではオフ)
2258                         ウィンドウについてローカル
2259                         {Vi にはない}
2260                         {Vi mが |+diff| 機能付きでコンパイルされたときのみ有効}
2261         カレントウィンドウをファイル間の差異を示すウィンドウのグループに組み入
2262         れる。|vimdiff| を参照。
2264                                                 *'dex'* *'diffexpr'*
2265 'diffexpr' 'dex'        文字列 (既定では "")
2266                         グローバル
2267                         {Vi にはない}
2268                         {Vi mが |+diff| 機能付きでコンパイルされたときのみ有効}
2269         2個のファイル間の差異を求めるとき、ed形式のdiffファイルを求めるために
2270         評価される expression。|diff-diffexpr| を参照。
2271         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
2272         ス|sandbox|の中で設定することはできない。
2274                                                 *'dip'* *'diffopt'*
2275 'diffopt' 'dip'         文字列 (既定では "filler")
2276                         グローバル
2277                         {Vi にはない}
2278                         {Vi mが |+diff| 機能付きでコンパイルされたときのみ有効}
2279         Diffモード用のオプション設定。値は、以下のキーワードのコンマ区切りのリ
2280         ストである。指定しないものがあってもよい。
2282                 filler          片方のウィンドウ内のテキストのある位置に行が挿
2283                                 入されていたときに、ウィンドウのスクロールを同
2284                                 調させるために、埋め立て用の行を表示する。ウィ
2285                                 ンドウが隣り合っていて、オプション
2286                                 'scrollbind' がオンのときには大抵便利である。
2288                 context:{n}     変更のあった行の上下を {n} 行だけ折り畳まずに
2289                                 表示 (コンテキストの表示) する。指定されないと、
2290                                 コンテキストは6行になる。|fold-diff| を参照。
2292                 icase           テキストの大文字と小文字の違いを無視する。"a"
2293                                 と "A" は同じものと見なされる。オプション
2294                                 'diffexpr' が空なら、コマンド "diff" にフラグ
2295                                 "-i" を追加する。
2297                 iwhite          空白の数の違いを無視する。オプション
2298                                 'diffexpr' が空なら、コマンド "diff" にフラグ
2299                                 "-b" を追加する。これが正確には何を指定してい
2300                                 るのかについては、コマンド "diff" のドキュメン
2301                                 トを参照すること。これは後ろに追加された空白は
2302                                 無視するが、前に追加された空白は無視しないはず
2303                                 である。
2305                 horizontal      (他に明示的に指定されない限り)ウィンドウを水平
2306                                 分割してdiffモードを開始する。
2308                 vertical        (他に明示的に指定されない限り)ウィンドウを垂直
2309                                 分割してdiffモードを開始する。
2311                 foldcolumn:{n}  diffモードの開始時にオプション'foldcolumn'を
2312                                 {n}に設定する。
2315         例: >
2316                 :set diffopt=filler,context:4
2317                 :set diffopt=
2318                 :set diffopt=filler,foldcolumn:3
2320                                      *'digraph'* *'dg'* *'nodigraph'* *'nodg'*
2321 'digraph' 'dg'          切替 (既定ではオフ)
2322                         グローバル
2323                         {Vi にはない}
2324                         {Vi mが |+digraphs| 機能付きでコンパイルされたときのみ
2325                         有効}
2326         Insertモードで {char1} <BS> {char2} でダイグラフを入力できるようにする。
2327         |digraphs| を参照。
2328         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
2329         るので注意。
2331                                                 *'directory'* *'dir'*
2332 'directory' 'dir'       文字列     (Amigaでの既定値: ".,t:",
2333                                  MS-DOSとWin32での既定値: ".,c:\tmp,c:\temp"
2334                                  Unixでの既定値: ".,~/tmp,/var/tmp,/tmp")
2335                         グローバル
2336         スワップファイル用ディレクトリの、コンマ区切りのリスト。
2337         - スワップファイルは、リスト内の利用できるディレクトリのうち、最初のディ
2338           レクトリの中に作られる。
2339         - 値が空だとスワップファイルは作られない (回復は不可能になる!)。
2340         - ディレクトリに "." を指定すると、編集されているファイルと同じディレ
2341           クトリにスワップファイルが作られる。Unixではファイル名の先頭にドット
2342           が追加されるので、ディレクトリ内のファイル一覧には表示されない。
2343           MS-Windowsでは属性"hidden"が設定され、可能ならばファイル名の先頭にド
2344           ットが追加される。
2345         - "./" で始まるディレクトリ (MS-DOSなどでは ".\") を指定すると、編集さ
2346           れているファイルからの相対的な位置にスワップファイルが作られる。先頭
2347           の "." は編集されているファイルのパス名に置換される。
2348         - UnixとWin32では、指定されたディレクトリ名の末尾がディレクトリの区切
2349           り記号2個("//"または"\\")で終わっていたら、スワップファイルの名前は
2350           フルパスに従って付けられる。スワップファイルのファイル名をフルパス形
2351           式で表し、ディレクトリの区切り文字をパーセント記号 '%' で置き換えた
2352           ものが使われる。こうするとスワップファイル格納用ディレクトリの中でも
2353           (訳注: 別のディレクトリ内の同名ファイルのスワップファイルが集まるか
2354           もしれない)、ファイル名の一意性が保証される。
2355           Win32 では、区切り文字のカンマの前では "\\" でなく "//" と書かなけれ
2356           ばならない。"\\" と書くと、カンマがファイル名の一部と解釈されてしまう
2357           ためである。
2358         - コンマの後の空白は無視されるが、その他の場所の空白はディレクトリ名の
2359           一部と見なされる。ディレクトリ名の先頭に空白を指定したいなら、'\' を
2360           前に付けること。
2361         - コンマをディレクトリ名の一部に使いたいなら、コンマの前に '\' を付け
2362           ること。
2363         - ディレクトリ名は ':' や '/' で終わっていてもよい。
2364         - 環境変数は展開される |:set_env|。
2365         - '\' の扱いには注意。空白の前には1個置く。値の中に指定するには2個置く
2366           (|option-backslash| を参照)。例: >
2367             :set dir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
2368 <       - Vim version 3.0 との後方互換性のため、値の先頭に '>' を置いてもそれ
2369           は無視される。
2370         リストの先頭には "." を指定することを推奨する。こうすると、同じファイ
2371         ルを2重に編集しようとすると警告が出る。Unixでディレクトリ "/tmp" を使
2372         うのはお勧めできない。システムがクラッシュすると、スワップファイルも失
2373         われてしまう。ディレクトリ "/var/tmp" の中はリブート時にも大抵クリアさ
2374         れないので、ディレクトリ "/tmp" よりもよい選択である。しかしその中には
2375         多くのファイルが入っているかもしれないので、ユーザのスワップファイルは
2376         他のファイルに紛れて分からなくなるかもしれない。ユーザのホームディレク
2377         トリ内のディレクトリ "tmp" が最初に試されるのはそのためだ。
2378         リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディ
2379         レクトリを除くときにはコマンド |:set-=| を使うのがよい。こうすると将来
2380         のヴァージョンで異なった既定値が使われるようになったときに、問題が起き
2381         るのを防げる。
2382         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
2383         ス|sandbox|の中で設定することはできない。
2384         {Vi: 一時ファイルを作るディレクトリを指定する。既定では "/tmp"}
2386                                         *'display'* *'dy'*
2387 'display' 'dy'          文字列     (既定では "")
2388                         グローバル
2389                         {Vi にはない}
2390         テキスト表示の方法を変える。値はフラグのコンマ区切りのリストである。
2391         lastline        これが含まれると、ウィンドウの最後の行ができる限りまで
2392                         表示される。含まれないと、最後の行が収まりきらないなら
2393                         その行は "@" と表示される。
2394         uhex            unprintable な文字を (訳注: 文書先頭を参照) <xx> とい
2395                         う形式で16進数表示し、^C や ~C の形式を使わない。
2397                                                 *'eadirection'* *'ead'*
2398 'eadirection' 'ead'     文字列     (既定では "both")
2399                         グローバル
2400                         {Vi にはない}
2401                         {Vi mが |+vertsplit| 機能付きでコンパイルされたときの
2402                         み有効}
2403         オプション 'equalalways' が適用されるときに、
2404                 ver     ウィンドウの高さにのみ効果がある
2405                 hor     ウィンドウの幅にのみ効果がある
2406                 both    ウィンドウの高さと幅、両方に効果がある
2408                            *'ed'* *'edcompatible'* *'noed'* *'noedcompatible'*
2409 'edcompatible' 'ed'     切替      (既定ではオフ)
2410                         グローバル
2411         コマンド ":substitute" のフラグ 'g' と 'c' を、次に別の方を指定するま
2412         でずっと効力を持つようにする。|complex-change| を参照。オプション
2413         'gdefault' も参照。
2414         このオプションをオンに設定するのは推奨できない!
2416                                         *'encoding'* *'enc'* *E543*
2417 'encoding' 'enc'        文字列 (既定では "latin1" または $LANG)
2418                         グローバル
2419                         {Vi にはない}
2420                         {Vi mが |+multi_byte| 機能付きでコンパイルされたときの
2421                         み有効}
2422         Vim内部で使われる文字エンコーディングを設定する。そのエンコーディング
2423         はバッファやレジスタ内のテキスト、expression 内の文字列、ファイル
2424         viminfo 内のテキスト等に適用される。つまり、このオプションはVimの通常
2425         扱う文字の種類を設定する。指定できる値については |encoding-names| を参
2426         照。
2428         NOTE: このオプションの値を変更しても、Vim内部の既存のテキストのエンコー
2429         ディングは変化しないので注意。非アスキー文字がおかしくなる恐れもある。
2430         既定の値から変更しないか、Vimの起動時に限って設定すること。|multibyte|
2431         を参照。メニューを再読み込みするには|:menutrans|を参照。
2433         NOTE: GTK+2では'encoding'を"utf-8"に設定することが強く推奨される。
2434         他の値であってもよいが、この環境では"utf-8"が自然な選択であり、不必要
2435         な変換のオーバーヘッドを避けることができる。GUIやターミナルのバージョ
2436         ンによって挙動が異なってしまうのを避けるためと、新しく作られたファイル
2437         のエンコーディングが知らないうちに変わってしまうのを避けるため
2438         ('fileencodings'が空の場合)、"utf-8"は既定にはなっていない。
2440         編集するファイルの文字エンコーディングはオプション 'encoding' と異なっ
2441         てもよい。そちらは 'fileencoding' で設定される。エンコーディングの変換
2442         は関数 iconv() または 'charconvert' で指定された式による。
2444         'encoding' がマルチバイトエンコーディングであるかを知るに
2445         は、以下のコマンドが使える: >
2446                 if has("multi_byte_encoding")
2448         普通、'encoding' はユーザのカレントロケールと同じである。Vimがユーザの
2449         環境設定を認識したならば、それが既定値になる。'encoding' の値がカレン
2450         トロケールに設定されていなければ、入力されたテキストと表示されるテキス
2451         トを変換するために、'termencoding' が設定されていなければならない。
2452         |encoding-table| を参照。
2454         このオプションを設定すると、必要に応じてフォントを設定できるように、
2455         autocommand のイベント |EncodingChanged| が発生する。
2457         オプションが設定されると、値は小文字に変換される。そのため、値を大文字
2458         で設定してもよい。アンダースコア(下線) '_' はハイフン '-' に変換される。
2459         エンコーディングが認識されると、値は標準の名前に変換される。例えば
2460         "Latin-1" は "latin1" に、"ISO_88592" は "iso-8859-2" に、"utf8" は
2461         "utf-8" になる。
2463         Note: "latin1" という値は、エンコーディングを判別できなかったときにも
2464         使われるので注意。これが正しいのは、編集するファイルが実際に latin1 エ
2465         ンコーディングのときのみである!実際の文字セットが latin1 でないときは、
2466         'fileencoding' と 'fileencodings' が空であるのを確認すること。変換が必
2467         要なときは、utf-8 を使うようにすること。
2469         値が "unicode", "ucs-2" または "ucs-4" であるとき、Vim内部では utf-8
2470         が使われている。このことはユーザが編集中に注意を払うことはないが、
2471         |viminfo-file| については問題になる。またVimはターミナルも utf-8 を使
2472         うことを想定する。そのため、'encoding' を utf-8 でなく上記のいずれかの
2473         値に設定しても、'fileencoding' が空のときに編集するファイルのエンコー
2474         ディングにしか影響がない。
2476         'encoding' が Unicode の一種に設定され、'fileencodings' がまだ設定され
2477         ていなければ、'fileencodings' の既定値は変更される。
2479                         *'endofline'* *'eol'* *'noendofline'* *'noeol'*
2480 'endofline' 'eol'       切替      (既定ではオン)
2481                         バッファについてローカル
2482                         {Vi にはない}
2483         ファイルを書き込むときに、このオプションがオフでオプション 'binary' が
2484         オンならば、ファイルの最終行に <EOL> が書き込まれない。このオプション
2485         はファイルの編集を始めるときには自動的にオンになる。ただし編集を始めた
2486         ファイルの最終行に <EOL> がないときにはオフになる。普通はユーザがこの
2487         オプションを設定する必要はない。'binary' がオフのときはこのオプション
2488         は使われない。'binary' がオンのときは、ファイルの最終行に <EOL> があっ
2489         たかどうかを復元するためにこのオプションが使われる。そのため、ユーザが
2490         ファイルを書き込むときに元のファイルの状態を保つことができるし、変更す
2491         ることもできる。
2493                              *'equalalways'* *'ea'* *'noequalalways'* *'noea'*
2494 'equalalways' 'ea'      切替      (既定ではオン)
2495                         グローバル
2496                         {Vi にはない}
2497         オンのときは、ウィンドウを分割したり閉じたりした後、全てのウィンドウが
2498         自動的に同じサイズになる。これはこのオプションがオフになった瞬間にも起
2499         こる。オフのときは、ウィンドウを分割するとカレントウィンドウのサイズだ
2500         けが減り、他のウィンドウに変化はない。ウィンドウを閉じると、
2501         ('splitbelow' と 'splitright' に従って) 閉じたウィンドウの隣のウィンド
2502         ウの行数が増す。
2503         水平に分割されたウィンドウと垂直に分割されたウィンドウが混在していると
2504         きは、サイズの最小値が計算され、いくつかのウィンドウは (余裕があれば)
2505         大きくなる。'eadirection' はサイズの変化する方向を指定する。
2506         'winfixheight', 'winfixwidth' を設定するとウィンドウの高さ・幅が変わる
2507         のを防ぐことができる。
2508         新規ウィンドウ作成時にウィンドウサイズが指定された場合、ウィンドウサイ
2509         ズは等しくならない(これは複雑だが、将来は実装されるかもしれない)。
2511                                                 *'equalprg'* *'ep'*
2512 'equalprg' 'ep'         文字列     (既定では "")
2513                         グローバル/バッファについてローカル |global-local|
2514                         {Vi にはない}
2515         コマンド "=" に使う外部プログラムを指定する。値が空のときは内部関数が
2516         整形に使われる (オプション 'lisp', 'cindent' または 'indentexpr')。
2517         Vim が内部フォーマットなしでコンパイルされているときは indent コマン
2518         ドが使われる。
2519         環境変数は展開される |:set_env|。値に空白や '\' を含める方法については
2520         |option-backslash| を参照。
2521         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
2522         ス|sandbox|の中で設定することはできない。
2524                         *'errorbells'* *'eb'* *'noerrorbells'* *'noeb'*
2525 'errorbells' 'eb'       切替      (既定ではオフ)
2526                         グローバル
2527         エラーメッセージに伴ってベル (ビープ音または画面フラッシュ) を発生させ
2528         る。このオプションはエラーメッセージにのみ適用され、メッセージのない多
2529         くのエラー (例えばNormalモードで <ESC> を打ち込んだとき) についてはベ
2530         ルは常に使用される。ベルをビープ音にしたり、画面フラッシュにしたり、無
2531         効にしたりするためには、オプション 'visualbell' を参照。
2532         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
2533         ス|sandbox|の中で設定することはできない。
2535                                                 *'errorfile'* *'ef'*
2536 'errorfile' 'ef'        文字列     (Amigaでの既定値: "AztecC.Err",
2537                                         他の既定値: "errors.err")
2538                         グローバル
2539                         {Vi にはない}
2540                         {Vi mが |+quickfix| 機能付きでコンパイルされたときのみ
2541                         有効}
2542         QuickFixモードで使われるエラーファイルの名前 (|:cf| を参照)。
2543         コマンドライン引数 "-q" が指定されたときは、オプション 'errorfile' は
2544         それに続く値に設定される。|-q| を参照。
2545         コマンド ":make" には「使われない」。それについては 'makeef' を参照。
2546         環境変数は展開される |:set_env|。値に空白や '\' を含める方法については
2547         |option-backslash| を参照。
2548         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
2549         ス|sandbox|の中で設定することはできない。
2551                                                 *'errorformat'* *'efm'*
2552 'errorformat' 'efm'     文字列     (既定値はとても長い)
2553                         グローバル/バッファについてローカル |global-local|
2554                         {Vi にはない}
2555                         {Vi mが |+quickfix| 機能付きでコンパイルされたときのみ
2556                         有効}
2557         エラーファイルの内容の書式を、関数 scanf 風に指定する (|errorformat|
2558         を参照)。
2560                                      *'esckeys'* *'ek'* *'noesckeys'* *'noek'*
2561 'esckeys' 'ek'          (Vimの既定値: オン, Viの既定値: オフ)
2562                         グローバル
2563                         {Vi にはない}
2564         オンのときは、<Esc> で始まるファンクションキーもInsertモードで認識され
2565         るようになる。オフのときは、<Esc> で始まるカーソルキーとファンクション
2566         キーは、Insertモードで使うことができない。オンにすることの利点は、
2567         <Esc> を一回打ち込むだけですぐに認識され、1秒ほど待つ必要がないことだ。
2568         このオプションをオフにしなくても、オプション 'timeoutlen' と
2569         'ttimeoutlen' を変更してみるとよい。  Note 'esckeys' がオフのときでも、
2570         どのキーをマッピングすることもできるが、そのままではカーソルキーは使用
2571         できないことに注意。
2572         NOTE: このオプションは 'compatible' がオンのときはViの既定値に、オフの
2573         ときはVimの既定値に設定されるので注意。
2575                                                 *'eventignore'* *'ei'*
2576 'eventignore' 'ei'      文字列     (既定では "")
2577                         グローバル
2578                         {Vi にはない}
2579                         {Vi mが |+autocmd| 機能付きでコンパイルされたときのみ
2580                         有効}
2581         Autocommand のイベント名のうち、無視したいもののリスト。
2582         "all"が含まれていると全ての autocommand のイベントが無視され、
2583         autocommand は実行されなくなる。
2584         それ以外では、値はイベント名のコンマ区切りのリストである。例: >
2585                 :set ei=WinEnter,WinLeave
2587                                  *'expandtab'* *'et'* *'noexpandtab'* *'noet'*
2588 'expandtab' 'et'        切替      (既定ではオフ)
2589                         バッファについてローカル
2590                         {Vi にはない}
2591         Insertモードで <Tab> を挿入するとき、代わりに適切な数の空白を使う。ま
2592         た、コマンド '>' や '<' によるインデントや、オプション 'autoindent' が
2593         オンのときのインデントでも空白を使う。'expandtab' がオンのときに本当の
2594         タブを挿入するには、CTRL-V<Tab> を使うこと。|:retab| と
2595         |ins-expandtab| も参照。
2596         NOTE: このオプションは、'compatible' がオンのときはオフになるので注意。
2598                                         *'exrc'* *'ex'* *'noexrc'* *'noex'*
2599 'exrc' 'ex'             切替      (既定ではオフ)
2600                         グローバル
2601                         {Vi にはない}
2602         カレントディレクトリ内のファイル .vimrc, .exrc や .gvimrc 等の読み込み
2603         を有効にする。このオプションをオンにするなら、オプション 'secure' もオ
2604         ンにするよう検討すること (|initialization| を参照)。ファイル .exrc,
2605         .vimrc や .gvimrc にローカルなものを用いると潜在的な安全保護の漏れを招
2606         くので、注意して使うこと!
2607         |.vimrc| と |gui-init| も参照。
2608         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
2609         ス|sandbox|の中で設定することはできない。
2611                                 *'fileencoding'* *'fenc'* *E213*
2612 'fileencoding' 'fenc'   文字列 (既定では "")
2613                         バッファについてローカル
2614                         {Vi mが |+multi_byte| 機能付きでコンパイルされたときの
2615                         み有効}
2616                         {Vi にはない}
2617         カレントバッファのファイルの文字エンコーディングを設定する。
2618         'fileencoding' と 'encoding' が異なるとき、ファイルの書き出しの際に文
2619         字エンコーディングの変換が行われる。読み込みについては後述。
2620         'fileencoding' が空の場合、'encoding' と同じ値が使われる (ファイルの読
2621         み書きの際に変換をしない)。
2622         'encoding' と 'fileencoding' がともに Unicode エンコーディングであり、
2623         'fileencoding' が utf-8 でない場合にも変換が行われる。内部では Unicode
2624         は常に utf-8 で保持されているためである。
2625                 警告: 文字エンコーディングを変換すると、情報が失われるおそれが
2626                 ある!'encoding' が "utf-8" など Unicode エンコーディングだと、
2627                 変換は大抵成功するし、逆変換をしても同じテキストになる。
2628                 'encoding' が "utf-8" でないときは、失われる文字があるかもしれ
2629                 ない!
2630         指定可能な値については 'encoding' を参照。それらに加え、変換ツールで変
2631         換可能なエンコーディングの値も設定できる。|mbyte-conversion|を参照。
2632         ファイルを読み込むときは、'fileencoding' は 'fileencodings' の値の中か
2633         ら設定される。あるエンコーディングのファイルを読み込むには
2634         'fileencoding' を設定してもだめで、引数 |++enc| を使う。1つの例外:
2635         'fileencodings'が空のときは'fileencoding'の値が使われる。
2636         新規ファイルに対しては'fileencoding'のグローバルな値が使われる。
2637         "8bit-" や "2byte-" を頭に付けてもここでは意味がなく、無視される。
2638         オプションが設定されると、値は小文字に変換される。そのため、値を大文字
2639         で設定してもよい。アンダースコア(下線) '_' はハイフン '-' に変換される。
2640         値が 'encoding' の値に含まれることが認識されると、値は標準の名前に変換
2641         される。例えば "ISO_88592" は "iso-8859-2" になる。
2642         ファイルの編集を始めた後にこのオプションを設定すると、'modified' がオ
2643         ンになる。なぜならそのファイルの中身は、書き込まれるときには違うものに
2644         なるからである。
2645         これをモードラインから行うときは'modified'がオンになるのを避けるために
2646         'nomodified'を設定するとよいだろう。
2647         このオプションは、'modifiable' がオフのときには変更できない。
2649                                                         *'fe'*
2650         NOTE: Vim version 6.0 以前では、このオプションはVim全体の文字エンコー
2651         ディングを指定していたことに注意。これは誤りだった。そのためには代わり
2652         に 'encoding' を使うこと。古い省略形式の名前は 'fe' だが、これはもう使
2653         われていない。
2655                                         *'fileencodings'* *'fencs'*
2656 'fileencodings' 'fencs' 文字列 (既定値: "ucs-bom",
2657                                 'encoding' の値がUnicodeに設定されたときは
2658                                 "ucs-bom,utf-8,default,latin1")
2659                         グローバル
2660                         {Vi にはない}
2661                         {Vi mが |+multi_byte| 機能付きでコンパイルされたときの
2662                         み有効}
2663         値は、既存のファイルの編集を開始するときに考慮される文字エンコーディン
2664         グのリストである。ファイルが読み込まれると、Vimは指定されたうちの先頭
2665         の文字エンコーディングを使おうとする。そのときエラーが発見されると、値
2666         のリスト内で次に並んでいるエンコーディングが試される。あるエンコーディ
2667         ングでうまくいくとわかると、'fileencoding'がそれに設定される。すべての
2668         エンコーディングが失敗すると'fileencoding'は空文字列に設定され、
2669         'encoding'の値が使われることになる。
2670                 警告: 文字エンコーディングを変換すると、情報が失われるおそれが
2671                 ある!'encoding' が "utf-8" だと、変換は大抵成功するし、逆変換
2672                 をしても同じテキストになる。'encoding' が "utf-8" でないときは、
2673                 非アスキー文字が失われるかもしれない!変換できない文字をどう扱
2674                 うかは引数|++bad|で指定することができる。
2675         空ファイルやアスキー文字のみのファイルではほとんどのエンコーディングで
2676         うまくので、'fileencodings'の最初の値が使われる("ucs-bom"を除く。これ
2677         はBOMがなければいけない)。他のエンコーディングがよければ自動コマンドイ
2678         ベントBufReadPostを使って、そのエンコーディングが使われるかどうかを判
2679         定すること。例: >
2680                 au BufReadPost * if search('\S', 'w') == 0 |
2681                         \ set fenc=iso-2022-jp | endif
2682 <       これは、ファイルが空白文字しか含まないとき'fileencoding'を
2683         "iso-2022-jp"に設定する。
2684         引数|++enc|を使ったときは'fileencodings'の値は考慮されない。
2685         新規ファイルには'fileencodings'は適用されないことに注意。代わりに
2686         'fileencoding'のグローバルな値が適用される。これを設定するには: >
2687                 :setglobal fenc=iso-8859-2
2688 <       とする。これは存在しないファイルが空のファイルとは異なるエンコーディン
2689         グになることを意味する。
2690         ファイル先頭にユニコードの BOM (Byte Order Mark: バイト順マーク) があ
2691         るかどうか調べるには、"ucs-bom" という特別な値が使える。この値を
2692         "utf-8" 等のUnicode系の値よりも後に指定すると正しく機能しない。
2693         8ビットエンコーディング("latin1"など)の項目はリストの最後に書かなけれ
2694         ばならない。そうしないとVimがエラーを検出できず、常にそのエンコーディ
2695         ングが適用されてしまうためである。
2696         特別な値"default"を使うと環境からのエンコーディングが適用される。これ
2697         が'encoding'の既定の値である。これは'encoding'が"utf-8"に設定され、環
2698         境がロシア語などlatin1でないエンコーディングを使っているときに便利であ
2699         る。
2700         'encoding'が"utf-8"のとき、ファイルが不正なバイト列を含んでいるとその
2701         ファイルはUTF-8と認識されない。コマンド|8g8|を使うと不正なバイト列を見
2702         つけることができる。
2703         間違った値:                  どこが間違っているか:
2704                 latin1,utf-8            常に"latin1"が使われてしまう
2705                 utf-8,ucs-bom,latin1    utf-8のファイルでBOMが認識されない
2706                 cp1250,latin1           常に"cp1250"が使われてしまう
2707         'fileencodings' が空のときには 'fileencoding' は変更されない。
2708         設定可能な値については 'encoding' を参照すること。
2709         このオプションを設定しても次にファイルを読み込むときまでは効果がない。
2711                                         *'fileformat'* *'ff'*
2712 'fileformat' 'ff'       文字列 (MS-DOS, MS-Windows, OS/2 での既定値: "dos",
2713                                 Unix での既定値: "unix",
2714                                 Macintosh での既定値: "mac")
2715                         バッファについてローカル
2716                         {Vi にはない}
2717         バッファにファイルを読み込んだり、バッファからファイルに書き込んだりす
2718         るときに使われる <EOL> を、カレントバッファについて設定する。
2719             dos     <CR> <NL>
2720             unix    <NL>
2721             mac     <CR>
2722         "dos" が使われたとき、ファイル末尾の CTRL-Z は無視される。
2723         |file-formats| と |file-read| を参照。
2724         ファイルの文字エンコーディングについてはオプション 'fileencoding' を参
2725         照。
2726         'binary' がオンのときは、'fileformat' の実際の値は無視され、ファイルの
2727         読み書きは値が "unix' に設定されたときのように行われる。
2728         ファイルの編集を始めたときに 'fileformats' が空でなく、'binary' がオフ
2729         ならば、'fileformat' は自動的に設定される。
2730         ファイルの編集を始めた後にこのオプションを設定すると、'modified' がオ
2731         ンになる。なぜならそのファイルの中身は、書き込まれるときには違うものに
2732         なるからである。
2733         このオプションは、'modifiable' がオフのときは変更できない。
2734         後方互換性のために: このオプションが "dos" になると 'textmode' がオン
2735         になり、それ以外では 'textmode' はオフになる。
2737                                         *'fileformats'* *'ffs'*
2738 'fileformats' 'ffs'     文字列 (既定値:
2739                                 Vim+Vi  MS-DOS, MS-Windows OS/2: "dos,unix",
2740                                 Vim     Unix: "unix,dos",
2741                                 Vim     Mac: "mac,unix,dos",
2742                                 Vi      Cygwin: "unix,dos",
2743                                 Vi      その他: "")
2744                         グローバル
2745                         {Vi にはない}
2746         想定される改行 (<EOL>) の種類を指定する。これは新しいバッファの編集を
2747         始めたときと、ファイルを既存のバッファに読み込んだときに使われる。
2748         - 値が空のときは、オプション 'fileformat' で指定された種類の改行が常に
2749           使われる。自動的な設定は行われない。
2750         - 1種類の名前が設定されているときは、新しいバッファが開かれるときには
2751           常にその種類の改行が使われる。そのバッファでは、'fileformat' はこの
2752           オプションに従って設定される。'fileformats' は、ファイルを既存のバッ
2753           ファに読み込むときに使われる。その際、そのバッファで 'fileformat' が
2754           何に設定されていても関係ない。
2755         - 複数の名前がコンマで区切られて設定されているときは、ファイルを読み込
2756           むときに <EOL> の判別が自動的に行われる。Vimはファイルの編集を始める
2757           ときに、<EOL> を以下のように調べる。
2758           1. 全ての行が <CR><NL> で終わっており、かつ 'fileformats' が "dos"
2759              を含むなら、'fileformat' は "dos" になる。
2760           2. 改行に <NL> が使われていて、かつ 'fileformats' が "unix" を含むな
2761              ら、'fileformat' は "unix" になる。 Note <NL> があって、その前に
2762              <CR> がないと、"dos" より "unix" が優先的に使われることに注意。
2763           3. 'fileformats' に "mac" が含まれているときは、'fileformat' は必ず
2764              "mac" になる。つまり "mac" が選ばれるのは、"unix" が含まれていな
2765              いときか、ファイル内に一つも <NL> が使われておらず、かつ "dos" が
2766              含まれていないときか、ファイル内に <CR><NL> が一つも含まれていな
2767              いときである。
2768              また、始めに "unix" が選ばれたときでも、1個目の <CR> が1個目の
2769              <NL> より先に現れ、かつファイル内の <CR> の数が <NL> の数より多い
2770              と思われるときには、'fileformat' は "mac" になる。
2771           4. それでも 'fileformat' を決定できないときは、'fileformats' の中で
2772              最初に指定されている値が使われる。
2773           既存のバッファにファイルを読み込むときにも同じ経過をたどる。しかし
2774           'fileformat' は読み込まれるファイルについては適切に設定されるが、
2775           そのバッファでの値は変更されない。
2776         'binary' がオンのときは、'fileformats' は使われない。
2778         DOS形式の <EOL> (<CR><NL>) のシステムでは、コマンド ":source" で読み込
2779         まれるファイルと、ファイル vimrc については、<EOL> の判別が自動的に行
2780         われる。
2781         - 'fileformats' が空のときは、自動設定は行われない。常にDOS形式の改行
2782           が使われる。
2783         - 'fileformats' の値に1種類以上の名前が設定されているときは、自動設定
2784           が行われる。これはファイル内の1個目の <NL> に関して行われる。その前
2785           に <CR> があるときはDOS形式が使われ、そうでなければUnix形式が使われ
2786           る。
2787         また |file-formats| も参照。
2788         後方互換性のために: このオプションに、空の文字列か1種類だけの名前が設
2789         定されたとき (コンマが含まれていないとき) には、'textauto' はオフにな
2790         る。そうでなければ 'textauto' はオンになる。
2791         NOTE: このオプションは、'compatible' がオンのときはViの既定値に、オフ
2792         のときはVimの既定値になるので注意。
2794                                         *'filetype'* *'ft'*
2795 'filetype' 'ft'         文字列 (既定では "")
2796                         バッファについてローカル
2797                         {Vi にはない}
2798                         {Vi mが |+autocmd| 機能付きでコンパイルされたときのみ
2799                         有効}
2800         このオプションが変更されると autocommand のイベント FileType が発生し、
2801         このオプションの値にマッチする全ての autocommand が実行される。つ
2802         まり、(訳注: 普通 autocommand が実行されるのはファイル名がマッチしたと
2803         きだが) 'filetype' の値がファイル名の代わりに使われる。
2804         しかしこのオプションはカレントファイルのファイルタイプを常に反映してい
2805         るわけではない。普通このオプションは、ファイルタイプが判別されたときに
2806         設定される。判別を有効にするにはコマンド ":filetype on" を使うこと
2807         |:filetype|。
2808         ファイルタイプが自動的に認識されないファイルのモードラインで、このオプ
2809         ションを異なった値に設定すると非常に便利である。例えば、IDL ファイルの
2810         中でこうする。
2811                 /* vim: set filetype=idl : */ ~
2812         |FileType| |filetypes|
2813         値の中にドットが現れると、それが2つのファイルタイプ名の区切りとなる。
2814         例:
2815                 /* vim: set filetype=c.doxygen : */ ~
2816         こうすると最初にファイルタイプ"c"を使い、次にファイルタイプ"doxygen"を
2817         使う。これはファイルタイププラグインと構文ファイル両方に適用される。2
2818         個以上のドットが現れてもよい。
2819         このオプションを 'osfiletype' と混同してはいけない。こちらは実際にファ
2820         イルと共に保存されるファイルタイプのためのものである。
2821         このオプションは 'cpoptions' のフラグ 's' や 'S' に関わらず、別のバッ
2822         ファにはコピーされない。
2823         通常のファイル名文字だけが使える。"/\*?[|<>"は不正である。
2825                                                 *'fillchars'* *'fcs'*
2826 'fillchars' 'fcs'       文字列     (既定では "vert:|,fold:-")
2827                         グローバル
2828                         {Vi にはない}
2829                         {Vi mが |+windows| 機能と |+folding| 機能付きでコンパ
2830                         イルされたときのみ有効}
2831         ステータス行と垂直分割の区切りを埋める文字を設定する。値にはキーワード
2832         をコンマで区切って指定する。
2834           キーワード 既定値             変更の対象 ~
2835           stl:文字        ' ' か '^'       カレントウィンドウのステータス行
2836           stlnc:文字      ' ' か '-'       非カレントウィンドウのステータス行
2837           vert:文字       '|'             垂直分割の区切り |:vsplit|
2838           fold:文字       '-'             'foldtext' での空白部分
2839           diff:文字       '-'             'diff' での削除された行
2841         指定されなかったキーワードについては、既定値が使われる。"stl" と
2842         "stlnc" には、強調表示が行われているときは空白が、行われていないときは
2843         '^' と '-' がそれぞれ使われる。
2845         例: >
2846                 :set fillchars=stl:^,stlnc:-,vert:\|,fold:-,diff:-
2847 <       これは既定値と似ているが、強調表示が行われていてもこれらの文字が使われ
2848         る点が異なっている。
2850         "stl"と"stlnc"に対しては1バイトの値しか使用できない。
2852         強調表示が行われるものおよびその属するグループ:
2853           キーワード 強調表示グループ ~
2854           stl:文字        StatusLine              |hl-StatusLine|
2855           stlnc:文字      StatusLineNC            |hl-StatusLineNC|
2856           vert:文字       VertSplit               |hl-VertSplit|
2857           fold:文字       Folded                  |hl-Folded|
2858           diff:文字       DiffDelete              |hl-DiffDelete|
2860                                         *'fkmap'* *'fk'* *'nofkmap'* *'nofk'*
2861 'fkmap' 'fk'            切替      (既定ではオフ)                        *E198*
2862                         グローバル
2863                         {Vi にはない}
2864                         {Vi mが |+rightleft| 機能付きでコンパイルされたときの
2865                         み有効}
2866         オンのとき、キーボードは Farsi 文字セットにマップされる。
2867         普通、オプション 'allowrevins' をオンにしておき、insertモードでこのオ
2868         プションをコマンド CTRL-_ で切り替えられるようにする |i_CTRL-_|。
2869         |farsi.txt| を参照。
2871                                                 *'foldclose'* *'fcl'*
2872 'foldclose' 'fcl'       文字列 (既定では "")
2873                         グローバル
2874                         {Vi にはない}
2875                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2876                         有効}
2877         "all" に設定すると、カーソルが折り畳み区間の外に出たとき、その区間の折
2878         り畳みの深さがオプション 'foldlevel' より大きければ折り畳みを行う。折
2879         り畳み区間の外に出るとき、自動的に折り畳みを行いたいときに便利である。
2881                                                 *'foldcolumn'* *'fdc'*
2882 'foldcolumn' 'fdc'      数値 (既定では 0)
2883                         ウィンドウについてローカル
2884                         {Vi にはない}
2885                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2886                         有効}
2887         非0 に設定されると、ウィンドウの端の指定された幅の列が折り畳みを (開い
2888         ていても閉じていても) 表示する。最大値は 12 である。
2889         |folding| を参照。
2891                         *'foldenable'* *'fen'* *'nofoldenable'* *'nofen'*
2892 'foldenable' 'fen'      切替 (既定ではオン)
2893                         ウィンドウについてローカル
2894                         {Vi にはない}
2895                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2896                         有効}
2897         オフのときは、全ての折り畳みが開かれる。このオプションは、全てのテキス
2898         トを折り畳みなしで見る状態とテキストの一部を折り畳んで見る (手動で開か
2899         れたり閉じられた折り畳みも含む) 状態を素早く切り替えるために使われる。
2900         このオプションはコマンド |zi| で切り替えることができる。オプション
2901         'foldenable' がオフのときは、'foldcolumn' は空白のままである。
2902         このオプションは、新しい折り畳みを作ったり、折り畳みを閉じたりするコマ
2903         ンドによってオンにされる。
2904         |folding| を参照。
2906                                                 *'foldexpr'* *'fde'*
2907 'foldexpr' 'fde'        文字列 (既定では "0")
2908                         ウィンドウについてローカル
2909                         {Vi にはない}
2910                         {Vi mが |+folding| 機能と |+eval| 機能付きでコンパイル
2911                         されたときのみ有効}
2912         オプション 'foldmethod' が "expr" のときに使われる expression。これは
2913         折り畳みの深さを求めるために各行について評価される。|fold-expr| を参照。
2915         この式はサンドボックス|sandbox|の中で評価することもできる。
2916         |sandbox-option|を参照。
2917         'diff' がオンのとき、このオプションをモードライン |modeline| で設定す
2918         ることはできない。
2920         'foldexpr'を評価している最中にテキストを変更したり他のウィンドウへジャ
2921         ンプすることは許されていない。|textlock|
2923                                                 *'foldignore'* *'fdi'*
2924 'foldignore' 'fdi'      文字列 (既定では "#")
2925                         ウィンドウについてローカル
2926                         {Vi にはない}
2927                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2928                         有効}
2929         オプション 'foldmethod' が "indent" のときのみ使われる。'foldignore'
2930         で指定した文字で始まる行の折り畳みの深さは、上下の行から決められる (訳
2931         注: その行のインデントが上下と違っていても、一緒に折り畳めるようにする
2932         ため)。空白を無視した上で指定された文字の存在を調べる。
2933         既定値の "#" はC言語プログラムについてはうまく動作する。|fold-indent|
2934         を参照。
2936                                                 *'foldlevel'* *'fdl'*
2937 'foldlevel' 'fdl'       数値 (既定では 0)
2938                         ウィンドウについてローカル
2939                         {Vi にはない}
2940                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2941                         有効}
2942         折り畳みの深さを設定する。指定した数値よりレベルの深い折り畳み区間は閉
2943         じられる。このオプションを 0 に設定すると、全ての折り畳みが閉じられる。
2944         大きな数値を設定すると、それだけ閉じられる折り畳みの数は減る。
2945         このオプションはコマンド |zm|, |zM| や |zR| によって設定される。
2946         |fold-foldlevel| を参照。
2948                                                 *'foldlevelstart'* *'fdls'*
2949 'foldlevelstart' 'fdls' 数値 (既定では -1)
2950                         グローバル
2951                         {Vi にはない}
2952                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2953                         有効}
2954         ウィンドウで新しいバッファの編集を始めるときのオプション 'foldlevel'
2955         を設定する。編集開始時に常に全ての折り畳みを閉じておいたり (そのために
2956         は 0 にする)、いくつかを閉じておいたり (1 にする)、全て開いておいたり
2957         (99にする) するときに便利である。
2958         これによる設定はモードラインの読み込み前に行われるので、モードライン内
2959         での設定はこのオプションによる設定より優先される。ファイルの編集を
2960         |diff-mode| で開始してもやはりこのオプションは無視され、全ての折り畳み
2961         が閉じられる。
2962         またこれによる設定はイベント BufReadPre による autocommand よりも前に
2963         行われるので、特定のファイルについて autocommand で 'foldlevel' を上書
2964         きできる。
2965         値が負のときには、このオプションは使われない。
2967                                                 *'foldmarker'* *'fmr'* *E536*
2968 'foldmarker' 'fmr'      文字列 (既定では "{{{,}}}")
2969                         ウィンドウについてローカル
2970                         {Vi にはない}
2971                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2972                         有効}
2973         オプション 'foldmethod' が "marker" のときに使われる、折り畳み開始/終
2974         了を示すマーカー。開始マーカーと終了マーカーを分けるために、間に1個の
2975         コンマがなければいけない。マーカーはただの文字列である (正規表現では動
2976         作が遅すぎるだろう)。
2977         |fold-marker| を参照。
2979                                                 *'foldmethod'* *'fdm'*
2980 'foldmethod' 'fdm'      文字列 (既定では "manual")
2981                         ウィンドウについてローカル
2982                         {Vi にはない}
2983                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2984                         有効}
2985         カレントウィンドウに適用される折り畳みの種類を設定する。指定可能な値は
2986         以下の通り。
2987         |fold-manual|   manual      折り畳みは手動で設定する。
2988         |fold-indent|   indent      等しいインデントの行で折り畳みを作る。
2989         |fold-expr|     expr        オプション 'foldexpr' で深さを設定する。
2990         |fold-marker|   marker      マーカーで折り畳みを指定する。
2991         |fold-syntax|   syntax      構文強調表示のキーワードを使って指定する。
2992         |fold-diff|     diff        変更されていないテキストを折り畳む。
2994                                                 *'foldminlines'* *'fml'*
2995 'foldminlines' 'fml'    数値 (既定では 1)
2996                         ウィンドウについてローカル
2997                         {Vi にはない}
2998                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
2999                         有効}
3000         折り畳みで閉じられ得る画面上の行数の最小値を設定する。手動で閉じられた
3001         折り畳みにも適用される。
3002         Note このオプションは表示されるものに対してしか効力がないので注意。コ
3003         マンド "zc" を実行して閉じようとした折り畳みの行数が、オプション
3004         'foldminlines' の値よりも小さくて開いたままに表示されても、再び "zc"
3005         を使うと、それを含む折り畳みごと閉じられてしまうことがある。
3006         (訳注: 1回目のコマンド "zc" で閉じられなかった折り畳みは、画面上では開
3007         いていても内部では閉じられたと判断されるため、2回目のコマンドが今度は
3008         その外側の広い折り畳みに効力を持ち、それを閉じてしまうため)
3010                                                 *'foldnestmax'* *'fdn'*
3011 'foldnestmax' 'fdn'     数値 (既定では 20)
3012                         ウィンドウについてローカル
3013                         {Vi にはない}
3014                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
3015                         有効}
3016         折り畳みの方法に "indent" や "syntax" が選ばれたときの、折り畳みの入れ
3017         子の深さの最大値を設定する。これにより折り畳みが膨大に作られるのを防ぐ
3018         ことができる。Vim内部の制限が 20 になっているので、20 以上を設定しても
3019         無効である。
3021                                                 *'foldopen'* *'fdo'*
3022 'foldopen' 'fdo'        文字列 (既定では "block,hor,mark,percent,quickfix,
3023                                                              search,tag,undo")
3024                         グローバル
3025                         {Vi にはない}
3026                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
3027                         有効}
3028         カーソルがコマンドによって、閉じている折り畳みの中に移動したとき、どの
3029         種類のコマンドだったら折り畳みが開かれるかを指定する。値はコンマ区切り
3030         のキーワードである。
3031                 キーワード   適用されるコマンド ~
3032                 all             全て
3033                 block           "(", "{", "[[", "[{" 等
3034                 hor             水平移動: "l", "w", "fx" 等
3035                 insert          Insertモードのコマンド全て
3036                 jump            長いジャンプ: "G", "gg" 等
3037                 mark            マークへのジャンプ: "'m", CTRL-O 等
3038                 percent         "%"
3039                 quickfix        ":cn", ":crew", ":make" 等
3040                 search          パターン検索: "/", "n", "*", "gd" 等
3041                                 (":"コマンドでの検索パターンには適用されない)
3042                                 |[s|と|]s|にも適用される。
3043                 tag             タグへのジャンプ: ":ta", CTRL-T 等
3044                 undo            アンドゥ/リドゥ: "u" と CTRL-R
3045         コマンドがマッピングの一部として実行されたときは、このオプションは使わ
3046         れない。同じ効果を得るには、マッピングにコマンド |zv| を加えること。
3047         移動コマンドがオペレータとして使われたときは (例えば "dl" や "y%")、こ
3048         のオプションは使われない。つまりオペレータは閉じられている折り畳み全体
3049         を含む効果を持つということだ。
3050         Note 垂直方向の移動がここに含まれていないことに注意。それは垂直移動を
3051         含めると、閉じられた折り畳みの上への移動が困難になるからだ。Insertモー
3052         ドでテキストが挿入されるときには、カーソルが中に入っていった折り畳みは
3053         必ず開かれる。
3054         折り畳みを閉じるには、|zx| でオプション 'foldlevel' を再適用するか、
3055         'foldclose' を "all" にすればよい。
3057                                                 *'foldtext'* *'fdt'*
3058 'foldtext' 'fdt'        文字列 (既定では "foldtext()")
3059                         ウィンドウについてローカル
3060                         {Vi にはない}
3061                         {Vi mが |+folding| 機能付きでコンパイルされたときのみ
3062                         有効}
3063         閉じられた折り畳みのところに表示されるテキストを生成する expression を
3064         指定する。|fold-foldtext| を参照。
3066         この式はサンドボックス|sandbox|の中で評価することもできる。
3067         |sandbox-option|を参照。
3069         'foldexpr'を評価している最中にテキストを変更したり他のウィンドウへジャ
3070         ンプすることは許されていない。|textlock|
3072                                         *'formatoptions'* *'fo'*
3073 'formatoptions' 'fo'    文字列 (Vimの既定値: "tcq", Viの既定値: "vt")
3074                         バッファについてローカル
3075                         {Vi にはない}
3076         自動整形の実行方法を決めるフラグの列である。|fo-table| を参照。オプショ
3077         ン 'paste' がオンのときは、('formatoptions' が空のときのように) 整形は
3078         行われない。読みやすくするために、フラグの間にコンマを挟んでもよい。
3079         将来追加されるフラグによる問題を避けるため、コマンド ":set" では "+="
3080         と "-=" を使うこと |add-option-flags|。
3081         NOTE: このオプションは、'compatible' がオンのときはViの既定値に、オフ
3082         のときはVimの既定値になるので注意。
3084                                         *'formatlistpat'* *'flp'*
3085 'formatlistpat' 'flp'   文字列 (既定では "^\s*\d\+[\]:.)}\t ]\s*")
3086                         バッファについてローカル
3087                         {Vi にはない}
3088         リストのヘッダを認識するのに使われるパターン。'formatoptions'のフラグ
3089         "n"に適用される。
3090         このパターンにマッチする部分が、それ以下の行のインデントとなる。
3091         |/\ze|を使うとマッチの終わりをマークしつつ、さらに文字のチェックを続け
3092         ることができる。
3093         (訳注: 例えば、このオプションが既定の"^\s*\d\+[\]:.)}\t ]\s*"のとき、
3094         マッチする部分は
3095             1.    the first item
3096                   wraps
3097         ^^^^^^^^^^
3098          の部分である。既定の値に\zeをはさんで"^\s*\d\+[\]:.)}\t ]\ze\s*"とす
3099          ると、リストのヘッダと認識されるパターンはまったく変わらないが、次行
3100          のインデントが\ze以前の部分に等しくなる:
3101             1.    the first item
3102               wraps
3103         ^^^^^^
3104         )
3105         パターンの後ろに文字がなければならない。行全体がマッチすると、その行は
3106         マッチがないのと同様に扱われてしまう。
3107         既定では数字(後ろに句読点や空白があってもよい)を認識する。
3109                                                 *'formatprg'* *'fp'*
3110 'formatprg' 'fp'        文字列 (既定では "")
3111                         グローバル
3112                         {Vi にはない}
3113         選択された行をコマンド |gq| で整形するのに使われる外部プログラムの名前
3114         を指定する。使われるプログラムは標準入力からテキストを読み込み、整形さ
3115         れたテキストを標準出力に出力しなければいけない。Unixのプログラム "fmt"
3116         が代表である。
3117         オプション'formatexpr'が空でないならば、代わりにその値が使われる。この
3118         オプションが空ならば、内部の整形関数が使われる|C-indenting|。
3119         環境変数は展開される |:set_env|。値に空白や '\' を含める方法については、
3120         |option-backslash| を参照。
3121         この式をサンドボックス|sandbox|の中で評価することができる。
3122         |sandbox-option|を参照。
3124                                                 *'formatexpr'* *'fex'*
3125 'formatexpr' 'fex'      文字列 (既定では "")
3126                         バッファについてローカル
3127                         {Vi にはない}
3128                         {Vi mが|+eval|機能つきでコンパイルされたときのみ有効}
3129         オペレータ|gq|で行の範囲を整形するために評価される式。このオプションが
3130         空だと'formatprg'が使われる。
3132         変数|v:lnum|は整形される最初の行を保持する。
3133         変数|v:count|は整形される行数を保持する。
3134         変数|v:char|は挿入されることになる文字を保持する。これは空でもよい。
3135         Don't insert it yet!(訳注:どういう意味?)
3137         例: >
3138                 :set formatexpr=mylang#Format()
3139 <       これはautoload/mylang.vim中の関数mylang#Format()を呼ぶ。|autoload|
3141         また、'textwidth'がオンになっていて、テキストを追加しているときにその
3142         値を超えたときにもこの式が評価される。これは内部整形が使われるときと同
3143         じ条件で起こる。この式を評価した後のカーソル位置がテキストに対して元の
3144         位置と同じになるようにすること。この式を評価中は、関数|mode()|は"i"ま
3145         たは"R"を返す。この関数が非ゼロを返すと、Vimの内部整形メカニズムが使わ
3146         れる。
3148         この式はサンドボックス|sandbox|の中で評価することができる。
3149         |sandbox-option|を参照。
3151                                                 *'fsync'* *'fs'*
3152 'fsync' 'fs'            切替      (既定ではオン)
3153                         グローバル
3154                         {Vi にはない}
3155         これがオンになっていると、ファイル書き込みの後にライブラリ関数fsync()
3156         が呼ばれる。するとファイルがディスクにフラッシュされ、メタデータのみを
3157         ジャーナルするファイルシステム上でも安全に書き込みが行われるようになる。
3158         ラップトップモードで動作するLinuxシステム上で強制的にハードドライブを
3159         回転させることになるが、これはある種の状況では望ましくない。これをオフ
3160         にするとクラッシュ時にデータを失う可能性を高めることに注意。fsync()の
3161         実装がないシステム上ではこの変数は常にオフである。
3162         スワップファイルに対してfsync()をコントロールするには'swapsync'を参照。
3164                                    *'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
3165 'gdefault' 'gd'         切替      (既定ではオフ)
3166                         グローバル
3167                         {Vi にはない}
3168         オンのときは、コマンド ":substitute" のフラグ 'g' がオンであることが既
3169         定になる。つまり行内のマッチする文字列が、1番目のものだけでなく、全て
3170         置換される。":substitute" に 'g' が指定されると、逆に1番目のみを置換す
3171         るようになる。|complex-change| を参照。
3173                 コマンド    'gdefault' がオン  'gdefault' がオフ  ~
3174                 :s///         全て置換                最初だけ置換
3175                 :s///g        最初だけ置換      全て置換
3176                 :s///gg       全て置換                最初だけ置換
3178         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
3179         るので注意。
3181                                                 *'grepformat'* *'gfm'*
3182 'grepformat' 'gfm'      文字列     (既定では "%f:%l%m,%f  %l%m")
3183                         グローバル
3184                         {Vi にはない}
3185         コマンド ":grep" の出力を認識するための書式。
3186         オプション 'errorformat' と同じく、関数 scanf 風の書式指定を使う。
3187         |errorformat| を参照。
3189                                                 *'grepprg'* *'gp'*
3190 'grepprg' 'gp'          文字列     (既定では "grep -n ",
3191                                  Unixでは: "grep -n $* /dev/null",
3192                                  Win32では: "findstr /n" か "grep -n",
3193                                  VMSでは: "SEARCH/NUMBERS ")
3194                         グローバル/バッファについてローカル |global-local|
3195                         {Vi にはない}
3196         コマンド ":grep" で使われるプログラム。このオプションは文字 '%' や '#'
3197         を含んでもよい。これらはコマンドラインで使われるときのように展開される。
3198         引数の挿入される場所を指定するには "$*" が使える。環境変数は展開される
3199         |:set_env|。値に空白や '\' を含める方法については、|option-backslash|
3200         を参照。
3201         ユーザの "grep" が引数 "-H" を認識するなら、":grep" が1個のファイルに
3202         対しても適切に働くように、次のようにすること。 >
3203                 :set grepprg=grep\ -nH
3204 <       特別な値: 'grepprg'が"internal"に設定されていると、|:grep|は|:vimgrep|
3205         と同様に、|:lgrep|は|:lvimgrep|と同様に、|:grepadd|,
3206         |:vimgrepadd|,|:lgrepadd|は|:lvimgrepadd|と同様に働くようになる。
3207 <       |:make_makeprg| も参照。そこの記述のほとんどが 'grepprg' にも適用でき
3208         るからだ。
3209         Win32では、"findstr.exe" が見つかるならば既定値は "findstr /n" である。
3210         見つからなければ "grep -n" である。
3211         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
3212         ス|sandbox|の中で設定することはできない。
3214                         *'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
3215 'guicursor' 'gcr'       文字列     (既定では "n-v-c:block-Cursor/lCursor,
3216                                         ve:ver35-Cursor,
3217                                         o:hor50-Cursor,
3218                                         i-ci:ver25-Cursor/lCursor,
3219                                         r-cr:hor20-Cursor/lCursor,
3220                                         sm:block-Cursor
3221                                         -blinkwait175-blinkoff150-blinkon175")
3222                                 MS-DOSとWin32コンソールでは:
3223                                         "n-v-c:block,o:hor50,i-ci:hor15,
3224                                         r-cr:hor30,sm:block")
3225                         グローバル
3226                         {Vi にはない}
3227                         {Vi mのGUI版か、MS-DOSまたはWin32のコンソール版でのみ
3228                         有効}
3229         Vimのそれぞれのモード内でのカーソルの外観を指定する。GUI上では完全に機
3230         能する。MSDOSやWin32コンソールではカーソルの高さだけを変更する。これは
3231         ブロックカーソルを指定する、または垂直・水平方向のパーセンテージを指定
3232         することで行う。
3233         コンソール上ではエスケープシーケンス't_SI'と't_EI'が使われる。
3235         値はコンマ区切りのキーワードのリストである。リストは部門別に分かれてお
3236         り、各部門はモードリストと引数リストからなる。
3237                 モードリスト:引数リスト,モードリスト:引数リスト,..
3238         モードリストは、モードを表す以下の記号のダッシュ区切りのリストである。
3239                 n       Normalモード
3240                 v       Visualモード
3241                 ve      'selection' が "exclusive" のときの Visualモード (指定
3242                         されなければ 'v' と同じ設定)
3243                 o       Operator-pendingモード
3244                 i       Insertモード
3245                 r       Replaceモード
3246                 c       Command-line Normal (追加) モード
3247                 ci      Command-line Insertモード
3248                 cr      Command-line Replaceモード
3249                 sm      Insertモードでの対応括弧表示時
3250                 a       全てのモード
3251         引数リストは、以下の引数のダッシュ区切りのリストである。
3252                 hor{N}  文字高の {N}% の高さの水平バーカーソル
3253                 ver{N}  文字幅の {N}% の幅の垂直バーカーソル
3254                 block   文字全体を覆う大きさのブロックカーソル
3255                         [上の3個のうちの1個だけを指定できる]
3256                 blinkwait{N}                            *cursor-blinking*
3257                 blinkon{N}
3258                 blinkoff{N}
3259                         カーソルの点滅について指定する。blinkwait にはカーソル
3260                         が点滅を始めるまでの遅延時間を、blinkon にはカーソルが
3261                         表示される時間を、blinkoff にはカーソルが消えている時
3262                         間を指定する。時間の単位はミリ秒である。どれかに 0 を
3263                         指定すると、カーソルは点滅しない。既定では
3264                         "blinkwait700-blinkon400-blinkoff250" となっている。こ
3265                         れらは指定されなかった項目に適用される。つまり、既定で
3266                         は点滅するように設定されているということだ。点滅しない
3267                         ようにするには "blinkon0" を指定すればよい。カーソルが
3268                         点滅するのはVimが入力を待っている間で、コマンドを実行
3269                         している間は点滅しない。
3270                         カーソルを xterm の中で点滅させるには、|xterm-blink|
3271                         を参照。
3272                 {group-name}
3273                         カーソルの色とフォントを設定する、強調表示のグループ名
3274                         を指定する。
3275                 {group-name}/{group-name}
3276                         強調表示グループ名を2個指定する。1個目は言語マッピング
3277                         がないときに使われ、2個目は言語マッピングがあるときに
3278                         使われる。|language-mapping|
3280         値の一部の例:
3281            n-c-v:block-nCursor  Normalモード、Command-lineモードとVisualモード
3282                                 で、強調表示グループ "nCursor" で指定された色
3283                                 のブロックカーソルを使う。
3284            i-ci:ver30-iCursor-blinkwait300-blinkon200-blinkoff150
3285                                 InsertモードとCommand-line Insertモードで、強
3286                                 調表示グループ "iCursor" で指定された色の、文
3287                                 字高の30%の高さの垂直バーカーソルを使う。点滅
3288                                 は少し速くする。
3290         モード 'a' は他とは異なっていて、与えられた引数リストを全てのモードに
3291         対して設定し、指定されなかった引数は変更しない。これは全てのモードに共
3292         通の設定をするためにある。例えば、点滅を止めるには "a:blinkon0" とする。
3294         カーソル強調表示の例: >
3295                 :highlight Cursor gui=reverse guifg=NONE guibg=NONE
3296                 :highlight Cursor gui=NONE guifg=bg guibg=fg
3298         MS-DOSとWin32のコンソール版では、カーソルの高さのみを指定できる。ブロッ
3299         クカーソルを指定するか、垂直/水平バーカーソルの高さ/幅のパーセンテー
3300         ジを指定する。
3302                                         *'guifont'* *'gfn'*
3303                                                    *E235* *E596* *E610* *E611*
3304 'guifont' 'gfn'         文字列     (既定では "")
3305                         グローバル
3306                         {Vi にはない}
3307                         {Vi mのGUI版でのみ有効}
3308         VimのGUI版で使われるフォントのリストである。値の最も単純なものは、ただ
3309         1個のフォント名である。フォントが見つからないとき、エラーメッセージが
3310         表示される。別のフォント名を試すには、フォント名のコンマ区切りのリスト
3311         を指定できる。その中の最初の使用可能なフォントが使われる。
3312         オプション 'guifontset' が空でないとき、'guifont' は使われない。
3314         'guifontset'がサポートされているシステム上(X11)で、'guifontset'が空で
3315         ないならば'guifont'が使われる。
3317         コンマの後の空白は無視される。フォント名の中にコンマを指定するには、コ
3318         ンマの前に '\' を置くこと。さらにオプションの値の中で空白や '\' を使う
3319         には、それらの前に余分に '\' を置かなければならない。
3320         |option-backslash| も参照。例えば >
3321                 :set guifont=Screen15,\ 7x13,font\\,with\\,commas
3322                 (訳注: 結果は "Screen15, 7x13,font\,with\,commas")
3323 <       とすると、まずVimはフォント "Screen15" を使おうとし、だめなら代わりに
3324         "7x13" を、そして "font,with,commas" を使おうとする。
3326         フォントをどれも読み込めなかったら現在の設定のままになる。空のフォント
3327         リストが与えられると、他のリソースを使うことを試みる。
3329         Win32, GTKとPhotonのみでは: >
3330                 :set guifont=*
3331 <       とするとフォント選択ウィンドウが開き、望みのフォントを選択できる。フォ
3332         ントが何一つ読み込めないときは、そのままの設定が使われる。
3333         指定されたフォントリストが空のときは、Vimは他のリソースの設定を使おう
3334         とし (Xでは、リソース Vim.font を使う)、最終的には、必ず存在するはずの
3335         組み込みの既定フォントを使おうとする (Xの場合では "7x13")。指定される
3336         フォント名は "normal" な (訳注: 太字や斜字体でない) フォントでなければ
3337         ならない。Vimは関連する太字体や斜字体を見つけようとする。
3339         Win32, GTK, Mac OS, Photonでは: >
3340             :set guifont=*
3341 <       これはフォント選択ダイアログを開く。そこで望みのフォントを選択すること
3342         ができる。
3344         フォント名は使っているGUIに依存する。様々なシステムに対して'guifont'を
3345         設定する方法については|setting-guifont|を参照。
3347         GTK+ 2ではフォント名は次のようになる: >
3348             :set guifont=Andale\ Mono\ 11
3349 <       これだけである。もうXLFDは受け付けない。中国語の場合は以下の記述でうま
3350         くいくと報告されている: >
3351             if has("gui_gtk2")
3352               set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12
3353               set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12
3354             endif
3356         Mac OXSでは次のようにする: >
3357             :set guifont=Monaco:h10
3358 <       'macatsui'も参照。表示上の問題を解決する助けになる。
3359                                                                 *E236*
3360         Note フォントは等幅でなければならない (全ての文字が同じ幅でなければな
3361         らない)。例外はGTK 2である。どんなフォントでも受け付けるが、等幅フォン
3362         トがもっともきれいに見える。
3364         X11でフォントのプレビューをするには、プログラム "xfontsel" が使えるか
3365         もしれない。"xlsfonts" は、使用可能な全てのフォントのリストを与える。
3367         Win32のGUIについて                           *E244* *E245*
3368         - フォント名には以下のオプションを指定できる。
3369                 hXX - 文字高が XX (単位はポイント。浮動小数点数でもよい)
3370                 wXX - 文字幅が XX (単位はポイント。浮動小数点数でもよい)
3371                 b   - ボールド (太字体)
3372                 i   - イタリック (斜字体)
3373                 u   - 下線付き
3374                 s   - 打ち消し (文字を横切る線付き)
3375                 cXX - 文字セットが XX。使用可能なものは以下の通り: ANSI,
3376                       ARABIC, BALTIC, CHINESEBIG5, DEFAULT, EASTEUROPE,
3377                       GB2312, GREEK, HANGEUL, HEBREW, JOHAB, MAC, OEM,
3378                       RUSSIAN, SHIFTJIS, SYMBOL, THAI, TURKISH,
3379                       VIETNAMESE ANSI, BALTIC
3380                       通常は"cDEFAULT"を使うとよいだろう。
3382           オプションの区切りには ':' を使うこと。
3383         - 空白の代わりに '_' が使えるので、空白を '\' でエスケープする必要はな
3384           い。
3385         - 例: >
3386             :set guifont=courier_new:h12:w5:b:cRUSSIAN
3387             :set guifont=Andale_Mono:h7.5:w4.5
3388 <       |font-sizes| も参照。
3390                                         *'guifontset'* *'gfs'*
3391                                         *E250* *E252* *E234* *E597* *E598*
3392 'guifontset' 'gfs'      文字列     (既定では "")
3393                         グローバル
3394                         {Vi にはない}
3395                         {Vi mのGUI版で、|+xfontset| 機能付きでコンパイルされた
3396                         ときのみ有効}
3397                         {GTK+ 2 GUIでは利用できない}
3398         このオプションには2種類 (またはそれ以上) のフォントを指定する。値が空
3399         のときは無視される。 1種類目は普通の英語に使われるもので、2種類目はユー
3400         ザの使う特別な言語用である。 |xfontset| を参照。
3401         このオプションを設定すると、全てのフォント名はフォントセット名として扱
3402         われるようになる。またコマンド |:highlight| の引数 "font" に使われるも
3403         のも同様である。
3404         フォントはカレントロケールに適合していなければならない。カレントロケー
3405         ルの使用している文字セット用のフォントが値に含まれていないと、
3406         'guifontset' の設定は失敗する。
3407         Note 'guifont' と 'guifontset' の違いに注意。'guifont' では、コンマで
3408         区切られたフォント名は代替用で、そのうちのどれか一つが使われる。
3409         'guifontset' では、コンマも含めて値の文字列全体がフォントセット名を表
3410         す。代替フォントセットを指定することはできない。
3411         次の例は多くのX11システムで正しく機能する。 >
3412                 :set guifontset=-*-*-medium-r-normal--16-*-*-*-c-*-*-*
3414                                 *'guifontwide'* *'gfw'* *E231* *E533* *E534*
3415 'guifontwide' 'gfw'     文字列     (既定では "")
3416                         グローバル
3417                         {Vi にはない}
3418                         {Vi mのGUI版でのみ有効}
3419         2倍幅の文字に使われるフォントをコンマ区切りのリストで指定する。値が空
3420         のときは無視される。読み込み可能なフォントのうち先頭のものが使われる。
3421         Note: 指定したフォントの幅は、オプション 'guifont' で指定したフォント
3422         のちょうど2倍の幅で、同じ高さのものでなければならない。
3424         GTK+ 2を除くすべてのバージョン:
3426         'guifontwide'は、'encoding' が "utf-8" で、かつ 'guifontset' が空であ
3427         るか不適切なものであるときにのみ使われる。
3428         'guifont' が設定されていて、その中に適切なフォントが含まれており、かつ
3429         'guifontwide' が空のとき、Vimは適合する2倍幅のフォントを探し、
3430         'guifontwide' をそれに設定しようとする。
3432         GTK+ 2 GUI のみ:                  *guifontwide_gtk2*
3434         このオプションが設定されており、それが適切な値であるとき、'encoding'が
3435         "utf-8"でなくても常に2倍幅文字に対して'guifontwide'が使われる。
3436         Vimは自動的に'guifontwide'に適合する値を探そうとはしない。
3437         'guifontwide'が空ならばPango/Xftが'guifont'で利用できない文字に対する
3438         フォントを選ぶ。そのため、Pango/Xftが選んだ値を上書きしたいのでない限
3439         り、'guifontwide'を設定する必要はまったくない。
3441                                                 *'guiheadroom'* *'ghr'*
3442 'guiheadroom' 'ghr'     数値      (既定では 50)
3443                         グローバル
3444                         {Vi にはない} {Vi mのGTKとX11のGUI版でのみ有効}
3445         GUIウィンドウを画面に合わせるときに、画面の高さから差し引かれるピクセ
3446         ル数。このオプションはGUIを開始する前に、例えばファイル |gvimrc| 内で
3447         設定すること。値を 0 にすると、画面の高さ全体がウィンドウに使われる。
3448         正の値を指定すると、それだけのピクセル数がウィンドウの装飾や画面上の他
3449         のもののために残される。ウィンドウを画面よりも高くするには、負の値を指
3450         定すること。
3452                                                 *'guioptions'* *'go'*
3453 'guioptions' 'go'       文字列     (既定では "gmrLtT"   (MS-Windows),
3454                                          "agimrLtT" (GTK, MotifとAthena))
3455                         グローバル
3456                         {Vi にはない}
3457                         {Vi mのGUI版でのみ有効}
3458         このオプションはVimのGUI版でのみ有効である。値は、GUIのどのコンポーネ
3459         ントとオプションを使用するかを決定する、フラグの列である。
3460         将来追加されるフラグによる問題を避けるため、コマンド ":set" では "+="
3461         と "-=" を使うこと |add-option-flags|。
3463         使用できるフラグは以下の通りである。
3464                                                         *guioptions_a* *'go-a'*
3465           'a'   自動選択 (autoselect): 値に含まれると、Visualモードが開始され
3466                 るたび、またはVisual選択範囲が変更されるたびに、Vimはウィンド
3467                 ウシステム共通のクリップボードを使おうとする。つまりVisual選択
3468                 で選択されたテキストは、Vim自身はもとより他のアプリケーション
3469                 でも張り付けに使えるということだ。(おそらくテキストに操作を実
3470                 行したせいで) Visualモードが終了したり、アプリケーションが選択
3471                 領域を張り付けようとしたときには、強調されたテキストは自動的に
3472                 クリップボードレジスタ "* にコピーされる。そのためVisualモード
3473                 が終了した後でも、選択領域を他のアプリケーションに張り付けるこ
3474                 とができる。
3475                 含まれないと、レジスタ "* に対するコピーや張り付けによって陽に
3476                 指定されない限り、Vimはウィンドウシステム共通のクリップボード
3477                 を使おうとはしない。
3478                 モードレスセレクションについても同様である。
3480                                                                 *'go-A'*
3481           'A'   モードレスセレクションに対する自動選択。フラグ 'a' と似ている
3482                 が、モードレスセレクションにのみ適用される。
3484                     'guioptions'   Visualモード    モードレスセレクション ~
3485                          ""             X                       X
3486                          "a"            O                       O
3487                          "A"            X                       O
3488                          "aA"           O                       O
3490                                                                 *'go-c'*
3491           'c'   単純な選択にはポップアップダイアログでなくコンソールダイアログ
3492                 を使う。
3494                                                                 *'go-e'*
3495           'e'   'showtabline'で指定されたタイミングでタブを追加する。
3496                 'guitablabel'を使うとタブのラベルのテキストを変更することがで
3497                 きる。'e'がないと非GUIのタブページラインが使われる。GUIのタブ
3498                 はいくつかのシステム上(現在はGTK, Motif, Mac OS/X, MS-Windows)
3499                 でのみサポートされている。
3501                                                                 *'go-f'*
3502           'f'   フォアグラウンド (foreground): シェルからGUIを開始し、そのシェ
3503                 ルからgVimを独立させる際に関数 fork() を使わない。これはエディ
3504                 タが終了するのを待つプログラム (例えばメールプログラム等) に対
3505                 して使う。フォアグラウンドでGUIを開始するには、これの代わりに
3506                 "gvim -f" や ":gui -f" も使える |gui-fork|。
3507                 Note: このオプションはファイル vimrc 内で設定するよう注意。ファ
3508                 イル|gvimrc|が読み込まれたときはフォーキングがすでに実行されて
3509                 いるかもしれない。
3511                                                                 *'go-i'*
3512           'i'   Vimのアイコンを使う。KDEのGTKではウィンドウの左上に表示される。
3513                 GTKでないX11では、制限のため白黒のアイコンが使われる。色つきの
3514                 アイコンについては |X11-icon| を参照。
3516                                                                 *'go-m'*
3517           'm'   メニューバーを表示する。
3518                                                                 *'go-M'*
3519           'M'   システムメニューの実体 "$VIMRUNTIME/menu.vim" が読み込まれない。
3520                 Note このフラグは、構文認識やファイルタイプ認識を起動する前に、
3521                 ファイル .vimrc 内で追加されていなければならない (ファイル
3522                 .gvimrc が読み込まれたときには、システムメニューはすでに読み込
3523                 まれた後である。コマンド ":syntax on" と ":filetype on" でもメ
3524                 ニューは読み込まれる)。
3525                                                                 *'go-g'*
3526           'g'   メニュー項目の灰色表示: 無効のメニュー項目を灰色で表示する。含
3527                 まれていないと、無効のメニュー項目は全く表示されない。
3528                 例外: Athenaでは常にグレー表示を使う。
3529                                                                 *'go-t'*
3530           't'   メニュー項目の切り離しを有効にする。現在のところWin32, GTK+ と
3531                 Motif 1.2 GUI でのみ有効である。
3532                                                                 *'go-T'*
3533           'T'   ツールバーを表示する。現在のところWin32, GTK+ と Motif,
3534                 Photon, Athena GUIでのみ有効である。
3535                                                                 *'go-r'*
3536           'r'   右スクロールバーを常に表示する。
3537                                                                 *'go-R'*
3538           'R'   垂直分割されたウィンドウがあるときのみ、右スクロールバーを表示
3539                 する。
3540                                                                 *'go-l'*
3541           'l'   左スクロールバーを常に表示する。
3542                                                                 *'go-L'*
3543           'L'   垂直分割されたウィンドウがあるときのみ、左スクロールバーを表示
3544                 する。
3545                                                                 *'go-b'*
3546           'b'   下 (水平) スクロールバーを表示する。サイズは表示されている行の
3547                 中で一番長い行によって決まる。またはフラグ'h'が含まれていると
3548                 きはカーソル行によって決まる。|gui-horiz-scroll|
3549                                                                 *'go-h'*
3550           'h'   水平スクロールバーのサイズをカーソル行の長さに制限する。計算量
3551                 を軽減させる。|gui-horiz-scroll|
3553         そう、もちろん、本当に望むのなら、左スクロールバーと右スクロールバーを
3554         「両方」使うことだってできる :-) 詳しい情報については |gui-scrollbars|
3555         を参照。
3557                                                                 *'go-v'*
3558           'v'   ダイアログのボタン配置を垂直方向にする。含まれていないとなるべ
3559                 く水平方向の配置を使うが、収まらないときには結局、垂直配置が使
3560                 われる。
3561                                                                 *'go-p'*
3562           'p'   X11のGUIにおいて、ポインタ・コールバックを使う。ウィンドウマネー
3563                 ジャの中にはこれが必要なものもある。カーソルが正しいタイミング
3564                 で点滅したり変形したりしないときは、これを追加してみること。こ
3565                 れはGUIを開始する前に設定しなければならない。ユーザのファイル
3566                 |gvimrc|内で設定すること。GUIが開始した後にこのフラグを追加した
3567                 り取り除いたりしても、効果はない。
3568                                                                 *'go-F'*
3569           'F'   フッタを追加する。Motifでのみ有効である。|gui-footer| を参照。
3572                                                 *'guipty'* *'noguipty'*
3573 'guipty'                切替      (既定ではオン)
3574                         グローバル
3575                         {Vi にはない}
3576                         {Vi mのGUI版でのみ有効}
3577         GUI版でのみ有効である。オンのときは、シェルコマンドからの入力用および
3578         シェルコマンドへの出力用の仮想端末 pseudo-tty を開こうとする。
3579         |gui-pty| を参照。
3581                                                 *'guitablabel'* *'gtl'*
3582 'guitablabel' 'gtl'     文字列     (既定では空文字列)
3583                         グローバル
3584                         {Vi にはない}
3585                         {GUI と +windows 機能を有効にしてコンパイルされたとき
3586                         のみ利用可能}
3587         空文字列でない場合は、GUI のタブページ行のラベルを設定する。空文字列で
3588         あるか、または評価結果が空文字列である場合は、既定のラベルが使われる。
3589         より詳しくは |setting-guitablabel| を参照。
3591         このオプションのフォーマットは 'statusline' のフォーマットに似ている。
3592         ツールチップには 'guitabtooltip' が使われる。下記参照。
3594         GUI のタブページが表示されるときのみ使われる。'guioptions' に 'e' が含
3595         まれていなければならない。GUI でないタブページ行については 'tabline'
3596         が使われる。
3598                                                 *'guitabtooltip'* *'gtt'*
3599 'guitabtooltip' 'gtt'   文字列     (既定では空文字列)
3600                         グローバル
3601                         {Vi にはない}
3602                         {GUI と +windows 機能を有効にしてコンパイルしたときの
3603                         み利用可能}
3605         空文字列でない場合は、GUI のタブページ行のツールチップを設定する。空文
3606         字列である場合は、既定のツールチップが使われる。
3607         それ以外は上記の 'guitablabel' と同様。
3608         改行を含めることもできる。そのもっとも簡単な方法は |:let|を使うことで
3609         ある: >
3610                 :let &guitabtooltip = "line one\nline two"
3612                                         *'helpfile'* *'hf'*
3613 'helpfile' 'hf'         文字列     (既定では  MS-DOS: "$VIMRUNTIME\doc\help.txt"
3614                                         その他: "$VIMRUNTIME/doc/help.txt")
3615                         グローバル
3616                         {Vi にはない}
3617         ヘルプファイルの名前。Vim に付属のヘルプファイルは全て単一のディレクト
3618         リ内に一緒に置かれるべきである。そのディレクトリの他に、'runtimepath'
3619         中の全ての "doc" ディレクトリも対象になる。
3620         環境変数は展開される |:set_env|。例:
3621         "$VIMRUNTIME/doc/help.txt"。環境変数 $VIMRUNTIME が設定されてないとき
3622         は、$VIM も試される。|$VIMRUNTIME| を参照。値に空白や '\' を含めること
3623         については |option-backslash| も参照。
3624         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
3625         ス|sandbox|の中で設定することはできない。
3627                                                 *'helpheight'* *'hh'*
3628 'helpheight' 'hh'       数値      (既定では 20)
3629                         グローバル
3630                         {Vi にはない}
3631                         {Vi mが |+windows| 機能付きでコンパイルされたときのみ
3632                         有効}
3633         コマンド ":help" で開かれたヘルプウィンドウの、開始時のウィンドウ高の
3634         最小値を設定する。ヘルプウィンドウの開始時の高さはカレントウィンドウの
3635         半分であるか、(オプション 'ea' がオンのときには) 他のウィンドウと同じ
3636         である。ウィンドウ高が 'helpheight' より小さくなってしまうとき、実際の
3637         高さは 'helpheight' になる。こうしないようにするには 0 に設定すること。
3639                                                 *'helplang'* *'hlg'*
3640 'helplang' 'hlg'        文字列     (既定では: メッセージ言語または空)
3641                         グローバル
3642                         {Vi が |+multi_lang| 機能つきでコンパイルされたときの
3643                         み有効}
3644                         {Vi にはない}
3645         コンマ区切りの言語のリスト。これらの言語の中から、探しているヘルプが見
3646         つかった最初の言語を使う。英語のヘルプは常に優先度が最後になる。英語の
3647         優先度を上げるために "en" を追加することはできるが、そうしても、その言
3648         語に存在し、英語のヘルプに存在しないタグを見つけるだけである。
3649         訳注: 上の文よくわからない。
3650         例: >
3651                 :set helplang=de,it
3652 <       こうすると最初にドイツ語を検索し、次にイタリア語、そして最後に英語のヘ
3653         ルプファイルを検索する。
3654         |CTRL-]| や英語でないヘルプファイル中で ":help!" を使ったときは、この
3655         オプションより先に現在の言語からタグを検索する。|help-translated| を参
3656         照。
3658                                      *'hidden'* *'hid'* *'nohidden'* *'nohid'*
3659 'hidden' 'hid'          切替      (既定ではオフ)
3660                         グローバル
3661                         {Vi にはない}
3662         オフのときは、バッファは放棄 |abandon| されるときに解放される。オンの
3663         ときは、バッファは放棄 |abandon| されるときに隠れ (hidden) 状態になる。
3664         そのバッファが別のウィンドウでまだ表示されているなら、もちろん隠れ状態
3665         にはならない。
3666         バッファリストをわたって動くコマンドは 'hidden' がオフでもバッファを
3667         隠れ状態にすることがある。バッファの内容が変更されていて、'autowrite'
3668         がオフであるか書き込みが不可能な状態であり、フラグ '!' が使われたよう
3669         なときだ。|windows.txt| も参照。
3670         1つのバッファだけを隠れ状態にするにはオプション 'bufhidden' を使う。
3671         このオプションは、一つ一つのコマンドに対して ":hide {command}" とする
3672         ことでオンにできる |:hide|。
3673         警告: 隠れバッファに対する変更は忘れがちである。コマンド ":q!" や
3674         ":qa!" を使う前にはもう一度よく考えること。
3676                                                 *'highlight'* *'hl'*
3677 'highlight' 'hl'        文字列     (既定では (単一の文字列として):
3678                                      "8:SpecialKey,@:NonText,d:Directory,
3679                                      e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,
3680                                      M:ModeMsg,n:LineNr,r:Question,
3681                                      s:StatusLine,S:StatusLineNC,c:VertSplit
3682                                      t:Title,v:Visual,w:WarningMsg,W:WildMenu,
3683                                      f:Folded,F:FoldColumn,A:DiffAdd,
3684                                      C:DiffChange,D:DiffDelete,T:DiffText,
3685                                      >:SignColumn,B:SpellBad,P:SpellCap,
3686                                      R:SpellRare,L:SpellLocal,
3687                                      +:Pmenu,=:PmenuSel,
3688                                      x:PmenuSbar,X:PmenuThumb")
3689                         グローバル
3690                         {Vi にはない}
3691         このオプションは、様々な対象に対する強調表示モードを設定する。文字の組
3692         をコンマ区切りのリストとして指定する。1番目の文字は適用される対象を指
3693         定し、2番目の文字はその対象に適用するモードを指定する。
3694         対象は以下の通りである。
3695         |hl-SpecialKey|  8  ":map" でリスト表示されるメタキーと特殊キー
3696         |hl-NonText|     @  ウィンドウ末尾の '~' と '@' 、および 'showbreak'
3697                             によって表示される文字
3698         |hl-Directory|   d  CTRL-D によるリスト表示内のディレクトリや、その他
3699                             の特別な項目
3700         |hl-ErrorMsg|    e  エラーメッセージ
3701                          h  (古くて使われておらず、無視される)
3702         |hl-IncSearch|   i  'incsearch' の強調表示
3703         |hl-Search|      l  最終検索パターン強調表示 ('hlsearch' を参照)
3704         |hl-MoreMsg|     m  「継続」プロンプト |more-prompt|
3705         |hl-ModeMsg|     M  モード表示 (例えば "-- INSERT --")
3706         |hl-LineNr|      n  ":number" と ":#" 用の行番号
3707         |hl-Question|    r  「続けるには」プロンプト |hit-enter| とyes/no質問
3708         |hl-StatusLine|  s  カレントウィンドウのステータス行 |status-line|
3709         |hl-StatusLineNC| S 非カレントウィンドウのステータス行 |status-line|
3710         |hl-Title|       t  ":set all", ":autocmd" 等の出力のタイトル
3711         |hl-VertSplit|   c  ウィンドウの垂直分割に使われる区切り
3712         |hl-Visual|      v  Visualモード
3713         |hl-VisualNOS|   V  X11 Gui |gui-x11| と |xterm-clipboard| でのみ有効
3714                             な、選択領域をクリップボードに送らないVisualモード
3715                             (訳注: "Not Owning the Selection" をこういう意味に
3716                             取りましたが、勘違いかもしれません。どなたかご教授
3717                             ください)
3718         |hl-WarningMsg|  w  警告メッセージ
3719         |hl-WildMenu|    W  'wildmenu' によって表示されるワイルドカードマッチ
3720         |hl-Folded|      f  閉じられた折り畳みを表す行
3721         |hl-FoldColumn|  F  'foldcolumn'
3722         |hl-DiffAdd|     A  diff モードで追加された行
3723         |hl-DiffChange|  C  diff モードで変更された行
3724         |hl-DiffDelete|  D  diff モードで削除された行
3725         |hl-DiffText|    T  diff モードで挿入されたテキスト
3726         |hl-SignColumn|  >  |signs| に使われる桁
3727         |hl-SpellBad|    B  スペルミスの単語 |spell|
3728         |hl-SpellCap|    P  大文字で始まるべきの単語 |spell|
3729         |hl-SpellRare|   R  滅多に現れない単語 |spell|
3730         |hl-SpellLocal|  L  他の地域の単語 |spell|
3731         |hl-Pmenu|       +  ポップアップメニューの通常の行
3732         |hl-PmenuSel|    =  ポップアップメニューの通常の行
3733         |hl-PmenuSbar|   x  ポップアップメニューのスクロールバー
3734         |hl-PmenuThumb|  X  ポップアップメニューのスクロールバーのつまみ
3736         表示モードは以下の通りである。
3737                 r       反転              (termcapの項目 "mr" と "me")
3738                 i       斜字体             (termcapの項目 "ZH" と "ZR")
3739                 b       太字体             (termcapの項目 "md" と "me")
3740                 s       強調              (termcapの項目 "so" と "se")
3741                 u       下線              (termcapの項目 "us" と "ue")
3742                 c       undercurl       (termcapの項目 "Cs" と "Ce")
3743                 n       強調表示なし
3744                 -       強調表示なし
3745                 :       強調表示グループを使って設定
3746                 (訳注: 「文字の組」と書きながら、既定値はどれも2文字でないのは、
3747                 この ":" が使われているからである。これだけは例外で、グルー
3748                 プ名を使って指定できる)
3749         ユーザに指定されなかった項目については、既定値が使われる。
3750         表示モードの効果を変更したいなら、例として |dos-colors| を参照。
3751         表示モードに ':' を使うときは、その後に強調表示グループの名前を続けな
3752         ければならない。強調表示グループは、色も含めて強調表示のあらゆるタイプ
3753         を指定することができる。グループの定義方法については |:highlight| を参
3754         照。既定値では対象それぞれに異なったグループを使っている。既定の強調表
3755         示グループについては |highlight-default| を参照。
3757                                  *'hlsearch'* *'hls'* *'nohlsearch'* *'nohls'*
3758 'hlsearch' 'hls'        切替      (既定ではオフ)
3759                         グローバル
3760                         {Vi にはない}
3761                         {Vi mが |+extra_search| 機能付きでコンパイルされたとき
3762                         のみ有効}
3763         前回の検索パターンが存在するとき、それにマッチするテキストを全て強調表
3764         示する。強調表示のタイプは、オプション 'highlight' のフラグ 'l' によっ
3765         て設定できる。既定では強調表示グループ "Search" が使われる。 Note マッ
3766         チするテキストのみが強調表示されるので注意。オフセットは適用されない。
3767         'incsearch' とコマンド |:match| も参照。
3768         マッチするテキストが強調表示されるを見飽きたら、|:nohlsearch| で無効に
3769         切り替えることができる。再び検索コマンドを使えば、強調表示も再び行われ
3770         る。
3771         検索する時間の上限は 'redrawtime' で設定できる。
3772         検索パターンが行の終わり end-of-line にマッチするときは、Vimはマッチし
3773         たテキスト全体を強調表示しようとする。しかし、検索を開始した場所によっ
3774         て結果は異なる。ウィンドウの1番上の行または閉じられた折り畳みの次の行
3775         では、表示されない行内のマッチの強調表示は、表示されている行に継続しな
3776         い。
3777         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
3778         るので注意。
3780                                                 *'history'* *'hi'*
3781 'history' 'hi'          数値      (Vimの既定値: 20, Viの既定値: 0)
3782                         グローバル
3783                         {Vi にはない}
3784         ":" によるコマンドと以前に使った検索パターンの履歴は保存されるわけだが、
3785         このオプションはそれぞれの履歴に何個の項目が保存されるかを指定する
3786         (|cmdline-editing| を参照)。
3787         NOTE: このオプションはオプション 'compatible' がオンのときはViの既定値
3788         に、オフのときはVimの既定値になるので注意すること。
3790                                          *'hkmap'* *'hk'* *'nohkmap'* *'nohk'*
3791 'hkmap' 'hk'            切替      (既定ではオフ)
3792                         グローバル
3793                         {Vi にはない}
3794                         {Vi mが |+rightleft| 機能付きでコンパイルされたときの
3795                         み有効}
3796         オンのときは、キーボードはヘブライ文字セットにマップされる。普通、オプ
3797         ション 'allowrevins' をオンにしておき、insertモードでこのオプションを
3798         コマンド CTRL-_ で切り替えられるようにすることになる |i_CTRL-_|。
3799         |rileft.txt| を参照。
3800         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
3801         るので注意。
3803                                  *'hkmapp'* *'hkp'* *'nohkmapp'* *'nohkp'*
3804 'hkmapp' 'hkp'          切替      (既定ではオフ)
3805                         グローバル
3806                         {Vi にはない}
3807                         {Vi mが |+rightleft| 機能付きでコンパイルされたときの
3808                         み有効}
3809         オンのときは、キーボードは音声ヘブライ文字セットにマップされる。またオ
3810         プション 'hkmap' もオンでなければならない。これはユーザがヘブライ語キー
3811         ボードを持っていないときに便利である。
3812         |rileft.txt| を参照。
3813         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
3814         るので注意。
3816                                                 *'icon'* *'noicon'*
3817 'icon'                  切替      (既定ではオフ、タイトルが復元できるならばオン)
3818                         グローバル
3819                         {Vi にはない}
3820                         {Vi mが |+title| 機能付きでコンパイルされたときのみ有
3821                         効}
3822         オンのときは、ウィンドウのアイコンテキストが 'iconstring' に (値が空で
3823         なければ) 設定される。空ならば現在編集されているファイル名に設定される。
3824         ファイル名の末尾部分のみが使われる。
3825         この設定は 'iconstring' によって上書きできる。
3826         ターミナルがウィンドウアイコンの設定をサポートしているときのみ有効であ
3827         る (現在のところ X11 GUI とターミナルオプション 't_IS' の値が空でない
3828         ターミナルのみ --- これらは既定では Unix xterm と iris-ansi であり、こ
3829         のとき 't_IS' の値は組み込み termcap から取られる)。
3830         Vimが HAVE_X11 が定義された状態でコンパイルされたなら、可能であれば元
3831         のアイコンが復元される |X11|。X11でアイコンを変更するには |X11-icon|
3832         を参照。
3834                                                 *'iconstring'*
3835 'iconstring'            文字列     (既定では "")
3836                         グローバル
3837                         {Vi にはない}
3838                         {Vi mが |+title| 機能付きでコンパイルされたときのみ有
3839                         効}
3840         このオプションが空でないなら、ウィンドウのアイコンテキストに設定される。
3841         これは 'icon' がオンのときのみ使われる。
3842         ターミナルがウィンドウのアイコンテキストの設定をサポートしているときの
3843         み有効である (現在のところ X11 GUI とターミナルオプション 't_IS' の値
3844         が空でないターミナルのみ)。
3845         MS-Windowsでは無効である。
3846         Vimが HAVE_X11 が定義された状態でコンパイルされたなら、可能であれば元
3847         のアイコンが復元される |X11|。
3848         値に関数 printf 形式の '%' を使った項目が含まれていると、それらは
3849         'statusline' と同じように展開される。設定例は 'titlestring' を参照。
3850         {Vi mが |+statusline| 機能付きでコンパイルされたときのみ有効}
3852                         *'ignorecase'* *'ic'* *'noignorecase'* *'noic'*
3853 'ignorecase' 'ic'       切替      (既定ではオフ)
3854                         グローバル
3855         検索パターンにおいて大文字と小文字を区別しない。タグファイル内の検索に
3856         も適用される。
3857         オプション 'smartcase' も参照。
3858         パターン内で "\c" や "\C" を使うことで、この設定を上書きできる。
3859         |/ignorecase| を参照。
3861                                                 *'imactivatekey'* *'imak'*
3862 'imactivatekey' 'imak'  文字列 (既定では "")
3863                         グローバル
3864                         {Vi にはない}
3865                         {Vi mが |+xim| 機能と |+GUI_GTK| 機能付きでコンパイル
3866                         されたときのみ有効}
3867         X-Windowsでのインプットメソッド (IM) を起動するのに使われるキーを指定
3868         する。これが正しく設定されていれば、VimはIMをオプション 'imcmdline',
3869         'iminsert' や 'imsearch' によって完全に制御できる。
3870         このオプションで起動キーを変えることはできない。これはただVimにそのキー
3871         が何であるのか伝えるだけである。
3872         書式は以下の通り。
3873                 [MODIFIER_FLAG-]KEY_STRING
3875         以下の文字が MODIFIER_FLAG として使える (大文字でも小文字でもよい)。
3876                 S           シフトキー
3877                 L           ロックキー
3878                 C           コントロールキー
3879                 1           修飾キー1
3880                 2           修飾キー2
3881                 3           修飾キー3
3882                 4           修飾キー4
3883                 5           修飾キー5
3884         これらを組み合わせることができる。例えば "S-C-space" や "SC-space" は
3885         みな shift+ctrl+space を表す。
3886         KEY_STRING については <X11/keysymdef.h> と XStringToKeysym を参照。
3888         例: >
3889                 :set imactivatekey=S-space
3890 <       "S-space" は shift+space である。これは kinput2 + canna (日本語) およ
3891         び ami (韓国語) の起動キーである。
3893                                 *'imcmdline'* *'imc'* *'noimcmdline'* *'noimc'*
3894 'imcmdline' 'imc'       切替      (既定ではオフ)
3895                         グローバル
3896                         {Vi にはない}
3897                         {Vi mが |+xim| 機能または |+multi_byte_ime| 機能または
3898                         |+global-ime| 機能付きでコンパイルされたときのみ有効}
3899         オンのときは、コマンドラインの編集を始めるときには常にインプットメソッ
3900         ド (IM) がオンになる。ただし検索パターンの入力には適用されない (それに
3901         はオプション 'imsearch' を参照)。
3902         ユーザの IM が英語の文字を直接入力できるならば (例えば IM が、普段使わ
3903         れないキーからアクセント記号を入力する程度のものならば)、このオプショ
3904         ンをオンにすると便利である。
3906                                 *'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
3907 'imdisable' 'imd'       切替      (既定ではオフ、いくつかのシステム(SGI)ではオン)
3908                         グローバル
3909                         {Vi にはない}
3910                         {Vi mが |+xim| 機能または |+multi_byte_ime| 機能または
3911                         |+global-ime| 機能付きでコンパイルされたときのみ有効}
3912         オンのときは、インプットメソッド (IM) が全く使われなくなる。これは IM
3913         がうまく働かないとき、それを無効にしてしまうのに便利である。
3914         現在のところ、SGI/IRIX のマシンではオンになっているのが既定である。こ
3915         れは将来変更されるかもしれない。
3917                                                 *'iminsert'* *'imi'*
3918 'iminsert' 'imi'        数値 (既定では 0、インプットメソッドがサポートされてい
3919                               れば 2)
3920                         バッファについてローカル
3921                         {Vi にはない}
3922 訳注: iminsert=2 の場合、インサートモードを抜けると IM がオフにされます。
3923 訳注: 再度インサートモードに入ると、前回抜けたときの IM 状態が復元
3924 訳注: されます。この機能をオフにするには iminsert=0 にしてください。
3926         :lmap かインプットメソッド (IM) がインサートモードで使われるかどうかを
3927         指定する。指定できる値は以下の通り。
3928                 0       :lmap はオフ、IM もオフ
3929                 1       :lmap はオン、IM はオフ
3930                 2       :lmap はオフ、IM はオン
3931         値 2 は、Vimが |+multi_byte_ime| 機能または |+xim| 機能または
3932         |global-ime| 機能付きでコンパイルされたときのみ有効である。
3933         コマンド <Esc> でInsertモードを終える度に値を 0 に戻すには、次のように
3934         すればよい。 >
3935                 :inoremap <ESC> <ESC>:set iminsert=0<CR>
3936 <       これはInsertモードを終えるとき :lmap と IM を自動的にオフに切り替える。
3937         Note Insertモードでコマンド CTRL-^ を使うと、このオプションの値が変わ
3938         るので注意 |i_CTRL-^|。
3939         オプション 'keymap' に正しいキーマップ名が設定されると、このオプション
3940         は 1 になる。
3941         これはコマンド "r", "f" 等の引数にも適用される。
3942         AthenaとMotifでは、値を 0 に設定すると正しく働かないようなXIMがある。
3943         そのときは XIM を無効にするために 'imdisable' を使うこと。
3945                                                 *'imsearch'* *'ims'*
3946 'imsearch' 'ims'        数値 (既定では 0、インプットメソッドがサポートされてい
3947                               れば 2)
3948                         バッファについてローカル
3949                         {Vi にはない}
3950         :lmap かインプットメソッド (IM) が、検索パターンを入力するときに使われ
3951         るかどうかを指定する。指定できる値は以下の通り。
3952                 -1      'iminsert' の値が使われ、それが検索パターンの入力にも
3953                         適用されているかのように動作する
3954                 0       :lmap はオフ、IM もオフ
3955                 1       :lmap がオン、IM はオフ
3956                 2       :lmap はオフ、IM がオン
3957         Note Command-lineモードでコマンド CTRL-^ を使うと、このオプションが変
3958         わることに注意 |c_CTRL-^|。
3959         値が -1 でないなら、'keymap' に正しいキーマップ名が設定されると、この
3960         オプションは 1 になる。
3961         AthenaとMotifでは、値を 0 に設定すると正しく働かないようなXIMがある。
3962         そのときは XIM を無効にするために 'imdisable' を使うこと。
3964                                                 *'include'* *'inc'*
3965 'include' 'inc'         文字列     (既定では "^\s*#\s*include")
3966                         グローバル/バッファについてローカル |global-local|
3967                         {Vi にはない}
3968                         {Vi mが |+find_in_path| 機能付きでコンパイルされたとき
3969                         のみ有効}
3970         (訳注: プログラミング言語の) インクルード命令を探すのに使われるパター
3971         ンを設定する。値はコマンド "/" と同様の検索パターンである (|pattern|
3972         を参照)。既定値はC言語プログラム用に設定されている。このオプションはコ
3973         マンド "[i", "]I", "[d" 等に使われる。
3974         通常、マッチしたパターンの後に続くファイル名を認識するためにオプション
3975         'isfname' が使われる。しかしパターン中に "\zs" が入っている場合、
3976         "\zs" にマッチしたテキストから最後まで、または "\ze" が入っている場合
3977         はそこまでがファイル名として認識される。スペースなど、'isfname' に入っ
3978         ていない文字を含めるにはこれを使う。そして 'includeexpr' を使ってマッ
3979         チしたテキストを処理することができる。
3980         スペースとバックスラッシュを含める方法については|option-backslash| を
3981         参照。
3983                                                 *'includeexpr'* *'inex'*
3984 'includeexpr' 'inex'    文字列     (既定では "")
3985                         バッファについてローカル
3986                         {Vi にはない}
3987                         {Vi mが |+find_in_path| 機能と |+eval| 機能付きでコン
3988                         パイルされたときのみ有効}
3989         オプション 'include' が判別した文字列を、ファイル名に変換するために使
3990         われる expression を指定する。以下のようにして、Java言語で "." を "/"
3991         に変換するようなときに便利である。 >
3992                 :set includeexpr=substitute(v:fname,'\\.','/','g')
3993 <       変数 "v:fname" は、判別されたファイル名に設定される。
3994         このオプションの内容は |sandbox| 内でも評価される。
3995         コマンド |gf| でも、ファイルの実際の名前が見つからないときは、これが使
3996         われる。プログラミング言語の 'include' 文の後で "gf" を使えるようにな
3997         る。
3998         また |<cfile>| にも使われる。
4000         この式はサンドボックス |sandbox| の中でも評価することができる。
4001         |sandbox-option| を参照。
4003         'includeexpr' を評価している間に、テキストを変更したり他のウィンドウに
4004         移ることは許されない。|textlock|
4006                                  *'incsearch'* *'is'* *'noincsearch'* *'nois'*
4007 'incsearch' 'is'        切替      (既定ではオフ)
4008                         グローバル
4009                         {Vi にはない}
4010                         {Vi mが |+extra_search| 機能付きでコンパイルされたとき
4011                         のみ有効}
4012         検索コマンドを打ち込んでいる間にも、打ち込んだところまでのパターンがマッ
4013         チするテキストを、すぐに表示する。マッチした文字列は強調表示される。パ
4014         ターンが不適切であったり見つからなければ、何も表示されない。画面は次々
4015         更新されることになるので、このオプションは表示の速いターミナルでのみ有
4016         用である。
4017         Note マッチが表示されても、カーソルは実際にはマッチした場所に移動して
4018         いないので注意。カーソルを移動させるには、やはり <Enter> を打ち込んで
4019         検索コマンドを完了させる必要がある。
4020         |+reltime| 機能つきでコンパイルされているときは約0.5秒だけ検索する。複
4021         雑なパターンであったり、大量のテキストはマッチしない場合がある。これは
4022         文字をタイプしている途中で Vim が応答しなくなってしまうのを避けるため
4023         である。
4024         強調表示は、オプション'highlight' のフラグ 'i' によって設定できる。
4025         'hlsearch' も参照。
4026         CTRL-L を押すと、現在マッチしているテキストの後からコマンドラインへ1文
4027         字を追加することができる。
4028         CTRL-R CTRL-W を押すと、現在マッチしているテキストの末尾から単語を追加
4029         することができる。そのとき、既にタイプされている文字は除かれる。
4030         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
4031         るので注意。
4033                                                 *'indentexpr'* *'inde'*
4034 'indentexpr' 'inde'     文字列     (既定では "")
4035                         バッファについてローカル
4036                         {Vi にはない}
4037                         {Vi mが |+cindent| 機能と |+eval| 機能付きでコンパイル
4038                         されたときのみ有効}
4039         ある行の適切なインデントを得るために評価される expression。これは新し
4040         い行が作られるとき、オペレータ |=| が使われたとき、Insertモードでオプ
4041         ション 'indentkeys' で指定したキーを打ち込んだときに使われる。
4042         値が空でないとき、この設定が 'cindent' と 'smartindent' によるインデン
4043         トの設定を上書きする。
4044         'paste' がオンのとき、このオプションはインデントに使われない。
4045         指定された expression が評価されるとき、変数 |v:lnum| はインデント計算
4046         の対象となっている行の行番号に設定される。また、この式を評価するとき、
4047         カーソルもこの行に置かれる(移動してしまうかもしれないが)。
4048         指定された expression は、インデントすべき空白の数を返さなければならな
4049         い。そのままのインデントを保たせるには "-1" を返させればよい (つまり、
4050         こうするとインデントには 'autoindent' が使われる)。
4051         インデント深さを計算するのに便利な関数は、|indent()|, |cindent()| と
4052         |lispindent()| である。
4053         この expression の評価には副作用があってはならない!つまり、テキストを
4054         変更したり、 別のウィンドウに移動してはいけない。評価後にはカーソル位
4055         置は常に復元されるので、カーソルは移動してもよい。
4056         普通、このオプションは関数を呼び出すように設定される: >
4057                 :set indentexpr=GetMyIndent()
4058 <       'debug' が "msg" を含まないない限り、エラーメッセージの表示は抑制され
4059         る。
4060         |indent-expression| を参照。
4061         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
4062         るので注意。
4064         この式はサンドボックス |sandbox| の中で評価することができる。
4065         |sandbox-option| を参照。
4067         'includeexpr' を評価している間に、テキストを変更したり他のウィンドウに
4068         移ることは許されない。|textlock|
4070                                                 *'indentkeys'* *'indk'*
4071 'indentkeys' 'indk'     文字列     (既定では "0{,0},:,0#,!^F,o,O,e")
4072                         バッファについてローカル
4073                         {Vi にはない}
4074                         {Vi mが |+cindent| 機能付きでコンパイルされたときのみ
4075                         有効}
4076         Insertモードで打ち込まれたときに、現在行の再インデントを引き起こすキー
4077         のリスト。これはオプション 'indentexpr' が空でないときのみ起きる。
4078         書式は 'cinkeys' によって異なってくる。|indentkeys-format| を参照。
4079         |C-indenting| と |indent-expression| を参照。
4081                         *'infercase'* *'inf'* *'noinfercase'* *'noinf'*
4082 'infercase' 'inf'       切替      (既定ではオフ)
4083                         バッファについてローカル
4084                         {Vi にはない}
4085         Insertモードで単語補完 |ins-completion| をしているとき、このオプション
4086         と 'ignorecase' がオンならば、マッチした単語の大文字/小文字の区別は打
4087         ち込んだテキストに応じて修正される。打ち込んだテキストでは小文字だがマッ
4088         チした単語では大文字であるような所があれば、補完される部分もみな小文字
4089         になる。打ち込んだテキストには小文字が1個もなく、打ち込んだテキストで
4090         は大文字だがマッチした単語では小文字であるような所があり、かつその前に
4091         文字があるならば、補完される部分もみな大文字になる。
4092         'noinfercase' にすると、マッチした単語がそのまま挿入される。
4094                         *'insertmode'* *'im'* *'noinsertmode'* *'noim'*
4095 'insertmode' 'im'       切替      (既定ではオフ)
4096                         グローバル
4097                         {Vi にはない}
4098         VimがInsertモードを中心として動作するようになる。Vimをモードを持たない
4099         エディタとして使いたいときに便利である。|evim| で使われている。
4100         以下のInsertモードのコマンドが便利だろう。
4101         - カーソル移動に矢印キーを使う
4102         - 1個のNormalモードコマンドを実行するためにはコマンド CTRL-O を使う
4103           |i_CTRL-O|。コマンドが別のキー列にマッピングされていたときは、オプショ
4104           ン 'insertmode' がオフであるときのように実行される。つまりマッピング
4105           の内容が終了するまでNormalモードが続く。
4106         - 数個のNormalモードコマンドを使うためには先に CTRL-L を使い、その後
4107           Insertモードに戻るために <Esc> を使う。Note CTRL-L を使うと、
4108           'insertmode' をオフにして <Esc> を押したときと同様にカーソルが左へ移
4109           動する。|i_CTRL-L|
4111         'insertmode' がオンになると、以下の項目に変化がある。
4112         - ファイルの編集を始めたとき、VimはInsertモードになっている。
4113         - Insertモードで <Esc> を入力しても動作はなく (no-op)、ビープ音が鳴る。
4114         - Normalモードで <Esc> を入力するとInsertモードに移る。
4115         - Insertモードでの CTRL-L の入力はコマンドであり、挿入されない。
4116         - Insertモードで CTRL-Z を入力するとサスペンドする。|CTRL-Z|を参照。
4117                                                                 *i_CTRL-Z*
4118         しかしマッピング内で <Esc> が使われたときは、'insertmode' がオフのとき
4119         のように動作する。これは 'insertmode' がオンでもオフでも、同じマッピン
4120         グが使えるようにするためである。
4121         |:normal| でNormalモードコマンドを実行するときは、'insertmode' は使わ
4122         れない。
4124         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
4125         るので注意。
4127                                                 *'isfname'* *'isf'*
4128 'isfname' 'isf'         文字列     (MS-DOS, Win32とOS/2での既定値は:
4129                              "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,="
4130                             AMIGAでは: "@,48-57,/,.,-,_,+,,,$,:"
4131                             VMSでは: "@,48-57,/,.,-,_,+,,,#,$,%,<,>,[,],:,;,~"
4132                             OS/390では: "@,240-249,/,.,-,_,+,,,#,$,%,~,="
4133                             それ以外では: "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
4134                         グローバル
4135                         {Vi にはない}
4136         ファイル名やパス名に使われる文字を指定する。ファイル名はコマンド "gf",
4137         "[i" 等やタグファイル内で使われる。またパターン |pattern| 内の "\f" に
4138         も使われる。
4139         文字コードが 256 以上のマルチバイト文字は常に含まることになっているの
4140         で、文字コードが 255 以下の文字のみをこのオプションで指定する。
4141         UTF-8では、文字コードが 0xa0 から 0xff の文字は、同様に常に含まれる。
4142         このオプションに空白文字を加える場合はよく考えること! ファイル名にスペー
4143         スが含まれることはあるが、スペースを含めると、ファイル名補完の際に、ど
4144         こからどこまでがファイル名であるか判定できなくなってしまうだろう。おそ
4145         らくスペースは含めない方がよいだろう。
4147         Note '\' をパスの区切りに使うシステムでは、Vimは '\' がユーザの想定通
4148         りに働くよう最善を尽くす。これには少し巧妙なことをしている。なぜならVi
4149         は元々、'\' を特殊文字をエスケープするために使っていたからだ。そういっ
4150         たシステムでは、普通のファイル名の文字の前にある '\' を取り除かない。
4151         しかしUnix系列のシステムでは取り除く。既定では '&' と '^' は含まれない。
4152         それはこれらの文字が cmd.exe (訳注: Windows NTのシェル) にとって特別な
4153         意味を持つからである。
4155         このオプションの値の書式は、コンマ区切りの指定部のリストである。それぞ
4156         れの指定部は単一の文字または範囲指定からなる。範囲指定は2個の文字コー
4157         ドが '-' で区切られたものである。文字コードは 0 から 255 の10進整数だ
4158         が、代わりにASCIIキャラクタ自身を使ってもよい (ただし数字には使えない)。
4159         例:
4160                 "_,-,128-140,#-43"      ('_' と、'-' と、コードが 128 から 140
4161                                          までの文字と、'#' からコードが 43 ま
4162                                          での文字を含む)
4163         指定部が '^' で始まるとき、それに続く文字コードまたは範囲は指定から除
4164         外される。オプションは左から右に解釈されるので、指定したある範囲に除外
4165         したい文字があったら、それをその範囲の後に除外指定すること。文字 '^'
4166         自体を値に含みたいときは、値または指定部の最後に指定すること。例:
4167                 "^a-z,#,^"      ('a' から 'z' までの文字を除き、'#' と '^' を
4168                                  含む)
4169         文字として '@' を指定すると、関数 isalpha() で TRUE が返るような文字全
4170         てが含まれる。普通、それは a から z と A から Z の文字と、それらにアク
4171         セントのついたものである。文字 '@' 自身を値に含みたいときは、"@-@" と
4172         すること。例:
4173                 "@,^a-z"        アルファベットの仲間全て、ただしアルファベット
4174                                 の小文字は除く
4175                 "a-z,A-Z,@-@"   アルファベット全てと、文字 '@'
4176         コンマを含めるには、文字コードが来るはずのところにコンマをおけばよい。
4177         例:
4178                 "48-57,,,_"     数字と、コンマと、下線 (アンダースコア)
4179         コンマを除外するには、前に '^' をおく。例:
4180                 " -~,^,,9"      空白から '~' までの全ての文字、ただしコンマと
4181                                 <Tab> を除く
4182         値に空白や '\' を含める方法については、|option-backslash| を参照。
4184                                                 *'isident'* *'isi'*
4185 'isident' 'isi'         文字列     (MS-DOS, Win32とOS/2での既定値は:
4186                                            "@,48-57,_,128-167,224-235"
4187                                 それ以外では: "@,48-57,_,192-255")
4188                         グローバル
4189                         {Vi にはない}
4190         Identifier に使われる文字を指定する。Identifier は、環境変数の認識とオ
4191         プション 'define' のマッチしたところの後に使われる。またパターン
4192         |pattern| 内の "\i" にも使われる。このオプションの書式の説明は、
4193         'isfname' を参考にすること。
4194         注意: このオプションを変更すると、環境変数の展開に失敗するかもしれない。
4195         例えば値に '/' が含まれているときに "$HOME/.viminfo" を展開しようとす
4196         るとき等である。おそらく代わりに 'iskeyword' を変更するべきだろう。
4198                                                 *'iskeyword'* *'isk'*
4199 'iskeyword' 'isk'       文字列 (MS-DOSとWin32でのVimの既定値:
4200                                             "@,48-57,_,128-167,224-235"
4201                                    それ以外のシステムでのVimの既定値:
4202                                             "@,48-57,_,192-255"
4203                                 Viの既定値: "@,48-57,_")
4204                         バッファについてローカル
4205                         {Vi にはない}
4206         Keyword は、"w", "*", "[i" 等の多くのコマンドで検索と認識に使われる。
4207         またパターン |pattern| 内の "\k" にも使われる。このオプションの値の書
4208         式の説明については、オプション 'isfname' を参考にすること。C言語プログ
4209         ラムには "a-z,A-Z,48-57,_,.,-,>" が使えるだろう。
4210         ヘルプファイルでは、このオプションは '*', '"', '|' と空白の仲間を除い
4211         た全ての printable な文字 (訳注: 文書先頭を参照) に設定される (コマン
4212         ド上で CTRL-] を入力したときにそのコマンドについてのヘルプにジャンプで
4213         きるようにするため)。
4214         'lisp' がオンのときは、文字 '-' は常に含まれる。
4215         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
4216         値に、オフのときはVimの既定値になるので注意すること。
4218                                                 *'isprint'* *'isp'*
4219 'isprint' 'isp' 文字列     (MS-DOS, Win32, OS/2とMacintoshでの既定値:
4220                                 "@,~-255"; それ以外では: "@,161-255")
4221                         グローバル
4222                         {Vi にはない}
4223         このオプションで指定された文字は、画面に直接表示される。またパターン
4224         |pattern| 内の "\p" にも使われる。空白 (ASCIIコード 32) から '~'
4225         (ASCIIコード 126) までの文字は、'isprint' に指定されていなくても、また
4226         は除外指定されていても、常に直接表示される。このオプションの書式の説明
4227         は、'isfname' を参考にすること。
4229         unprintable な文字 (訳注: 文書先頭を参照) は、2文字で表示される。
4230                   0 -  31       "^@" - "^_"
4231                  32 - 126       常に1文字で表示される
4232                    127          "^?"
4233                 128 - 159       "~@" - "~_"
4234                 160 - 254       "| " - "|~"
4235                    255          "~?"
4236         'encoding' がUnicodeの一種だったときは、文字コードが 128 から 255 まで
4237         の不正な文字は、<xx> という形式で16進表示される。
4238         'display' に "uhex" が含まれているときは、全ての unprintable な文字が
4239         <xx> の形式で表示される。
4240         unprintable な文字には、強調表示グループ SpecialKey が使われる
4241         |hl-NonText|。
4243         文字コードが 256 以上のマルチバイト文字は常に含まれることになっている
4244         ので、文字コードが 255 以下の文字のみをこのオプションに指定する。文字
4245         が本来は printable だが現在のフォントでは表示できないときは、代替文字
4246         が表示される。
4247         Unprintable またはゼロ幅のUnicode文字は <xxxx> という形式で表示される。
4248         そういった文字を指定するオプションはない。
4250                         *'joinspaces'* *'js'* *'nojoinspaces'* *'nojs'*
4251 'joinspaces' 'js'       切替      (既定ではオン)
4252                         グローバル
4253                         {Vi にはない}
4254         行連結コマンドにおいて、 '.', '?' や '!' の後に空白を 2 個挿入する。オ
4255         プション 'cpoptions' にフラグ 'j' が含まれるときは、'.' の後にのみ空白
4256         を2個挿入する。
4257         それ以外では空白は1個だけ挿入される。
4258         NOTE: このオプションは、オプション 'compatible' がオンのときにはオンに
4259         なるので注意。
4261                                                         *'key'*
4262 'key'                   文字列     (既定では "")
4263                         バッファについてローカル
4264                         {Vi にはない}
4265         カレントバッファを暗号化したり復号したりするのに使われるキー。
4266         |encryption| を参照。
4267         注意: このキーの値を手動で (訳注: コマンド ":set" を使って、ということ)
4268         設定しないこと。誰かが入力された文字を盗み見るかもしれない。代わりにコ
4269         マンド |:X| を使うこと。しかし次のようにして、'key' を空にするのはよい。 >
4270                 :set key=
4271 <       このオプションの値は、":set key" や "echo &key" 等で得ることはできない。
4272         これは、値を知るべきでない人に知られないようにするためである。このこと
4273         はまた、設定してしまうとユーザ自身も値を知ることができないということで
4274         ある。タイプミスをしないよう注意!
4276                                         *'keymap'* *'kmp'* *E544*
4277 'keymap' 'kmp'          文字列     (既定では "")
4278                         バッファについてローカル
4279                         {Vi にはない}
4280                         {Vi mが |+keymap| 機能付きでコンパイルされたときのみ有
4281                         効}
4282         キーマッピングの名前を指定する。|mbyte-keymap| を参照。
4283         このオプションを適正なキーマップ名に設定すると、キーマッピングが有効に
4284         なるようにオプション 'iminsert' が 1 になるという影響がある。また
4285         'imsearch' も、元が -1 でない限り 1 になる。
4286         通常のファイル名文字だけが使用できる。"/\*?[|<>" は不正である。
4288                                         *'keymodel'* *'km'*
4289 'keymodel' 'km'         文字列     (既定では "")
4290                         グローバル
4291                         {Vi にはない}
4292         キーで可能なことを指定するためのキーワードの、コンマ区切りのリスト。指
4293         定可能なキーワードは以下の通りである。
4294            startsel     シフトキーと特別なキーを同時に押して選択を開始する
4295                         (SelectモードとVisualモードのどちらでも、オプション
4296                         'selectmode' で指定された "キー" によって)。
4297            stopsel      シフトキーを押さないままの特別なキーで選択を止める。
4298         ここでいう「特別なキー」とはカーソルキー、<End>, <Home>, <PageUp> や
4299         <PageDown> である。
4300         'keymodel' は、コマンド |:behave| によって設定される。
4302                                         *'keywordprg'* *'kp'*
4303 'keywordprg' 'kp'       文字列     (既定では "man" または "man -s",  DOSでは:
4304                                 ":help", OS/2では: "view /", VMSでは: "help")
4305                         グローバルまたはバッファについてローカル|global-local|
4306                         {Vi にはない}
4307         コマンド |K| に使われるプログラム。環境変数は展開される |:set_env|。
4308         Vim の内部ヘルプを開くコマンドは ":help" である(以前はこのオプションの
4309         グローバル値を空にすると Vim の内部ヘルプが使われたが、今は推奨されて
4310         いない)。
4311         "man" が指定されたときは、"K" に指定されたカウントは自動的に章番号に変
4312         換される。"man -s" でも同様で、この場合カウントがないときは "-s" は取
4313         り除かれる。
4314         値に空白や '\' を含める方法については、|option-backslash| を参照。
4315         例: >
4316                 :set keywordprg=man\ -s
4317 <       安全上の理由から、このオプションをモードライン|modeline|やサンドボック
4318         ス|sandbox|の中で設定することはできない。
4320                                         *'langmap'* *'lmap'* *E357* *E358*
4321 'langmap' 'lmap'        文字列     (既定では "")
4322                         グローバル
4323                         {Vi にはない}
4324                         {Vi mが |+langmap| 機能付きでコンパイルされたときのみ
4325                         有効}
4326         このオプションでは、ユーザのキーボードを特別な言語モードに切り替えられ
4327         るようにする。 Insertモードで文字を入力しているときは、文字は直接入力
4328         される。しかしCommandモードではオプション 'langmap' により、入力された
4329         特別な文字をキー本来の文字に変換する。つまりNormalモードコマンドを実行
4330         するためにキーボードモードを変更しなくともよいということである。
4331         このオプションは 'keymap' と正反対のものである。'keymap' はInsertモー
4332         ドでマッピングを行う。
4334         例 (ギリシア語に対して、UTF-8で):                   *greek*  >
4335             :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
4336 <       例 (コマンドの z と y の意味の交換): >
4337             :set langmap=zy,yz,ZY,YZ
4339         'langmap' は、コンマ区切りの指定部のリストである。
4340         それぞれの指定部は次の2種類のうちどちらかの形式に従う。
4341         1.  2文字の組のリスト。変換「元」の文字の直後に変換「先」の文字を置い
4342             て組を作る。例: "aA", "aAbBcC"
4343         2.  変換「元」の文字のリスト、セミコロン、変換「先」の文字のリスト。
4344             例: "abc;ABC"
4345         例: "aA,fgh;FGH,cCdDeE"
4346         特別な文字は '\' を前に置く必要がある。そのような文字は ";", ',' と
4347         '\' 自身である。
4349         Langmap を使えば言語間の切り替えなしにVimの機能を有効化することができ
4350         る。以下のような場合では、ユーザの言語の文字でも、Vimは (langmap のマッ
4351         ピングに従って) 通常の英語の文字として理解できる。
4352          o Normal/Visualモード (コマンド、バッファ/レジスタ名、ユーザのマッピ
4353            ング)
4354          o Insert/Replaceモード: CTRL-R 入力後のレジスタ名
4355          o Insert/Replaceモード: マッピング
4356         Command-lineモードで入力された文字には、このオプションは効力を「持たな
4357         い」。Note このオプションは、異なった言語/エンコーディング用のマッピ
4358         ングを切り替えられるときにはいつでも設定を変更できることに注意。毎回マッ
4359         ピング設定を打ち込まずに済むようにするには、マッピングを使うこと!
4361                                         *'langmenu'* *'lm'*
4362 'langmenu' 'lm'         文字列     (既定では "")
4363                         グローバル
4364                         {Vi にはない}
4365                         {Vi mが |+menu| 機能と |+multi_lang| 機能付きでコンパ
4366                         イルされたときのみ有効}
4367         メニュー翻訳に使われる言語。つまり 'runtimepath' 内のディレクトリ
4368         "lang" からどのファイルを読み込むのか指定する。指定方法は次の通り (空
4369         白はなし)。 >
4370                 "lang/menu_" . &langmenu . ".vim"
4371 <       例えば、環境変数 $LANG が何に設定されていても、常にオランダ語メニュー
4372         を使うには、次のようにする。 >
4373                 :set langmenu=nl_NL.ISO_8859-1
4374 <       'langmenu' が空のときは、変数 |v:lang| が使われる。
4375         通常のファイル名文字だけが使用できる。"/\*?[|<>" は不正である。
4376         ユーザの環境変数 $LANG は英語以外の言語だが、必ず英語のメニューを使い
4377         たいならば、次のようにする。 >
4378                 :set langmenu=none
4379 <       このオプションは、メニューの読み込み、ファイルタイプ判定の起動、構文強
4380         調表示の起動のいずれよりも先に設定しなければならない。メニューが定義さ
4381         れてしまうと、このオプションを設定しても何の効果もない。しかしこうする
4382         ことはできる。 >
4383                 :source $VIMRUNTIME/delmenu.vim
4384                 :set langmenu=de_DE.ISO_8859-1
4385                 :source $VIMRUNTIME/menu.vim
4386 <       注意: こうすると、ユーザ自身の定義したメニューも含む、全てのメニューが
4387         いったん削除される!
4389                                         *'laststatus'* *'ls'*
4390 'laststatus' 'ls'       数値      (既定では 1)
4391                         グローバル
4392                         {Vi にはない}
4393         最下ウィンドウにいつステータス行が表示されるかを設定する。
4394                 0: 全く表示しない
4395                 1: ウィンドウの数が2以上のときのみ表示
4396                 2: 常に表示
4397         ウィンドウをいくつか表示しているときには、ステータス行があると見栄えが
4398         よくなる。しかし画面上の行をさらに必要とする。|status-line|
4400                         *'lazyredraw'* *'lz'* *'nolazyredraw'* *'nolz'*
4401 'lazyredraw' 'lz'       切替      (既定ではオフ)
4402                         グローバル
4403                         {Vi にはない}
4404         オンのときは、マクロやレジスタの内容およびその他のキーボードから打ち込
4405         まれないコマンドを実行する間、画面は再描画されなくなる。また、ウィンド
4406         ウタイトルの更新も後回しになる。画面の再描画を強制的に行うには、コマン
4407         ド |:redraw| を使うこと。
4409                         *'linebreak'* *'lbr'* *'nolinebreak'* *'nolbr'*
4410 'linebreak' 'lbr'       切替      (既定ではオフ)
4411                         ウィンドウについてローカル
4412                         {Vi にはない}
4413                         {Vi mが |+linebreak| 機能付きでコンパイルされたときの
4414                         み有効}
4415         オンのときは、画面に収まりきる最後の文字ではなく、オプション 'breakat'
4416         に指定された文字のところで、長い行を折り返す。'wrapmargin' や
4417         'textwidth' と違い、これはファイルに実際の <EOL> を挿入しない。このオ
4418         プションが影響するのはファイルの表示方法であり、内容ではない。
4419         'showbreak' に設定された文字が折り返された行の先頭に置かれる。このオプ
4420         ションは、'wrap' がオフであるか、'list' がオンのときには使われない。
4421         Note 大抵、<EOL> の後の <Tab> は正しい数の空白として表示されないので注
4422         意。
4424                                                 *'lines'* *E593*
4425 'lines'                 数値      (既定では 24 またはターミナルの高さ)
4426                         グローバル
4427         画面上の行数。普通このオプションはターミナルの初期化の時点で設定され、
4428         手動で設定する必要はない。|posix-screen-size| も参照。
4429         VimがGUI環境内やサイズ変更可能なウィンドウ内で実行されているときは、こ
4430         のオプションを変更するとウィンドウサイズも変更される。このサイズ設定を
4431         GUI でだけ使用したいなら、このコマンドを |gvimrc| ファイルに書くこと。
4432         行数の最大値は、画面に収まる行数に制限される。可能な限りウィンドウの高
4433         さを大きくするには次のコマンドを使う: >
4434                 :set lines=999
4435 <       最小値は2、最大値は1000。
4436         行数が期待したのより少なかったら、オプション 'guiheadroom' を確認する
4437         こと。
4438         あなたがこのオプションを変更したのに、Vimがディスプレイの行数の物理的
4439         な値を変更できなかったら、ディスプレイ表示がめちゃめちゃになるおそれが
4440         ある。
4441         (訳注: オプション 'columns' も参照)
4443                                                 *'linespace'* *'lsp'*
4444 'linespace' 'lsp'       数値      (既定では 0, Win32のGUI版では 1)
4445                         グローバル
4446                         {Vi にはない}
4447                         {Vi mのGUI版でのみ有効}
4448         行間の幅のピクセル数。フォントが文字セルの高さを一杯に使っていて、行同
4449         士が接触してしまうときに便利である。1 以上のときには下線を引く余裕がで
4450         きる。
4451         フォントによっては行間が広すぎることがある。その場合は 'linespace'を負
4452         の値にすると調整することができる。しかしそうすると表示に問題が出る場合
4453         がある。
4454                                                 *'lisp'* *'nolisp'*
4455 'lisp'                  切替      (既定ではオフ)
4456                         バッファについてローカル
4457                         {Vi mが |+lispindent| 機能付きでコンパイルされたときの
4458                         み有効}
4459         Lispモード: Insertモードで <Enter> が入力されると、次の行のインデント
4460         を Lisp の標準 (というかまあ、その一種) にする。また "cc" や "S" でも
4461         同様である。これが機能するにはオプション 'autoindent' もオンでなければ
4462         ならない。'cpoptions' のフラグ 'p' はインデントの方法 (Vi互換か、より
4463         良い方法か) を変更する。'lispwords' も参照。
4464         キーワードを構成する文字に '-' も含まれるようになる。'equalprg' が空の
4465         ときには、外部プログラムを呼び出さず、Lisp用のインデント用アルゴリズム
4466         を使うように、オペレータ "=" を再定義する。
4467         このオプションは、'paste' がオンのときには使われない。
4468         {Vi では微妙に動作が違う}
4470                                                 *'lispwords'* *'lw'*
4471 'lispwords' 'lw'        文字列     (既定値はとても長い)
4472                         グローバル
4473                         {Vi にはない}
4474                         {Vi mが |+lispindent| 機能付きでコンパイルされたときの
4475                         み有効}
4476         Lisp用のインデント方法を設定するキーワードの、コンマ区切りのリスト。
4477         |'lisp'|
4479                                                 *'list'* *'nolist'*
4480 'list'                  切替      (既定ではオフ)
4481                         ウィンドウについてローカル
4482         listモード: タブ文字を CTRL-I で表示し、行末に $ を表示する。タブ文字
4483         と空白文字との差異や、行末に続く空白の差異を見るのに便利である。
4484         オプション 'listchars' でより詳しく表示方法を設定できる。
4486         カーソルはタブが占める桁の最初の位置に表示される。nolist の場合はノー
4487         マルモードでカーソルをタブの上に移動させると、タブが占める桁の最後の位
4488         置にカーソルが表示されるが、それと異なる。タブをスペースで表示しつつ、
4489         カーソル位置をそのように変えたいなら、次のようにする: >
4491                 :set list lcs=tab:\ \
4492         (訳注: 最後、バックスラッシュの後にスペースがあることに注意)
4494         Note オプション 'cpoptions' がフラグ 'L' を含むならば、このオプション
4495         は整形コマンドにも影響することに注意 ('textwidth' や 'wrapmargin' と共
4496         に設定されたとき)。タブの表示方法の変更については、'listchars' を参照。
4498                                                 *'listchars'* *'lcs'*
4499 'listchars' 'lcs'       文字列     (既定では "eol:$")
4500                         グローバル
4501                         {Vi にはない}
4502         Listモード (訳注: オプション 'list' がオンのとき) に使われる文字を設定
4503         する。値は指定文字列のコンマ区切りのリストである。
4504           eol:文字        行末の表示に使われる文字。指定されないと、行末には何も
4505                         表示されない。
4506           tab:2文字       タブ文字の表示に使われる文字。1文字目は1回だけ使われる。
4507                         2文字目はタブが通常占めるだけの空白を埋めるまで繰り返
4508                         し表示される。
4509                         "tab:>-" とすると、タブが4文字の設定では ">---" となる。
4510                         指定されないと、タブは ^I と表示される。
4511           trail:文字      行末の空白の表示に使われる文字。指定されないと、行末の
4512                         空白は何も見えない。
4513           extends:文字    'wrap' がオフで、行が画面の右端よりも伸びているときに、
4514                         最終列に表示される文字。
4515           precedes:文字   'wrap' がオフで、最前列で表示されている最初
4516                         の文字より前にテキストが存在するとき (訳注: 上の行の末
4517                         尾が画面の右端より伸びているとき) に、最前列に表
4518                         示される文字。
4519           nbsp:文字       non-breakable な空白(文字 0xA0, 160)を示す文字。
4520                         指定されない場合は空白のまま。
4521                         (訳注: 0xA0はLatin1でnon-breakableな空白を表す)
4523         文字 ':' と ',' は使えない。'encoding' が "utf-8" のときはUTF-8の文字
4524         が使える。そうでないときはprintableな文字 (訳注: 文書先頭を参照) だけ
4525         が使える。全ての文字は幅が1でなければならない。
4526         例: >
4527                 :set lcs=tab:>-,trail:-
4528                 :set lcs=tab:>-,eol:<,nbsp:%
4529                 :set lcs=extends:>,precedes:<
4530 <       "eol", "extends", "precedes" には強調表示グループ "NonText" が、
4531         "nbsp", "tab" と "trail" には "SpecialKey" が適用される。
4532         |hl-NonText| |hl-SpecialKey|
4534                         *'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
4535 'loadplugins' 'lpl'     切替      (既定ではオン)
4536                         グローバル
4537                         {Vi にはない}
4538         オンのときは、Vimが立ち上がるときにプラグイン・スクリプトが読み込まれ
4539         る |load-plugins|。
4540         このオプションをユーザのファイル |vimrc| 内でオフにすることで、プラグ
4541         インの読み込みを無効化できる。
4542         Note コマンドライン引数 "-u NONE" または "--noplugin" によってこのオプ
4543         ションをオフにできることに注意 |-u| |--noplugin|。
4545                                                 *'macatsui'* *'nomacatsui'*
4546 'macatsui'              切替 (既定ではオン)
4547                         グローバル
4548                         {Mac GUI 版でのみ利用可能}
4549         これは描画が正しく行われないときのための回避策である。マルチバイト機能
4550         付きでコンパイルされ、このオプションがオンになっているとATSUI テキスト
4551         描画が使われる。オフのときは ATSUI テキスト描画は使われない。描画に問
4552         題が出るならこのオプションをオフにすること。将来のバージョンではこの問
4553         題は解決し、このオプションは非推奨になるかもしれない。そのため、このオ
4554         プションをオフにするには次のような方法を使うこと: >
4555                 if exists('&macatsui')
4556                    set nomacatsui
4557                 endif
4558 <       描画の問題があるかをチェックするもう1つのオプションは、'termencoding'
4559         である。
4560                                                 *'magic'* *'nomagic'*
4561 'magic'                 切替      (既定ではオン)
4562                         グローバル
4563         検索パターン内で使用可能な特別な文字を変更する。|pattern| を参照。
4564         NOTE: パターンの使用に関わる移植性の問題を避けるため、常にこのオプショ
4565         ンを既定値のオンにしておくこと。古いViのスクリプトを使うときのみオフに
4566         切り替えること。それ以外では、いつでも 'magic' がオンのときに動作する
4567         ようなパターンを書くこと。検索パターンに "\M" を含めると magic になる。
4568         |/\M|
4570                                                 *'makeef'* *'mef'*
4571 'makeef' 'mef'          文字列     (既定では "")
4572                         グローバル
4573                         {Vi にはない}
4574                         {Vi mが |+quickfix| 機能付きでコンパイルされたときのみ
4575                         有効}
4576         コマンド |:make|  (|:make_makeprg| を参照) と |:grep| に使われるエラー
4577         ファイルの名前。
4578         値が空のときは、内部で生成された一時ファイルが使われる。
4579         "##" が含まれているときは、その部分はファイル名の一意性を保つための数
4580         字に置き換えられる。こうすれば ":make" で既存のファイルを上書きしてし
4581         まうことがなくなる。
4582         ":cf" には使われ「ない」。それについてはオプション 'errorfile' を参照。
4583         環境変数は展開される |:set_env|。
4584         値に空白や '\' を含める方法については、|option-backslash| を参照。
4585         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
4586         ス|sandbox|の中で設定することはできない。
4588                                                 *'makeprg'* *'mp'*
4589 'makeprg' 'mp'          文字列     (既定では "make", VMSでは "MMS")
4590                         グローバル/バッファについてローカル |global-local|
4591                         {Vi にはない}
4592         コマンド ":make" で使われるプログラム。|:make_makeprg| を参照。値には
4593         文字 '%' と '#' を使える。これらはそれぞれ現在のファイル名と代替ファイ
4594         ル名に展開される。|:_%| |:_#|
4595         環境変数は展開される |:set_env|。値に空白や '\' を含める方法については、
4596         |option-backslash| を参照。Note 文字 '|' は2回エスケープすることに注意:
4597         1回目はコマンド ":set" に対して、 2回目はコマンドの解釈に対してである。
4598         ユーザのフィルタが "マイフィルタ" であるときは、次のようにする。 >
4599                 :set makeprg=gmake\ \\\|\ マイフィルタ
4600 <       引数が挿入される場所を指定するには、"$*" を (複数回でも) 使える。例: >
4601                 :set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
4602 <       安全上の理由から、このオプションをモードライン|modeline|やサンドボック
4603         ス|sandbox|の中で設定することはできない。
4605                                                 *'matchpairs'* *'mps'*
4606 'matchpairs' 'mps'      文字列     (既定では "(:),{:},[:]")
4607                         バッファについてローカル
4608                         {Vi にはない}
4609         括弧などの組を構成する文字。コマンド |%| で片方からもう片方にジャンプ
4610         する。現在のところ、互いに異なる1バイトの文字の組のみが指定可能である。
4611         文字はコロンで区切らなければならない。組はコンマで区切って指定する。値
4612         に'<' と '>' を設定する例 (HTML用): >
4613                 :set mps+=<:>
4615 <       さらに興味深い例は、代入文の '=' と ';' の間でジャンプするもので、Cや
4616         Java等の言語で便利である。 >
4617                 :au FileType c,cpp,java set mps+==:;
4619 <       コマンド "%" のさらに発展的な使用法については、ディレクトリ
4620         $VIMRUNTIME/macros 内のプラグイン matchit.vim を参照。
4621         |add-local-help|
4623                                                 *'matchtime'* *'mat'*
4624 'matchtime' 'mat'       数値      (既定では 5)
4625                         グローバル
4626                         {Vi にはない}{Nvi で使われる}
4627         オプション 'showmatch' がオンのとき、マッチしている括弧を表示するため
4628         の時間を0.1秒単位で指定する。Note このオプションでは、他の時間関係のオ
4629         プションと違い、単位がミリ秒でないので注意。これは Nvi との互換性を保
4630         つためである。
4632                                                 *'maxcombine'* *'mco'*
4633 'maxcombine' 'mco'      数値 (既定では 2)
4634                         グローバル
4635                         {Vi にはない}
4636                         {Vi m が |+multi_byte| 機能付きでコンパイルされたとき
4637                         のみ利用可能}
4638         表示の際にサポートされている文字の組み合わせ数の最大値。
4639         'encoding' が "utf-8" のときだけ適用される。
4640         ほとんどの言語に対しては既定値で十分である。ヘブライ語は4以上が必要で
4641         ある。最大値は6。
4642         このオプションの値が2のときでも、それ以上の組み合わせのテキストを編集
4643         することは可能である。ただしそれを表示することはできない。|g8| や|ga|
4644         を使う。|mbyte-combining| を参照。
4646                                                 *'maxfuncdepth'* *'mfd'*
4647 'maxfuncdepth' 'mfd'    数値      (既定では 100)
4648                         グローバル
4649                         {Vi にはない}
4650                         {Vi mが |+eval| 機能付きでコンパイルされたときのみ有効}
4651         ユーザ定義関数の関数呼び出しの深さの最大値。これは普通、終わらない再帰
4652         呼び出しを捉えるために使われる。関数のさらに深い再帰呼び出しを使うとき
4653         は、オプション 'maxfuncdepth' に、さらに大きい値を設定すること。しかし
4654         こうするとメモリを余計に消費するので、メモリを使い果たしたときに落ちる
4655         危険がある。
4656         |:function| も参照。
4658                                                 *'maxmapdepth'* *'mmd'* *E223*
4659 'maxmapdepth' 'mmd'     数値      (既定では 1000)
4660                         グローバル
4661                         {Vi にはない}
4662         マッピングに対するマッピングを、文字が使われるまでに繰り返す回数の最大
4663         値。これは普通、":map x y" と ":map y x" のような堂々巡りで終わらない
4664         マッピングを捉えるために使われる。しかしこれは ":map g wg" 等は捉えな
4665         い。それは次のマッピングが行われる前に 'w' が使われているからである。
4666         |key-mapping| も参照。
4668                                                 *'maxmem'* *'mm'*
4669 'maxmem' 'mm'           数値      (既定では 256 から 5120 の間 (システムによって
4670                                  異なる) または利用できるメモリの半分)
4671                         グローバル
4672                         {Vi にはない}
4673         1つのバッファに使用できるメモリの最大値 (キロバイト単位)。この限界に達
4674         すると、バッファにさらにメモリを割り当てるときには、他のメモリを解放す
4675         る。このオプションの最大値は約 2000000 である。限界を設けないときにはこ
4676         の値に設定すること。'maxmemtot' も参照。
4678                                                 *'maxmempattern'* *'mmp'*
4679 'maxmempattern' 'mmp'   数値      (既定では 1000)
4680                         グローバル
4681                         {Vi にはない}
4682         パターンマッチングに使うメモリ量の最大値(キロバイト単位)。設定可能な最
4683         大値は約2000000。限界を設けないときにはこの値に設定すること。
4684                                                         *E363*
4685         この制限に達したときは、エラーメッセージを表示し、たいていの場合
4686         CTRL-C が押されたのと同じように振る舞う。
4687         制限に達するのはたいてい、検索パターンが極めて非効率であるか複雑過ぎる
4688         ときである。これは非常に長い行の上で "\(.\)*" を検索するとすぐになる。
4689         ".*" の方がはるかによい。
4690         'maxmempattern' の制限に達する前に Vim がメモリ不足になるかもしれない。
4692                                                 *'maxmemtot'* *'mmt'*
4693 'maxmemtot' 'mmt'       数値      (既定では 2048 から 10240 の間 (システムによっ
4694                                  て異なる) または利用できるメモリの半分)
4695                         グローバル
4696                         {Vi にはない}
4697         全てのバッファで使用するメモリの合計の最大値 (キロバイト単位)。このオ
4698         プションの最大値は約 2000000 (2 ギガバイト)である。限界を設けないとき
4699         にはこの値に設定すること。64 ビットマシンではもっと高くしても動作する
4700         かもしれない。けれど、本当にテキストの編集に 2 ギガバイト以上も必要で
4701         すか?
4702         'maxmem' も参照。
4704                                                 *'menuitems'* *'mis'*
4705 'menuitems' 'mis'       数値      (既定では 25)
4706                         グローバル
4707                         {Vi にはない}
4708                         {Vi mが |+menu| 機能付きでコンパイルされたときのみ有効}
4709         メニューの項目数の最大値。自動生成されるメニュー、例えばバッファメニュー
4710         に対して使われる。このオプションを変更しても直接の効果はなく、メニュー
4711         を更新しなければならない。
4713                                                 *'mkspellmem'* *'msm'*
4714 'mkspellmem' 'msm'      文字列     (既定では "460000,2000,500")
4715                         グローバル
4716                         {Vi にはない}
4717                         {Vi mが |+syntax| 機能付きでコンパイルされたときのみ有
4718                         効}
4719         |:mkspell| に対するパラメータ。単語ツリーの圧縮を開始するタイミングを
4720         設定する。単語がたくさんあると圧縮に時間がかかるが、メモリ不足になるの
4721         を防ぐためには必要な事である。単語につき使われるメモリ量はそれらの単語
4722         がどれだけ似ているかに密接に関係する。そのため、この設定は複雑になる。
4724         3つの数値があり、それらをコンマで区切る:
4725                 {start},{inc},{added}
4727         ほとんどの言語では圧縮しない単語ツリーがメモリに収まる。{start} は圧縮
4728         を行う前に使えるメモリ量をキロバイト単位で指定する。これは Vim が利用
4729         可能なメモリ量より少し少なくするべきである。
4731         {start} の制限を超えたとき、別な圧縮を行う前に割り当てることができるメ
4732         モリ量を {inc} によりキロバイト単位で指定する。これを低い値にするとよ
4733         り少ない単語を追加した後に圧縮を行うことになる。高い値にするとより多く
4734         のメモリが割り当てられることになる。
4736         圧縮を行った後、さらにメモリが必要になって {inc} の制限が無視されて圧
4737         縮が行われる前に {added}×1024 個の単語を追加することができる。これを
4738         低い値にすると {inc} の制限にぶつかる機会が少なくなり、より少ないメモ
4739         リを使うが、遅くなる。
4741         これらの値が重要になる言語はイタリア語とハンガリー語である。システムが
4742         約 512Mbyte のメモリを備えているときは既定値でうまくいく。1 GByte のメ
4743         モリを持っているならこうしてもよい: >
4744                 :set mkspellmem=900000,3000,800
4745 <       512 Mbyte より少ないメモリしか持っていないなら、'mkspellmem' がどんな
4746         値であっても、ある言語に対しては |:mkspell|が失敗するかもしれない。
4748                                    *'modeline'* *'ml'* *'nomodeline'* *'noml'*
4749 'modeline' 'ml'         切替      (Vimの既定値はオン (rootの場合はオフ)、
4750                                 Viの既定値はオフ)
4751                         バッファについてローカル
4752                                                 *'modelines'* *'mls'*
4753 'modelines' 'mls'       数値      (既定では 5)
4754                         グローバル
4755                         {Vi にはない}
4756         オプション 'modeline' がオンのときは、テキスト中のコマンド ":set" を
4757         'modelines' に指定された行数だけ調べる。'modeline' がオフであるか、
4758         'modelines' が 0 のときは、":set" は調べられない。|modeline| を参照。
4759         NOTE: 'modeline' は、オプション 'compatible' がオンのときはViの既定値
4760         に、オフのときはVimの既定値になるので注意。
4762                                 *'modifiable'* *'ma'* *'nomodifiable'* *'noma'*
4763 'modifiable' 'ma'       切替      (既定ではオン)
4764                         バッファについてローカル
4765                         {Vi にはない}               *E21*
4766         オフのときは、バッファの内容が変更できなくなる。オプション
4767         'fileformat' と 'fileencoding' も変更できなくなる。
4768         コマンドライン引数 |-M| でオフに設定できる。
4770                                 *'modified'* *'mod'* *'nomodified'* *'nomod'*
4771 'modified' 'mod'        切替      (既定ではオフ)
4772                         バッファについてローカル
4773                         {Vi にはない}
4774         オンのとき、バッファは変更を受けたものとされる。これは以下のようなとき
4775         にオンになる。
4776         1. 最後に書き込みをした後にテキストが変更されたとき。|undo| をするコマ
4777            ンドで元の状態まで戻ったときは、このオプションはオフになる。しかし
4778            書き込みより前の編集を undo すると、再びこのオプションはオンになる。
4779            テキストが最後に書き込まれたときと異なっているからである。
4780         2. オプション 'fileformat' や 'fileencoding' が元の値と異なっていると
4781            き。元の値とは、バッファが読み込まれたり書き込まれたときに設定され
4782            た値である。コマンド ":set nomodified" は 'fileformat' や
4783            'fileencoding' を現在の値に設定し、'modified' をオフにする。
4784         'buftype' が "nowrite" または "nofile" であるときもこのオプションを設
4785         定できるが、無視される。
4787                                                 *'more'* *'nomore'*
4788 'more'                  切替      (Vimの既定値: オン、Viの既定値: オフ)
4789                         グローバル
4790                         {Vi にはない}
4791         オンのときは、一覧表示で画面が一杯になったときは一旦停止し、「継続」プ
4792         ロンプト |more-prompt| を表示する。オフのときは停止せず、最後まで表示
4793         する。
4794         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
4795         値に、オフのときはVimの既定値になるので注意。
4797                                                 *'mouse'* *E538*
4798 'mouse'                 文字列     (既定では "", MS-DOS, Win32とGUI版では "a")
4799                         グローバル
4800                         {Vi にはない}
4801         オンのとき、マウスが利用可能になる。特定のターミナルでのみ有効である
4802         (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, sysmouse 付きの *BSD
4803         コンソール, gpm 付きの Linux コンソール)。GUIでマウスを使うことについ
4804         ては、|gui-mouse| を参照。
4805         マウスの利用はモードごとに設定できる。
4806                 n       Normalモード
4807                 v       Visualモード
4808                 i       Insertモード
4809                 c       Command-lineモード
4810                 h       ヘルプファイルを閲覧しているときの上記の4モード全て
4811                 a       上記の4モード全て
4812                 r       「続けるには」プロンプト |hit-enter| および「継続」プ
4813                         ロンプト |more-prompt| が出ているとき
4814         普通、次のようにしてマウスを4モード全てで利用可能にする。 >
4815                 :set mouse=a
4816 <       マウスを有効にしていなくても、GUI版ではモードレスセレクションにマウス
4817         を使うことができる。しかしこのときにはカーソルは動かない。
4819         |mouse-using| を参照。またオプション  'clipboard' も参照。
4821         Note: ターミナルでマウスを有効にすると、Xサーバにアクセスできるならば
4822         コピー/張り付けではレジスタ "* を使うことに注意。マウスボタンの xterm
4823         風の操作は、シフトキーを押したままにすることで実現できる。
4824         'clipboard' も参照。
4826                         *'mousefocus'* *'mousef'* *'nomousefocus'* *'nomousef'*
4827 'mousefocus' 'mousef'   切替      (既定ではオフ)
4828                         グローバル
4829                         {Vi にはない}
4830                         {Vi mのGUI版でのみ有効}
4831         オンのときは、マウスカーソルのおかれたウィンドウが自動的にアクティブに
4832         なる。マウス以外でウィンドウ配置やウィンドウフォーカスを変更すると、マ
4833         ウスカーソルはキーボードフォーカスと共に移動する。既定ではオフだが、こ
4834         れはマウスカーソルを動かして予期しないウィンドウをアクティブにしてしま
4835         うことがあるため、プルダウンメニューの利用を少し面倒にするからである。
4837                         *'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
4838 'mousehide' 'mh'        切替      (既定ではオン)
4839                         グローバル
4840                         {Vi にはない}
4841                         {Vi mのGUI版でのみ有効}
4842         オンのとき、文字が入力されるときにはマウスカーソルが隠される。マウスが
4843         動くとマウスカーソルは再び現れる。
4845                                                 *'mousemodel'* *'mousem'*
4846 'mousemodel' 'mousem'   文字列     (既定では "extend", MS-DOSとWin32では "popup")
4847                         グローバル
4848                         {Vi にはない}
4849         マウスの動作モデルを設定する。モデル名は主にマウスの右クリックで行われ
4850         る動作を表している。
4851            extend       右クリックで選択範囲を広げる。これは xterm と同様の動
4852                         作である。
4853            popup        右クリックでポップアップメニューを表示する。シフト+左
4854                         クリックで選択範囲を広げる。これは MS-Windows のような
4855                         動作になる。
4856            popup_setpos "popup" と似ているが、カーソルが右クリックした場所に移
4857                         動する。その結果、選択範囲を対象とする操作が (訳注: マ
4858                         ウスのドラッグで選択した範囲ではなく) クリックしたオブ
4859                         ジェクトに対して働くようになる。
4860                         元々操作の対象となるはずの選択範囲内を右クリックしたと
4861                         きは、カーソルは移動しない。もちろん、選択範囲の外側を
4862                         左クリックすればVisualモードは終了する。
4863         それぞれのモデルでの、マウス操作の働きの一覧:
4864         マウス操作       extend              popup(_setpos) ~
4865         左クリック       カーソル移動      カーソル移動
4866         左ドラッグ       選択開始                選択開始
4867         シフト+左       単語検索                選択範囲の拡張
4868         右クリック       選択範囲の拡張     メニュー (カーソル移動)
4869         右ドラッグ       選択範囲の拡張     なし
4870         中央クリック      張り付け                張り付け
4872         "popup" モデルでは、右クリックでポップアップメニューを表示する。これは
4873         先に定義しておかなければならない。|popup-menu| を参照。
4875         Note マウス操作による動作は、マッピングでさらに詳しく設定できることに
4876         注意。|gui-mouse-mapping| を参照。しかしマッピングはモードレスセレクショ
4877         ンには「使われない」 (GUIそのものの機能であるため)。
4879         オプション 'mousemodel' は、コマンド |:behave| で設定できる。
4881                                         *'mouseshape'* *'mouses'* *E547*
4882 'mouseshape' 'mouses'   文字列     (既定では "i:beam,r:beam,s:updown,sd:cross,
4883                                         m:no,ml:up-arrow,v:rightup-arrow")
4884                         グローバル
4885                         {Vi にはない}
4886                         {Vi mが |+mouseshape| 機能付きでコンパイルされたときの
4887                         み有効}
4888         それぞれのモードでのマウスカーソルの外観を設定する。値はコンマ区切りの
4889         指定部のリストであり、オプション 'guicursor' に使われるものと大分似て
4890         いる。指定部は、次のような状態リストと外観設定からなる。
4891                 状態リスト:外観,状態リスト:外観,..
4892         状態リストは、以下のモードまたはカーソル位置のダッシュ '-' 区切りのリ
4893         ストである。
4894                         普通のウィンドウ内: ~
4895                 n       Normalモード
4896                 v       Visualモード
4897                 ve      'selection' に "exclusive" が含まれているときのVisual
4898                         モード (指定されなければ 'v' と同じ設定になる)
4899                 o       Operator-pendingモード
4900                 i       Insertモード
4901                 r       Replaceモード
4903                         その他: ~
4904                 c       コマンドラインへの追加時
4905                 ci      コマンドラインへの挿入時
4906                 cr      コマンドラインでの置換時
4907                 m       「続けるには」プロンプトまたは「継続」プロンプト表示中
4908                 e       全てのモードにおいて、マウスカーソルが最下ウィンドウよ
4909                         りも下に置かれているとき
4910                 s       全てのモードにおいて、マウスカーソルがステータス行に置
4911                         かれているとき
4912                 sd      全てのモードにおいて、ステータス行をドラッグ中のとき
4913                 vs      全てのモードにおいて、マウスカーソルが垂直分割の区切り
4914                         行に置かれているとき
4915                 vd      全てのモードにおいて、垂直分割区切りをドラッグ中のとき
4916                 a       あらゆる場所
4918         指定可能なマウスカーソルの形は以下の通りである。
4919         avail   名前              外見 ~
4920         w x     arrow           普通のマウスカーソル
4921         w x     blank           カーソルなし (注意して使うこと!)
4922         w x     beam            I 状の縦棒
4923         w x     updown          上下のサイズ変更矢印
4924         w x     leftright       左右のサイズ変更矢印
4925         w x     busy            システムの「待ち」カーソル
4926         w x     no              システムの「入力不可」カーソル
4927           x     udsizing        上下のサイズ変更を示す
4928           x     lrsizing        左右のサイズ変更を示す
4929           x     crosshair       大きくて細い +
4930           x     hand1           黒い手
4931           x     hand2           白い手
4932           x     pencil          文字を書くときの、あの鉛筆
4933           x     question        大きな ?
4934           x     rightup-arrow   右上向き矢印
4935         w x     up-arrow        上向き矢印
4936           x     <number>        任意の X11 のカーソルナンバー
4937                                 (X11/cursorfont.h を参照)
4939         上の "avail" という項目は、 'w' ならばそのマウスカーソルをWin32で利用
4940         でき、'x' ならばX11で利用できることを表す。
4941         指定されなかったモードや、利用不可能なカーソルを指定されたモードでは、
4942         通常のマウスカーソルを使う。
4944         例: >
4945                 :set mouseshape=s:udsizing,m:no
4946 <       とすると、マウスカーソルはステータス行の上ではサイズ変更を表す形になり、
4947         「続けるには」プロンプトが表示されているときには入力不可を表す (この状
4948         態ではマウスクリックに効果がないので)。
4950                                                 *'mousetime'* *'mouset'*
4951 'mousetime' 'mouset'    数値      (既定では 500)
4952                         グローバル
4953                         {Vi にはない}
4954         GUI版, MS-DOS, Win32とUnixのxtermでのみ有効。ダブルクリックなどとして
4955         認識されるクリックとクリックの間の時間を、ミリ秒単位で設定する。
4957                                                     *'mzquantum'* *'mzq'*
4958 'mzquantum' 'mzq'       数値      (既定では 100)
4959                         グローバル
4960                         {Vi にはない}
4961                         {Vi mが |+mzscheme| 機能付きでコンパイルされたときのみ
4962                         有効}
4963         MzScheme のスレッドを切り替える間隔(ミリ秒)。
4964         負または0にするとスレッドのスケジューリングを行わなくなる。
4966                                                         *'nrformats'* *'nf'*
4967 'nrformats' 'nf'        文字列     (既定では "octal,hex")
4968                         バッファについてローカル
4969                         {Vi にはない}
4970         テキスト内の数をコマンド CTRL-A や CTRL-X で増減させるとき、 Vimに何を
4971         数として認識させるかを設定する。これらのコマンドの詳しい情報については
4972         |CTRL-A| を参照。
4973         alpha   これが含まれると、単一のアルファベットも増減操作を受ける。これ
4974                 は a), b) 等の、文字を使ったリストに対して便利である。
4975         octal   これが含まれると、0 で始まる数は8進数として認識される。例:
4976                 "007"の上で CTRL-A を使うと "010" となる。
4977         hex     これが含まれると、"0x" や "0X" で始まる数は16進数として認識さ
4978                 れる。例: "0x100" の上で CTRL-X を使うと "0x0ff" となる。
4979         1 から 9 の数字で始まる数は、常に10進数として認識される。8進数または16
4980         進数として認識されない数も10進数として認識される。
4982                                 *'number'* *'nu'* *'nonumber'* *'nonu'*
4983 'number' 'nu'           切替      (既定ではオフ)
4984                         ウィンドウについてローカル
4985         毎行の前に行番号を表示する。オプション 'cpoptions' にフラグ 'n' が含ま
4986         れていないときは、折り返された行の先頭は行番号の表示される桁に入り込ま
4987         ない ('compatible' がオフのときはこれが既定である)。
4988         オプション 'numberwidth' で行番号の幅を設定することができる。
4989         折り返された行が長すぎて (訳注: 行の途中の部分だけで画面一杯になってし
4990         まい) 行の本当の先頭の文字が表示されていないときは、文字 '-' が行番号
4991         の前に表示される。行番号に使われる強調表示グループについては
4992         |hl-LineNr| を参照。
4994                                                 *'numberwidth'* *'nuw'*
4995 'numberwidth' 'nuw'     数値      (Vim の既定値: 4  Vi の既定値: 8)
4996                         ウィンドウについてローカル
4997                         {Vi にはない}
4998                         {Vi mが |+linebreak| 機能付きでコンパイルされたときの
4999                         み利用可能}
5000         行番号を表示するのに使われる桁数の最小値。オプション 'number' がオンの
5001         ときか行番号付きで印刷するときのみ意味がある。常に番号とテキストの間に
5002         スペースが1つ置かれるので、番号そのものに割かれる桁数はこれより1文字少
5003         なくなる。
5004         この値は最小の幅である。バッファ中の最大の行番号を表示するのに足りない
5005         ときはもっと広くなる。つまり、Vim の既定値の4だと、999行目までの幅が割
5006         り当てられることになる。バッファが1000行以上になると5桁が割り当てられ
5007         るようになる。
5008         最小値は1。最大値は10。
5009         NOTE: 'compatible' がオンになると 'numberwidth' は8になる。
5011                                                 *'omnifunc'* *'ofu'*
5012 'omnifunc' 'ofu'        文字列     (既定では: 空)
5013                         バッファについてローカル
5014                         {Vi にはない}
5015                         {Vi m が +eval または +insert_expand 機能付きでコンパ
5016                         イルされたときのみ利用可能}
5017         このオプションはインサートモードにおける CTRL-X CTRL-O でのオムニ補完
5018         で使われる関数を指定する。|i_CTRL-X_CTRL-O|
5019         この関数がどのように呼び出され、何を返すべきかについては
5020         |complete-functions| を参照。
5021         このオプションは普通ファイルタイププラグインによって設定される。
5022         |:filetype-plugin-on|
5024                             *'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
5025 'opendevice' 'odev'     切替      (既定ではオフ)
5026                         グローバル
5027                         {Vi にはない}
5028                         {MS-DOS, MS-Windows and OS/2 でのみ有効}
5029         デバイスからの読み書きを有効にする。これを有効にすると、オープンされて
5030         いる可能性があるが、実際には入出力を行わないデバイスにひっかかる
5031         可能性がある。(訳注: 原文は次の通り:
5032         This may get Vim stuck on a device that can be opened but doesn't
5033         actually do the I/O. )
5034         そのため既定ではオフになっている。
5035         MS-Windowsで"aux.h"、"lpt1.txt"などを編集するとデバイスを編集中になる
5036         ことに注意。
5039                                                 *'operatorfunc'* *'opfunc'*
5040 'operatorfunc' 'opfunc' 文字列     (既定では: 空)
5041                         グローバル
5042                         {Vi にはない}
5043         このオプションはオペレータ |g@| で呼び出される関数を指定する。
5044         より詳しい情報と例については |:map-operator| を参照。
5046         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5047         ス|sandbox|の中で設定することはできない。
5050                                         *'osfiletype'* *'oft'* *E366*
5051 'osfiletype' 'oft'      文字列 (RISC-OSでの既定値: "Text",
5052                                 他のシステムでの既定値: "")
5053                         バッファについてローカル
5054                         {Vi にはない}
5055                         {Vi mが |+osfiletype| 機能付きでコンパイルされたときの
5056                         み有効}
5057         オペレーティングシステム (OS) によっては、ファイル名や日付スタンプ、パー
5058         ミッションの他にファイルに関する付属情報を保存している場合がある。この
5059         オプションは、そういったシステムごとに形式の違う付属情報を格納する。
5060         このオプションの値は、普通はファイルの読み込み時に設定され、ファイルを
5061         書き込むときに OS のファイルタイプを設定するのに使われる。
5062         また、autocommand のパターンマッチにも影響する |autocmd-osfiletypes|。
5064                                                 *'paragraphs'* *'para'*
5065 'paragraphs' 'para'     文字列     (既定では "IPLPPPQPP TPHPLIPpLpItpplpipb")
5066                         グローバル
5067         Nroff (訳注: UNIXで使われる画面整形システム) で使われる、段落を分ける
5068         ためのマクロを指定する。値は2文字の組である (|object-motions| を参照)。
5070                                                 *'paste'* *'nopaste'*
5071 'paste'                 切替      (既定ではオフ)
5072                         グローバル
5073                         {Vi にはない}
5074         オンにするとVimはPasteモードに移行する。これはテキストを別のウィンドウ
5075         から切り取ったりコピーして、Vim内に張り付けたいときに便利であり、予想
5076         しない作用を避けることができる。
5077         このオプションはVimをターミナルで使っているときに便利である。ターミナ
5078         ルでは打ち込まれたテキストと張り付けられたテキストの区別がつかないから
5079         だ。GUI版のVimでは張り付け時にすべき動作を知っているので、'paste' がオ
5080         フでも大抵うまくいく。Vimがマウスクリックを扱えるようなターミナルでも
5081         同様にうまくいく。
5082         GUI を開始するとこのオプションはオフになる。そのため、.vimrc 内でこの
5083         オプションをオンにすると、それはターミナル内では働くが、GUI ではオフに
5084         なる。GUI 版で 'paste' をオンにすると次のような副作用がある: 例. 「ペ
5085         ースト」ツールバーボタンがインサートモードで動作しなくなる。このボタン
5086         はマッピングを使っているためである。
5087         'paste' がオンのときは、以下のように設定が変わる。
5088                 - InsertモードとCommand-lineモードでのマッピングが無効になる
5089                 - 略語展開が無効になる
5090                 - 'textwidth' が 0 になる
5091                 - 'wrapmargin' が 0 になる
5092                 - 'autoindent' がオフになる
5093                 - 'smartindent' がオフになる
5094                 - 'softtabstop' が 0 になる
5095                 - 'revins' がオフになる
5096                 - 'ruler' がオフになる
5097                 - 'showmatch' がオフになる
5098                 - 'formatoptions' が空のときのような動作になる
5099         以下のオプションの値に変化はないが、働きは無効になる。
5100                 - 'lisp'
5101                 - 'indentexpr'
5102                 - 'cindent'
5103         NOTE: 'paste' がオンのときに別のファイルの編集を始めると、モードライン
5104         や autocommand によって設定が再び変わり、張り付け時に問題が起きること
5105         があるので注意。そのときは 'paste' を再びオンにするとよいだろう。
5106         'paste' をオフにすると、上記のオプションの設定は 'paste' がオンになっ
5107         た時点の前の状態に復元される。
5108         'paste' をオンにする前にオフにしても何の効果もない。
5109         'paste' がオンの間はマッピングが無効になるので、どれかのキーで 'paste'
5110         を切り替えるには 'pastetoggle' を使う必要がある。
5112                                                 *'pastetoggle'* *'pt'*
5113 'pastetoggle' 'pt'      文字列     (既定では "")
5114                         グローバル
5115                         {Vi にはない}
5116         空でないとき、オプション 'paste' を切り替えるキー列を指定する。これは
5117         以下のようなマッピングの設定に似ている。 >
5118             :map {keys} :set invpaste<CR>
5119 <       ここで {keys} は 'pastetoggle' の値が当てはまる。
5120         違うのは、こちらは 'paste' がオンでも有効だという点だ。
5121         'pastetoggle' はInsertモードとNormalモードで有効だが、Command-lineモー
5122         ドでは無効である。
5123         マッピングが最初に調べられるので、'pastetoggle' を上書きできる。しかし
5124         'paste' がオンならばInsertモードでマッピングは無視されるので、以下のよ
5125         うな設定が可能である。 >
5126             :map <F10> :set paste<CR>
5127             :map <F11> :set nopaste<CR>
5128             :imap <F10> <C-O>:set paste<CR>
5129             :imap <F11> <nop>
5130             :set pastetoggle=<F11>
5131 <       こうすると <F10> でPasteモードが始まり、<F11> でPasteモードが終わる。
5132         Note Pasteモードで <F10> を入力すると "<F10>" が挿入されるので注意。こ
5133         れは、Pasteモードでは 'pastetoggle' で指定されたキー列以外は全てそのま
5134         ま挿入されるからである。
5135         このオプションの値が複数バイトからなる場合、'ttimeoutlen' が適用される。
5137                                                 *'pex'* *'patchexpr'*
5138 'patchexpr' 'pex'       文字列     (既定では "")
5139                         グローバル
5140                         {Vi にはない}
5141                         {Vi mが |+diff| 機能付きでコンパイルされたときのみ有効}
5142         ファイルにパッチを適用し、ファイルの新しいヴァージョンを生成するために
5143         使われる式。|diff-patchexpr| を参照。
5145                                                 *'patchmode'* *'pm'* *E206*
5146 'patchmode' 'pm'        文字列     (既定では "")
5147                         グローバル
5148                         {Vi にはない}
5149         値が空でないとき、ファイルの最も古いヴァージョンが保管されるようになる。
5150         ソース配布物内のファイルに変更を加えたとき、元のヴァージョンを取ってお
5151         きたいならこれを使う。最初にファイルが書き込まれたときのみ、元のファイ
5152         ルのコピーが作られる。コピーのファイル名は、元のファイル名の後に
5153         'patchmode' の値を付け加えたものである。このオプションの値はドットで始
5154         めるようにすべきである。".org" 等を使うこと。この機能を使うには、
5155         'backupdir' が空であってはならない (詳細: 変更後のファイルの書き込みが
5156         成功してから、バックアップファイルがオリジナルをコピーしたファイルにリ
5157         ネームされるため、バックアップファイルを生成できなければならない)。バッ
5158         クアップすべきファイルがないときは、空ファイルが作られる。
5159         'backupskip' がファイル名にマッチしたときは、元のファイルは保管されな
5160         い。
5161         圧縮ファイルに 'patchmode' を使うと、ファイル名末尾に拡張子が付けられ
5162         るので (例えば "file.gz.orig")、その結果できたファイルは必ずしも圧縮ファ
5163         イルとは認識されなくなってしまう。
5164         通常のファイル名文字だけが使える。"/\*?[|<>" は不正である。
5166                                         *'path'* *'pa'* *E343* *E345* *E347*
5167 'path' 'pa'             文字列     (Unixでの既定値: ".,/usr/include,,"
5168                                    OS/2での既定値: ".,/emx/include,,"
5169                                    他のシステムでの既定値: ".,,")
5170                         グローバル/バッファについてローカル |global-local|
5171                         {Vi にはない}
5172         値はディレクトリのリストであり、コマンド |gf|, [f, ]f, ^Wf, |:find|,
5173         |:sfind|, |:tabfind| 等で、検索されるファイルが相対パス ("/", "./",
5174         "../" で始まらないパス --訳注: MS-Windowsでは "C:/" 等で始まらないパス)
5175         で指定されたときに使われるものである。オプション 'path' にディレクトリ
5176         を指定するには、相対パスでも絶対パスでもよい。
5177         - 複数のディレクトリ名はコンマで区切る。 >
5178                 :set path=.,/usr/local/include,/usr/include
5179 <       - 区切りには空白も使える (Vim version 3.0 との後方互換性のため)。中に
5180           空白を含んだディレクトリ名を指定するには、空白の前に余分に '\' (訳注:
5181           |option-backslash| を参照) を置き、その上で空白と '\' を '\' でエス
5182           ケープすること。 >
5183                 :set path=.,/dir/with\\\ space
5184                 (訳注: 結果は ".,/dir/with\ space")
5185 <       - 中にコンマを含んだディレクトリ名を指定するには、コンマの前に余分に
5186         '\' を置き、その上で '\' を '\' でエスケープすること。 >
5187                 :set path=.,/dir/with\\,comma
5188                 (訳注: 結果は ".,/dir/with\,comma")
5189 <       - カレントファイルに対し相対的にディレクトリを指定するには、こうする。 >
5190                 :set path=.
5191 <       - カレントディレクトリを指定するには、2個のコンマで空文字列を挟む。 >
5192                 :set path=,,
5193 <       - ディレクトリ名の末尾は ':' や '/' でもよい。
5194         - 環境変数は展開される |:set_env|。
5195         - 公式プラグイン |netrw.vim| を使っているときはURLも指定できる。例えば
5196           "http://www.vim.org" を追加すると ":find index.html" とすることがで
5197           きる。
5198         - "*", "**", ";" を使えばディレクトリツリーの上下に向かって検索できる。
5199           詳しくは |file-searching| を参照。
5200           {Vi mが |+path_extra| 機能付きでコンパイルされたときのみ有効}
5201         - 文字 '\' の扱いには注意。オプションの値に '\' を1個含めるには、次の
5202           ように2個打ち込む。 >
5203                 :set path=.,c:\\include
5204 <         または、次のように代わりに '/' を使う。 >
5205                 :set path=.,c:/include
5206 <       値に "." を含めるのを忘れないこと!そうしないと、カレントファイルと同
5207         じディレクトリ内のファイルさえも発見できない!
5208         値の長さには制限がある。システムごとに異なるが、大抵は256文字か1024文
5209         字等の長さである (訳注: これは半角の場合で、全角では半分)。
5210         'path' でインクルードしたファイルを全て発見できているかどうかについて
5211         は、|:checkpath| を参照。
5212         リストにディレクトリを追加するときにはコマンド |:set+=|、リストからディ
5213         レクトリを除くときにはコマンド |:set-=| を使うのがよい。こうすると将来
5214         のヴァージョンで異なった既定値が使われるようになったときに、問題が起き
5215         るのを防げる。ただしカレントディレクトリを取り除くには次のようにする。 >
5216                 :set path-=
5217 <       またカレントディレクトリを追加するには次のようにする。 >
5218                 :set path+=
5219 <       環境変数を使うには、その中の区切り文字を変える必要があるだろう。次のも
5220         のは環境変数 $INCL を追加する例だが、その中ではディレクトリ名はセミコ
5221         ロン ';' で区切られているとする。 >
5222                 :let &path = &path . "," . substitute($INCL, ';', ',', 'g')
5223 <       文字 ';' を ':' または指定可能な区切り文字で置換する。  Note この方法
5224         は、$INCL がコンマや空白を含んでいるときには使えないので注意。
5226                         *'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
5227 'preserveindent' 'pi'   切替      (既定ではオフ)
5228                         バッファについてローカル
5229                         {Vi にはない}
5230         カレント行のインデントを変更するとき、可能な限りインデントの構造を保つ
5231         ようにする。普通、インデントはまずタブで埋められ、その後に必要なだけス
5232         ペースで埋められる(|'expandtab'|がオンになっているときは違い、スペース
5233         だけで埋められる)。このオプションをオンにすると、インデントの既存の文
5234         字をできるだけそのままにし、追加の際に必要なだけタブやスペースを追加す
5235         るようになる。
5236         'expandtab' は適用されない。タブはタブのままになる。
5237         NOTE: ">>" を複数回使うと、インデントにタブとスペースが混在するように
5238         なる。これは好ましくないかもしれない。
5239         NOTE: 'compatible' がオンになると 'preserveindent' はオフになる。
5240         'copyindent' も参照。
5241         空白文字を揃えるには |:retab| を使う。
5243                                     *'previewheight'* *'pvh'*
5244 'previewheight' 'pvh'   数値 (既定では 12)
5245                         グローバル
5246                         {Vi にはない}
5247                         {Vi mが |+windows| 機能と |+quickfix| 機能付きでコンパ
5248                         イルされたときのみ有効}
5249         プレビューウィンドウの高さの既定値。コマンド |:ptag| とその関連コマン
5250         ドで使われる。|CTRL-W_}| にカウントが指定されなかったときもこれが使わ
5251         れる。
5253                                         *'previewwindow'* *'nopreviewwindow'*
5254                                         *'pvw'* *'nopvw'* *E590*
5255 'previewwindow' 'pvw'   切替      (既定ではオフ)
5256                         ウィンドウについてローカル
5257                         {Vi にはない}
5258                         {Vi mが |+windows| 機能と |+quickfix| 機能付きでコンパ
5259                         イルされたときのみ有効}
5260         このオプションでプレビューウィンドウを決める。ただ1つのウィンドウでの
5261         み、このオプションをオンに設定できる。普通、直接設定されることはないが、
5262         コマンド |:ptag|, |:pedit| 等を使うと設定される。
5264                                                 *'printdevice'* *'pdev'*
5265 'printdevice' 'pdev'    文字列     (既定では空)
5266                         グローバル
5267                         {Vi にはない}
5268                         {Vi mが |+printer| 機能付きでコンパイルされたときのみ
5269                         有効}
5270         |:hardcopy| で使われるプリンタの名前。
5271         |pdev-option| を参照。
5273         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5274         ス|sandbox|の中で設定することはできない。
5276                                                 *'printencoding'* *'penc'*
5277 'printencoding' 'penc'  文字列     (いくつかのシステムを除き、既定は空)
5278                         グローバル
5279                         {Vi にはない}
5280                         {Vi mが |+printer| と |+postscript| 機能付きでコンパイ
5281                         ルされたときのみ利用可能}
5282         印刷の際に使われる文字エンコーディングを指定する。
5283         |penc-option| を参照。
5285                                                 *'printexpr'* *'pexpr'*
5286 'printexpr' 'pexpr'     文字列     (既定値は、以下を参照)
5287                         グローバル
5288                         {Vi にはない}
5289                         {Vi mが |+printer| 機能と |+postscript| 機能付きでコン
5290                         パイルされたときのみ有効}
5291         コマンド ":hardcopy" で生成されるPostScript (PS) ファイルを印刷するた
5292         めに評価される expression を指定する。|pexpr-option| を参照。
5294                                                 *'printfont'* *'pfn'*
5295 'printfont' 'pfn'       文字列     (既定では "courier")
5296                         グローバル
5297                         {Vi にはない}
5298                         {Vi mが |+printer| 機能付きでコンパイルされたときのみ
5299                         有効}
5300         コマンド |:hardcopy| の出力に使われるフォント名。|pfn-option| を参照。
5302                                                 *'printheader'* *'pheader'*
5303 'printheader' 'pheader' 文字列     (既定では "%<%f%h%m%=Page %N")
5304                         グローバル
5305                         {Vi にはない}
5306                         {Vi mが |+printer| 機能付きでコンパイルされたときのみ
5307                         有効}
5308         コマンド |:hardcopy| の出力のヘッダの書式を定義する。
5309         |pheader-option|を参照。
5311                                                 *'printmbcharset'* *'pmbcs'*
5312 'printmbcharset' 'pmbcs'  文字列 (既定では "")
5313                         グローバル
5314                         {Vi にはない}
5315                         {Vi mが |+printer|, |+postscript|, |+multi_byte| 機能
5316                         付きでコンパイルされたときのみ利用可能}
5317         コマンド |:hardcopy| の出力の中の CJK 文字に使われる文字集合。
5318         |pmbcs-option| を参照。
5320                                                 *'printmbfont'* *'pmbfn'*
5321 'printmbfont' 'pmbfn'   文字列 (既定では "")
5322                         グローバル
5323                         {Vi にはない}
5324                         {Vi mが |+printer|, |+postscript|, |+multi_byte| 機能
5325                         付きでコンパイルされたときのみ利用可能}
5326         コマンド |:hardcopy| の出力の中の CJK 文字に使われるフォント名のリスト。
5327         |pmbfn-option| を参照。
5329                                                 *'printoptions'* *'popt'*
5330 'printoptions' 'popt'   文字列     (既定では "")
5331                         グローバル
5332                         {Vi にはない}
5333                         {Vi mが |+printer| 機能付きでコンパイルされたときのみ
5334                         有効}
5335         コマンド |:hardcopy| の出力の書式を設定する項目のリスト。
5336         |popt-option| を参照。
5338                                                 *'prompt'* *'noprompt'*
5339 'prompt'                切替      (既定ではオン)
5340                         グローバル
5341         オンならば、Ex モードでプロンプト ":" が表示される。
5343                                                 *'pumheight'* *'ph'*
5344 'pumheight' 'ph'        数値      (既定では 0)
5345                         グローバル
5346                         {Vi m が |+insert_expand| 機能付きでコンパイルされたと
5347                         きのみ利用可能}
5348                         {Vi にはない}
5349         インサートモード補完のポップアップメニューに表示される項目数の最大値。
5350         0 のときはスペースの許す限り多く表示される。
5351         |ins-completion-menu|
5354                                                 *'quoteescape'* *'qe'*
5355 'quoteescape' 'qe'      文字列     (既定では "\")
5356                         バッファについてローカル
5357                         {Vi にはない}
5358         文字列内で引用符をエスケープする文字。テキストオブジェクト a', a", a`
5359         |a'| などで使われる。
5360         このオプションの文字のどれかが文字列内に現れると、その次の文字はスキッ
5361         プされる。既定値では、テキスト "foo\"bar\\" が1つの文字列とみなされる。
5363                                    *'readonly'* *'ro'* *'noreadonly'* *'noro'*
5364 'readonly' 'ro'         切替      (既定ではオフ)
5365                         バッファについてローカル
5366         オンのときは、書き込みコマンドは '!' を付けないと使えない。これは間違っ
5367         てファイルを上書きしてしまうことを防ぐためのものである。Vimが読み込み
5368         専用モードで起動された ("vim -R") ときと、実行ファイルの名前が "view"
5369         のときにはオンが既定値になる。
5370         'cpoptions' にフラグ 'Z' が入っていない場合、":w!" を使うとカレントバッ
5371         ファの 'readonly' がオフになる。
5372         {Vi には、以下のコマンドはない}  コマンド ":view" を使って開かれたバッ
5373         ファでは、オプション 'readonly' はオンになる。
5375                                                 *'redrawtime'* *'rdt'*
5376 'redrawtime' 'rdt'      数値      (既定では 2000)
5377                         グローバル
5378                         {Vi にはない}
5379                         {|+reltime| 機能付きでコンパイルされたときのみ有効}
5380         画面を再描画するのにかける時間(ミリ秒)。'hlsearch' がオンのときのパ
5381         ターン検索や |:match| によるハイライトに対して適用される。再描画にこれ
5382         で指定したミリ秒以上の時間がかかるとき、それ以上のマッチはハイライトさ
5383         れない。非常に複雑なパターンを検索するさいに Vim が応答しなくなるのを
5384         避けるためである。
5386                                                 *'remap'* *'noremap'*
5387 'remap'                 切替      (既定ではオン)
5388                         グローバル
5389         再帰的マッピング (訳注: マッピングに対するマッピング、に対するマッピン
5390         グ...) を有効にする。特定のマッピングに対して再帰的マッピングを禁止し
5391         たいときは、コマンド ":noremap[!]" を使うこと。
5392         NOTE: Vim スクリプトのポータビリティのために、このオプションは常に既定
5393         値のオンのままにしておくこと。昔の Vi スクリプトを使うときだけこれをオ
5394         フにすること。
5396                                                 *'report'*
5397 'report'                数値      (既定では 2)
5398                         グローバル
5399         変更された行の数の報告が出る最小値。変更された行の数がオプション
5400         'report' より大きければ、ほとんどの ":" によるコマンドでメッセージが表
5401         示される。必ず報告してほしいなら 'report' を 0 にすること。
5402         コマンド ":substitute" では、基準は変更された行数ではなく、置換を行っ
5403         た回数になる。
5405                          *'restorescreen'* *'rs'* *'norestorescreen'* *'nors'*
5406 'restorescreen' 'rs'    切替      (既定ではオン)
5407                         グローバル
5408                         {Vi にはない}  {Vi mのWindows 95/NTのコンソール版}
5409         オンのとき、Vimを終了した後にコンソール画面の内容が復元される。外部コ
5410         マンドを実行するときも同様である。
5412         Windows版以外のVimでは: ファイル .vimrc で、オプション 't_ti' と
5413         't_te'を設定することで実現できる。画面の復元を無効にするには次のように
5414         する。 >
5415                 set t_ti= t_te=
5416 <       復元を有効にするには次のようにする (xterm用の設定)。 >
5417                 set t_ti=^[7^[[r^[[?47h t_te=^[[?47l^[8
5418 <       (ここで ^[ は <Esc> であり、入力するには CTRL-V <Esc> と打ち込む)
5420                                 *'revins'* *'ri'* *'norevins'* *'nori'*
5421 'revins' 'ri'           切替      (既定ではオフ)
5422                         グローバル
5423                         {Vi にはない}
5424                         {Vi mが |+rightleft| 機能付きでコンパイルされたときの
5425                         み有効}
5426         Insertモードでの文字の挿入が通常と逆向きになる。"typing backwards" を
5427         参照 |ins-reverse|。このオプションは、オプション 'allowrevins' がオン
5428         ならばInsertモードでコマンド CTRL-_ を使うことで切り替えられる。
5429         NOTE: このオプションは、オプション 'compatible' または 'paste' がオン
5430         のときはオフになるので注意。
5432                                  *'rightleft'* *'rl'* *'norightleft'* *'norl'*
5433 'rightleft' 'rl'        切替      (既定ではオフ)
5434                         ウィンドウについてローカル
5435                         {Vi にはない}
5436                         {Vi mが |+rightleft| 機能付きでコンパイルされたときの
5437                         み有効}
5438         オンのとき、画面表示の方向が右から左になる。つまり、ファイルに保存され
5439         ている文字は右から左の方向へ表示される。このオプションを使うと、ヘブラ
5440         イ語やアラビア語のような右から左に向かって書かれる言語によるファイルを
5441         編集できる。このオプションはウィンドウごとに設定可能なので、ヘブライ語
5442         と英語のファイルを同時に編集したり、同一のファイルを2通りに表示するこ
5443         とができる (これは右から左のテキストと左から右のテキストが混在している
5444         ファイルを編集するときに便利である。両方を異なるウィンドウで適切に表示
5445         することができる)。|rileft.txt| を参照。
5447                         *'rightleftcmd'* *'rlc'* *'norightleftcmd'* *'norlc'*
5448 'rightleftcmd' 'rlc'    文字列     (既定では "search")
5449                         ウィンドウについてローカル
5450                         {Vi にはない}
5451                         {Vi m が |+rightleft| 機能付きでコンパイルされたときの
5452                         み利用可能}
5453         左←右書きモードで動作するコマンドを指定する:
5455                 search          コマンド "/" と "?"
5457         これはヘブライ語、アラビア語、ペルシア語などの言語で便利である。
5458         オプション 'rightleft' を設定しないと 'rightleftcmd' は効果がない。
5460                                          *'ruler'* *'ru'* *'noruler'* *'noru'*
5461 'ruler' 'ru'            切替      (既定ではオフ)
5462                         グローバル
5463                         {Vi にはない}
5464                         {Vi mが |+cmdline_info| 機能付きでコンパイルされたとき
5465                         のみ有効}
5466         カーソルが何行目の何列目に置かれているかを表示する (訳注: これをルーラ
5467         と呼ぶ)。行数と列数はコンマで区切られる。幅に余裕があるときは、表示さ
5468         れているテキストの、ファイル内での相対位置が右端に表示される。
5469                 先頭      ファイル先頭の行が表示されているとき
5470                 末尾      ファイル末尾の行が表示されているとき
5471                 全て      ファイル先頭と末尾の行の両方が表示されているとき
5472                 45%     ファイル内での相対位置
5473         オプション 'rulerformat' が設定されているときは、それによってルーラの
5474         内容が指定される。ルーラはウィンドウごとに表示される。ウィンドウにステー
5475         タス行が表示されていれば、ルーラもそこに表示される。そうでなければ画面
5476         の末尾の行に表示される。ステータス行の内容が 'statusline' で指定されて
5477         いるときは (つまりその値が空でないときは)、'statusline' が 'ruler' や
5478         'rulerformat' より優先される。
5479         表示された文字の数がテキスト上でのバイト数と違うときは (例えば、タブ文
5480         字やマルチバイト文字があるとき)、テキスト上の列数 (バイト数) と画面上
5481         の列数が、ダッシュで区切られて両方表示される。
5482         空行では "0-1" と表示される。
5483         空のバッファでは行数も0になり、 "0,0-1" と表示される。
5484         このオプションは、'paste' がオンのときはオフになる。
5485         ルーラを常に表示したくはないが、テキスト内のどこにいるのか知りたいとき
5486         は、コマンド "g CTRL-G" を使うこと |g_CTRL-G|。
5487         NOTE:  このオプションは、オプション 'compatible' がオンのときはオフに
5488         なるので注意。
5490                                                 *'rulerformat'* *'ruf'*
5491 'rulerformat' 'ruf'     文字列     (既定では空)
5492                         グローバル
5493                         {Vi にはない}
5494                         {Vi mが |+statusline| 機能付きでコンパイルされたときの
5495                         み有効}
5496         値が空でないときは、オプション 'ruler' によって表示されるルーラの内容
5497         を指定する。
5498         このオプションの書式は 'statusline' のものと同様である。
5499         ルーラの幅は既定では17文字である。幅を15文字にするには、値の先頭に
5500         "%15(" を置き、末尾に "%)" を置くこと。例: >
5501                 :set rulerformat=%15(%c%V\ %p%%%)
5503                                 *'runtimepath'* *'rtp'* *vimfiles*
5504 'runtimepath' 'rtp'     文字列     (既定値:
5505                                         Unix: "$HOME/.vim,
5506                                                 $VIM/vimfiles,
5507                                                 $VIMRUNTIME,
5508                                                 $VIM/vimfiles/after,
5509                                                 $HOME/.vim/after"
5510                                         Amiga: "home:vimfiles,
5511                                                 $VIM/vimfiles,
5512                                                 $VIMRUNTIME,
5513                                                 $VIM/vimfiles/after,
5514                                                 home:vimfiles/after"
5515                                 DOS, MS-Win系, OS/2: "$HOME/vimfiles,
5516                                                 $VIM/vimfiles,
5517                                                 $VIMRUNTIME,
5518                                                 $VIM/vimfiles/after,
5519                                                 $HOME/vimfiles/after"
5520                                         Macintosh: "$VIM:vimfiles,
5521                                                 $VIMRUNTIME,
5522                                                 $VIM:vimfiles:after"
5523                                         RISC-OS: "Choices:vimfiles,
5524                                                 $VIMRUNTIME,
5525                                                 Choices:vimfiles/after"
5526                                         VMS: "sys$login:vimfiles,
5527                                                 $VIM/vimfiles,
5528                                                 $VIMRUNTIME,
5529                                                 $VIM/vimfiles/after,
5530                                                 sys$login:vimfiles/after")
5531                         グローバル
5532                         {Vi にはない}
5533         以下のランタイムファイルが検索されるディレクトリのリスト。
5534           filetype.vim  ファイル名によるファイルタイプの決定 |new-filetype|
5535           scripts.vim   ファイルの内容によるファイルタイプの決定
5536                         |new-filetype-scripts|
5537           autoload/     自動的に読み込まれるスクリプト |autoload-functions|
5538           colors/       色テーマ定義ファイル |:colorscheme|
5539           compiler/     コンパイラ定義ファイル |:compiler|
5540           doc/          ヘルプドキュメント |write-local-help|
5541           ftplugin/     ファイルタイププラグイン |write-filetype-plugin|
5542           indent/       インデントスクリプト |indent-expression|
5543           keymap/       キーマップ定義ファイル |mbyte-keymap|
5544           lang/         翻訳版メニュー |:menutrans|
5545           menu.vim      GUI版メニュー |menu.vim|
5546           plugin/       プラグインスクリプト |write-plugin|
5547           print/        印刷用のファイル |postscript-print-encoding|
5548           spell/        スペルチェック用のファイル |spell|
5549           syntax/       文法ファイル |mysyntaxfile|
5550           tutor/        Vimtutor用ファイル |tutor|
5552         および、コマンド |:runtime| で検索される全てのファイル。
5554         ほとんどのシステムでの既定値は、以下の5カ所を検索するようになっている。
5555         1. ユーザの個人的な設定を読み込むため、ユーザのホームディレクトリを検
5556            索する。
5557         2. システム管理者による設定を読み込むため、システム共通のVim用ディレク
5558            トリを検索する。
5559         3. Vim付属のファイルを読み込むため、環境変数 $VIMRUNTIME 内を検索する。
5560                                                         *after-directory*
5561         4. システム管理者が付属ファイルによる設定を上書きしたり、それに追加設
5562            定をしたりできるようにするため、システム共通のVimディレクトリ内のディ
5563            レクトリ "after" を検索する (これは滅多に使われない)。
5564         5. ユーザが付属ファイルやシステム管理者による設定を上書きしたり、それ
5565            に追加設定をしたりできるようにするため、ユーザのホームディレクトリ
5566            内のディレクトリ "after" を検索する。
5568         Note オプション 'path' と違い、ワイルドカードのうち "**" 等は使えない
5569         ことに注意。普通のワイルドカードは使えるが、ランタイムファイルの検索が
5570         目に見えて遅くなることがある。速度を向上させるには、設定する項目の数を
5571         なるべく少なくし、ワイルドカードの使用を避けること。
5572         |:runtime| を参照。
5573         例: >
5574                 :set runtimepath=~/vimruntime,/mygroup/vim,$VIMRUNTIME
5575 <       こうすると、ディレクトリ "~/vimruntime" (ユーザの個人的Vimランタイムファ
5576         イルを格納) を最初に検索し、次にディレクトリ "/mygroup/vim" (グループ
5577         共通の設定ファイルを格納) を、最後に "$VIMRUNTIME" (付属ランタイムファ
5578         イル) を検索する。
5579         付属ランタイムファイルを使えるようにするため、どこかに必ず環境変数
5580         $VIMRUNTIME を指定するべきだろう。付属ランタイムファイルの代わりに使う
5581         ファイルを置くディレクトリは、環境変数 $VIMRUNTIME の前に指定すればよ
5582         い。付属ランタイムファイルによる設定に追加するためのファイルを置くディ
5583         レクトリは、環境変数 $VIMRUNTIME の後に指定すればよい。
5584         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5585         ス|sandbox|の中で設定することはできない。
5587                                                 *'scroll'* *'scr'*
5588 'scroll' 'scr'          数値      (既定では、ウィンドウ高の半分)
5589                         ウィンドウについてローカル
5590         コマンド CTRL-U や CTRL-D でスクロールする行数。ウィンドウのサイズが変
5591         わると、ウィンドウの行数の半分に設定される。CTRL-U や CTRL-D を、カウ
5592         ントを指定して使うと、カウントはオプション 'scroll' の値として使われる。
5593         ":set scroll=0" とすると、値はウィンドウ高の半分に戻る。  {Vi では微妙
5594         に違う: オプション 'scroll' ではファイル上の行数ではなく、画面上の行数
5595         を指定していた。行の折り返しがあるときに違いが出る}
5597                         *'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
5598 'scrollbind' 'scb'      切替      (既定ではオフ)
5599                         ウィンドウについてローカル
5600                         {Vi にはない}
5601                         {Vi mが |+scrollbind| 機能付きでコンパイルされたときの
5602                         み有効}
5603         |scroll-binding| も参照。オンのとき、カレントウィンドウは他のスクロー
5604         ル同調中ウィンドウ (このオプションがオンになっているウィンドウ) と同じ
5605         だけスクロールする。このオプションは、ファイルの2個のヴァージョン間の
5606         違いを見るのに便利である。オプション 'diff' を参照。
5607         このオプションがどのように解釈されるかを決定するオプションについては、
5608         オプション 'scrollopt' を参照。
5609         ウィンドウを分割して他のファイルを編集すると、ほとんどの場合このオプショ
5610         ンはオフになる。よって ":split | edit file" はウィンドウを2つに分割し、
5611         scroll-binding を設定するが、":split file" はそうならない。
5613                                                 *'scrolljump'* *'sj'*
5614 'scrolljump' 'sj'       数値      (既定では 1)
5615                         グローバル
5616                         {Vi にはない}
5617         カーソルが画面外に出たときにスクロールする行数の最小値 (例えばコマンド
5618         "j" 等によって)。スクロールコマンド (例えば CTRL-E, CTRL-D) には使われ
5619         ない。ユーザのターミナルのスクロールがとても遅いときに便利である。
5620         -1 から -100 までの負の数に設定すると、ウィンドウの高さのパーセンテー
5621         ジとして扱われる。つまり -50 はウィンドウの高さの半分スクロールする。
5622         NOTE: このオプションは、オプション 'compatible' がオンのときは 1 にな
5623         るので注意。
5625                                                 *'scrolloff'* *'so'*
5626 'scrolloff' 'so'        数値      (既定では 0)
5627                         グローバル
5628                         {Vi にはない}
5629         カーソルの上または下には、最低でもこのオプションに指定した数の行が表示
5630         される。これにより、編集中の箇所の周辺のテキストを見ることができる。と
5631         ても大きい値 (999等) にすると、カーソルの置かれた行は常にウィンドウの
5632         中央に表示される (ファイル先頭または末尾にいるときと、長い行が折り返さ
5633         れているとき以外)。
5634         水平スクロールについてはオプション 'sidescrolloff' を参照。
5635         NOTE: このオプションは、オプション 'compatible' がオンのときは 0 にな
5636         るので注意。
5638                                                 *'scrollopt'* *'sbo'*
5639 'scrollopt' 'sbo'       文字列     (既定では "ver,jump")
5640                         グローバル
5641                         {Vi mが |+scrollbind| 機能付きでコンパイルされたときの
5642                         み有効}
5643                         {Vi にはない}
5644         スクロール同調中ウィンドウ (訳注: オプション 'scrollbind' がオンのウィ
5645         ンドウ) の動作を設定するキーワードの、コンマ区切りのリスト。'sbo' は
5646         ScrollBindOptions の略である。
5647         指定可能なキーワードは以下の通りである。
5648             ver         同調中ウィンドウの垂直スクロールを同調させる
5649             hor         同調中ウィンドウの水平スクロールを同調させる
5650             jump        これは垂直スクロールにおいて、2個のウィンドウ間の
5651                         offset に適用される。この offset とは同調中ウィンドウ
5652                         に表示されているテキストの先頭行のずれのことである。
5653                         ウィンドウ内を動き回るときは、別の同調中ウィンドウの表
5654                         示区域が、バッファの先頭より前またはバッファの末尾より
5655                         後ろに達してしまうかもしれない。それでも offset は変更
5656                         されず、カーソルが戻ってきたときは、同調中ウィンドウは
5657                         可能ならば求められる位置にスクロールしようとする。
5658                         カレントウィンドウを変更したときは、相対 offset を使っ
5659                         て2つのことが行われる。
5660                         1. 値に "jump" が含まれていないとき、新しくカレントウィ
5661                            ンドウになったウィンドウのスクロール位置により相対
5662                            offset が調節される。別のウィンドウに戻ったときは、
5663                            新しい相対 offset が使われる。
5664                         2. 値に "jump" が含まれているとき、同じ相対オフセット
5665                            を保つために他のウィンドウもスクロールする。他のウィ
5666                            ンドウに戻ったときも、同じ相対 offset を使う。
5667         ("jump" についての訳注: 100行のファイル "short" と200行のファイル
5668         "long" をウィンドウ分割で並べ、1行目を表示させたまま共に 'scrollbind'
5669         をオンにする。"long" を開いているウィンドウで150行目に移動すると、
5670         "short" に150行目はないのだから、ウィンドウの同調が崩れる。具体的には、
5671         "short" の方だけ100行目を表示したままになる。しかしそのまま "long" の
5672         50行目に移動すると、何事もなかったかのように "short" のウィンドウも50
5673         行目を表示する。しかし "long" の150 行目に移動した時点でカーソルを
5674         "short" のウィンドウ (の100行目) に移すと、"jump" によって違いが出る。
5675         1. では「"long" では150行目、"short" では100行目」という状態が新たな基
5676         準となり、"short" のウィンドウで50行目に移ると、"long" のウィンドウは
5677         とにかく50行バック、というわけで100行目を表示する。2. では「1行目同士
5678         を合わせる」という基準は変わらず、やはり100行目同士を合わせろ、という
5679         わけでウィンドウを移って "short" の100行目に着いた瞬間に "long" のウィ
5680         ンドウも100行目を表示する。話を簡単にするために始めは共に1行目を表示し
5681         ているとしたが、始めがずれているとそれが基準となることに注意)
5683         |scroll-binding| も参照。
5684         差分モードでは、たとえ "ver" が含まれていなくても常に垂直スクロール同
5685         調をする。
5687                                                 *'sections'* *'sect'*
5688 'sections' 'sect'       文字列     (既定では "SHNHH HUnhsh")
5689                         グローバル
5690         Nroff (訳注: UNIXで使われる画面整形システム) で使われる、章を分けるた
5691         めのマクロを指定する。値は2文字の組である (|object-motions| を参照)。
5692         既定では、章は nroff マクロの ".SH", ".NH", ".H", ".HU", ".nh" および
5693         ".sh" で始まることになる。
5695                                                 *'secure'* *'nosecure'* *E523*
5696 'secure'                切替      (既定ではオフ)
5697                         グローバル
5698                         {Vi にはない}
5699         オンのとき、コマンド ":autocmd" やシェルコマンド、書き込みコマンドがカ
5700         レントディレクトリ内のファイル ".vimrc" や ".exrc" では使用できなくな
5701         り、マッピングコマンドも表示されるようになる。問題が起きることはないと
5702         分かっているときか、オプション 'exrc' がオフのときにのみこのオプション
5703         をオフにすること。
5704         Unixでは、このオプションはファイル ".vimrc" または ".exrc" の所有者が
5705         ユーザ自身でないときのみ使われる。これはユーザが "chown" を使えるシス
5706         テムでは危険である。そのときにはユーザのファイル ~/.vimrc の末尾で
5707         'secure' をオンにしておいた方がよい。
5708         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5709         ス|sandbox|の中で設定することはできない。
5711                                                 *'selection'* *'sel'*
5712 'selection' 'sel'       文字列     (既定では "inclusive")
5713                         グローバル
5714                         {Vi にはない}
5715         このオプションは、選択時の動作を設定する。これはVisualモードとSelect
5716         モードでのみ使用される。
5717         設定可能な値は以下の通り。
5718            値            行末の後     末尾に操作 ~
5719            old             X            O
5720            inclusive       O            O
5721            exclusive       O            X
5722         「行末の後」というのは、カーソルを行末より1文字後ろに置けることを表す。
5723         「末尾に操作」というのは、選択領域の末尾の文字が操作を受けることを表す。
5724         例えば、選択領域の削除に "x" が使われたときなどに違いが出る。
5725         "exclusive" に設定していると、'virtualedit' が空のときノーマルモードか
5726         ら選択を開始し、末尾から後方に選択すると行末の文字を含めることができな
5727         くなる。
5729         オプション 'selection' は、コマンド |:behave| によって設定される。
5731                                                 *'selectmode'* *'slm'*
5732 'selectmode' 'slm'      文字列     (既定では "")
5733                         グローバル
5734                         {Vi にはない}
5735         値はキーワードのコンマ区切りのリストをである。キーワードは領域選択が開
5736         始されたときのうち、どの場合でVisualモードでなくSelectモードを開始する
5737         かを決定する。
5738         指定可能なキーワードは以下の通りである。
5739            mouse        マウス使用時
5740            key          シフトキーと特別なキーの同時押しをしたとき
5741            cmd          コマンド "v", "V" または CTRL-V の使用時
5742         |Select-mode| を参照。
5743         オプション 'selectmode' はコマンド |:behave| で設定される。
5745                                                 *'sessionoptions'* *'ssop'*
5746 'sessionoptions' 'ssop' 文字列     (既定では "blank,buffers,curdir,folds,
5747                                                help,options,tabpages,winsize")
5748                         グローバル
5749                         {Vi にはない}
5750                         {Vi mが |+mksession| 機能付きでコンパイルされたときの
5751                         み有効}
5752         コマンド |:mksession| の効果を変更する。値はキーワードのコンマ区切りの
5753         リストである。キーワードは、ある項目の保存と復元を有効にする。
5754            キーワード        復元される項目 ~
5755            blank        空のウィンドウ
5756            buffers      ウィンドウに表示されたバッファだけでなく、隠れバッファ
5757                         と、リストに載っているだけで読み込まれていないバッファ
5758            curdir       カレントディレクトリ
5759            folds        手動で作られた折り畳み、折り畳みの開閉の区別、折り畳み
5760                         関連のローカルなオプション
5761            globals      大文字で始まり、最低1個の小文字を含む名前のグローバル
5762                         変数。文字列型と数値型の変数のみ保存される。
5763            help         ヘルプウィンドウ
5764            localoptions ウィンドウまたはバッファに対してローカルなオプションと
5765                         マッピング (ローカルなオプションのグローバルな値ではな
5766                         い)
5767            options      全てのオプションとマッピング (ローカルなオプションのグ
5768                         ローバルな値も)
5769            resize       Vimのウィンドウのサイズ: 'lines' と 'columns' の値
5770            sesdir       セッションファイルがおかれているディレクトリが、カレン
5771                         トディレクトリになる (ネットワーク越しに、異なったシス
5772                         テムからアクセスを受けるプロジェクトでは便利である)
5773            slash        ファイル名内の '\' がスラッシュに置換される
5774            tabpages     全タブページ。これが含まれていないと、カレントタブペー
5775                         ジのみが復元される。そのため、タブページごとに別々のセッ
5776                         ションを保存することができる。
5777            unix         WindowsやDOS上でも、Unix形式の end-of-line (1個の
5778                         <NL>) を使う
5779            winpos       Vimのウィンドウ全体の位置
5780            winsize      ウィンドウサイズ
5782         "curdir" と "sesdir" の両方を含めないこと。
5783         "curdir" も "sesdir" も含まれていないときは、ファイル名は絶対パスで保
5784         存される。
5785         "slash" と "unix" は、Windows上でセッションファイルをUnixと共有すると
5786         きに便利である。Unix版のVimはdos形式のスクリプトを読み込めないが、
5787         Windows版のVimはunix形式のスクリプトを読み込めるからだ。
5789                                                 *'shell'* *'sh'* *E91*
5790 'shell' 'sh'            文字列     (既定では $SHELL または "sh",
5791                                    MS-DOSとWin32では: "command.com" または
5792                                    "cmd.exe", OS/2では: "cmd")
5793                         グローバル
5794         "!" や ":!" 等のコマンドで使うシェルの名前。この値を変えたときは、以下
5795         のオプションも調べること: 'shelltype', 'shellpipe', 'shellslash',
5796         'shellredir', 'shellquote', 'shellxquote', 'shellcmdflag'
5797         コマンドには引数を与えることができる。例えば "csh -f" である。
5798         値に空白や '\' を含める方法については、|option-backslash| を参照。環境
5799         変数は展開される |:set_env|。
5800         シェルの名前が空白を含むときは、それを引用符で挟む必要があるだろう。例: >
5801                 :set shell=\"c:\program\ files\unix\sh.exe\"\ -f
5802 <       Note 引用符にそれぞれ付けられた '\' (コメントの開始を防ぐため) と空白
5803         にそれぞれ付けられた '\' (値の終わりと間違えないため) に注意。
5804         Note また "-f" は引用符の中に入っていないことにも注意。それはコマンド
5805         名の一部ではないからである。またVimはパスの区切りに使われている '\' を
5806         自動的に認識する。
5807         32ビットのDOS (DJGPP) では、環境変数 $DJSYSFLAGS を設定することで外部
5808         コマンドの実行方法を変えられる。DJGPPのファイル libc.inf を参照。
5809         MS-Windowsでは、実行ファイルの名前が ".com" で終わるときは ".com" まで
5810         含めなければならない。つまりシェルを "command.com" や "4dos.com" に設
5811         定すると正しく機能するが、"command" や "4dos" に設定すると、必ずしも全
5812         てのコマンドに対しては動作しなくなる (例えばフィルタコマンド)。
5813         理由は不明だが、"4dos.com" を使ったときはカレントディレクトリが "C:\"
5814         に変更される。これを防ぐには 'shell' を次のようにすること。 >
5815                 :set shell=command.com\ /c\ 4dos
5816 <       安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5817         ス|sandbox|の中で設定することはできない。
5819                                                 *'shellcmdflag'* *'shcf'*
5820 'shellcmdflag' 'shcf'   文字列     (既定では "-c",
5821                                         MS-DOSとWin32で 'shell' に
5822                                         "sh" が含まれないなら "/c")
5823                         グローバル
5824                         {Vi にはない}
5825         "!" や ":!" 等のコマンドを実行するためにシェルに渡されるフラグ。例えば、
5826         "bash.exe -c ls" や "command.com /c dir" である。MS-DOS系のシステムで
5827         は、ユーザが必ずこのオプションを設定しなくともよいように、既定値はオプ
5828         ション 'shell' に従って設定される。OS/2では使われない (EMXは自分でこれ
5829         を理解する)。値に空白や '\' を含める方法については、|option-backslash|
5830         を参照。|dos-shell| も参照。
5831         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5832         ス|sandbox|の中で設定することはできない。
5834                                                 *'shellpipe'* *'sp'*
5835 'shellpipe' 'sp'        文字列     (既定では ">", "| tee", "|& tee" または
5836                                  "2>&1| tee")
5837                         グローバル
5838                         {Vi にはない}
5839                         {Vi mが |+quickfix| 機能付きでコンパイルされたときのみ
5840                         有効}
5841         コマンド ":make" の出力をエラーファイルに導くために使われる文字列。
5842         |:make_makeprg|も参照。値に空白や '\' を含める方法については、
5843         |option-backslash| を参照。
5844         必要であれば、一時ファイルの名前は "%s" で参照できる (値に "%s" が1個
5845         も含まれていなければ、一時ファイル名は自動的に追加される)。
5846         AmigaとMS-DOSでの既定値は ">" である。出力はファイルに直接保存され、ス
5847         クリーンには表示されない。
5848         Unixでの既定値は "| tee" である。コンパイラからの標準出力がファイルに
5849         保存され、画面にも表示される。初期化の後にオプション 'shell' が "csh"
5850         か "tcsh" だったときは、既定値は "|& tee" である。'shell' が "sh",
5851         "ksh", "zsh" か "bash" のときは、既定値は "2>&1| tee" である。つまり標
5852         準エラー出力も含まれる。
5853         このオプションの初期化は、ファイル ".vimrc" の読み込みと他の初期化の後
5854         に行われる。これは 'shell' がその間に設定されていたときは、'shellpipe'
5855         を自動的に変更するためである。ただし 'shellpipe' がユーザ自らによって
5856         設定されていたときは、自動設定は行われない。
5857         'shellpipe' が空のときは、":make" の出力はリダイレクトされない。この設
5858         定は 'makeprg' のプログラムが自分で 'makeef' に書き込んでくれるときに
5859         便利である。パイプ処理はしたくないが 'makeef' を含みたいときには、
5860         'shellpipe' を1個の空白に設定すること。空白の前には ":set sp=\ " のよ
5861         うに '\' を置くことを忘れないこと。
5862         将来はフィルタ処理にはパイプが使われるようになり、このオプションは時代
5863         遅れになるだろう (少なくともUnixでは)。
5864         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5865         ス|sandbox|の中で設定することはできない。
5867                                                 *'shellquote'* *'shq'*
5868 'shellquote' 'shq'      文字列     (既定では ""; MS-DOSとWin32で 'shell' に
5869                                                 "sh" が含まれるなら "\"")
5870                         グローバル
5871                         {Vi にはない}
5872         "!" や ":!" 等のコマンドでコマンドをシェルに渡すときに、コマンドを囲む
5873         引用符(の列)。リダイレクトの指示は常に引用符の外側に置かれる。リダイレ
5874         クトの指示を中に含めるには、オプション 'shellxquote' を参照。両方のオ
5875         プションを設定するのは、おそらく良い方法ではない。
5876         既定値は空である。MS-DOS系のシステムの、MKS Korn Shell や bash 等のサー
5877         ドパーティ製のシェルに対してのみ便利である。それらのシェルでは引用符を
5878         "\"" とするべきである。ユーザが必ずこのオプションを設定しなくともよい
5879         ように、既定値は 'shell' に従って設定される。|dos-shell| を参照。
5880         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5881         ス|sandbox|の中で設定することはできない。
5883                                                 *'shellredir'* *'srr'*
5884 'shellredir' 'srr'      文字列     (既定では ">", ">&" or ">%s 2>&1")
5885                         グローバル
5886                         {Vi にはない}
5887         フィルタコマンドの出力を一時ファイルに導くために使われる文字列。|:!|も
5888         参照。値に空白や '\' を含める方法については、|option-backslash| を参照。
5889         必要であれば、一時ファイルの名前は "%s" で参照できる (このオプションの
5890         値に "%s" が1個も含まれていなければ、一時ファイル名は自動的に追加され
5891         る)。
5892         既定値は ">" である。Unixでは、初期化の後にオプション 'shell' が
5893         "csh", "tcsh" または "zsh" だったときは、既定値は ">&" になる。'shell'
5894         が "sh", "ksh" または "bash" だったときは、既定値は ">%s 2>&1" になる。
5895         つまり標準エラー出力も含まれる。
5896         Win32では、Unixと同様のチェックがなされ、加えて値が "cmd" であるかどう
5897         か調べられる。そのときは既定値は ">%s 2>&1" になる。また ".exe" 付きの
5898         シェル名も探す。
5899         このオプションの初期化は、ファイル ".vimrc" の読み込みと他の初期化の後
5900         に行われる。これは 'shell' がその間に設定されていたときは、
5901         'shellredir' を自動的に変更するためである。ただし 'shellredir' がユー
5902         ザ自らによって設定されていたときは、自動設定は行われない。
5903         将来はフィルタ処理にはパイプが使われるようになり、このオプションは時代
5904         遅れになるだろう (少なくともUnixでは)。
5905         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5906         ス|sandbox|の中で設定することはできない。
5908                         *'shellslash'* *'ssl'* *'noshellslash'* *'nossl'*
5909 'shellslash' 'ssl'      切替      (既定ではオフ)
5910                         グローバル
5911                         {Vi にはない}
5912                         {Vi mのMSDOS, MS-Windows, OS/2版でのみ有効}
5913         オンのときは、ファイル名の展開にスラッシュが使われる。これは
5914         command.com や cmd.exe の代わりにUnix系のシェルを使うときに便利である。
5915         '\' も入力できるが、Vimによってスラッシュに変換される。
5916         Note このオプションをオンにしたりオフにしても、すでにVim内に読み込まれ
5917         たファイル名には影響がないので、完全を期すためにはこのオプションはどの
5918         ファイルを開くのよりも先に設定する必要があることに注意。この点は将来変
5919         更になるかもしれない。
5920         'shellslash' はパスの区切りとして '\' が使われるときだけ働く。これをテ
5921         ストするには次のようにする: >
5922                 if exists('+shellslash')
5924                         *'shelltemp'* *'stmp'* *'noshelltemp'* *'nostmp'*
5925 'shelltemp' 'stmp'      切替      (Vi の既定はオフ, Vim の既定はオン)
5926                         グローバル
5927                         {Vi にはない}
5928         オンのときは、シェルコマンドに一時ファイルを使う。オフのときはパイプを
5929         使う。オフであってもパイプが使えない場合は一時ファイルを使う。
5930         現在のところパイプは Unix でのみサポートされている。これを確認するには
5931         次のようにする: >
5932                 :if has("filterpipe")
5933 <       パイプを使うことの利点は、一時ファイルを他人に読み取られないことと、
5934         'shell' のプログラムがリダイレクトをサポートしていなくてもよいことである。
5935         一時ファイルを使うことの利点は、ファイルタイプとエンコーディングを判別
5936         できることである。
5937         'shelltemp' がオフのときは自動コマンドイベント |FilterReadPre|,
5938         |FilterReadPost|, |FilterWritePre|, |FilterWritePost| が発生しない。
5940                                                 *'shelltype'* *'st'*
5941 'shelltype' 'st'        数値      (既定では 0)
5942                         グローバル
5943                         {Vi にはない} {Vi mのAmiga版のみ}
5944         Amigaでは、このオプションはシェルを使うコマンドの実行方法に影響する。
5945         0 または 1: 常にシェルを使う
5946         2 または 3: 行のフィルタ処理にのみシェルを使う
5947         4 または 5: コマンド ':sh' にのみシェルを使う
5948         シェルを使わないときは、コマンドは直接実行される。
5950         0 または 2: "シェル名 'shellcmdflag' コマンド" で外部コマンドを実行
5951         1 または 3: "シェル名 コマンド" で外部コマンドを実行
5953                                                 *'shellxquote'* *'sxq'*
5954 'shellxquote' 'sxq'     文字列     (既定では "";
5955                                  Win32で 'shell' に "sh" が含まるなら: "\""
5956                                  Unixで system() を使っているなら: "\"")
5957                         グローバル
5958                         {Vi にはない}
5959         "!" や ":!" 等のコマンドでコマンドをシェルに渡すときに、コマンドを囲む
5960         引用符(の列)。リダイレクトの指示もこの中に含む。リダイレクトの指示を含
5961         めないようにするには、オプション 'shellquote' を参照。両方のオプション
5962         を設定するのは、おそらく良い方法ではない。
5963         既定値は空である。Win32系のシステムの、MKS Korn Shell や bash 等のサー
5964         ドパーティ製のシェルに対してのみ便利である。それらのシェルでは引用符を
5965         "\"" とするべきである。ユーザが必ずこのオプションを設定しなくともよい
5966         ように、既定値は 'shell' に従って設定される。 |dos-shell| を参照。
5967         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
5968         ス|sandbox|の中で設定することはできない。
5970                         *'shiftround'* *'sr'* *'noshiftround'* *'nosr'*
5971 'shiftround' 'sr'       切替      (既定ではオフ)
5972                         グローバル
5973                         {Vi にはない}
5974         インデントをオプション 'shiftwidth' の値の倍数に丸める。コマンド ">"
5975         と "<" に適用される。Insertモードでの CTRL-T と CTRL-D では、インデン
5976         トは常に 'shiftwidth' の倍数に丸められる (これはVi互換の動作である)。
5977         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
5978         るので注意すること。
5980                                                 *'shiftwidth'* *'sw'*
5981 'shiftwidth' 'sw'       数値      (既定では 8)
5982                         バッファについてローカル
5983         (自動) インデントの各段階に使われる空白の数。オプション 'cindent', コ
5984         マンド |>>|, |<<| 等に使われる。
5985         (訳注: 'shiftwidth' は自動インデントや "<<", ">>" でずれる幅。
5986         'softtabstop' はタブキーやバックスペースキーでカーソルが動く幅。
5987         'tabstop' は画面上でタブ文字が占める幅)
5989                                                 *'shortmess'* *'shm'*
5990 'shortmess' 'shm'       文字列     (Vimの既定値: "filnxtToO", Viの既定値: "",
5991                                                         POSIX の既定値: "A")
5992                         グローバル
5993                         {Vi にはない}
5994         このオプションは、コマンド CTRL-G 等によるファイル関連のメッセージで、
5995         「継続」プロンプト |hit-enter| を避けるのに役立つ。またその他のメッセー
5996         ジを避けるのにも役立つ。
5997         値は以下のフラグのリストである。
5998         フラグ     効果      ~
5999           f     "(file 3 of 5)" の代わりに "(3 of 5)" を表示。
6000           i     "[最終行が不完全]" の代わりに "[noeol]" を表示。
6001           l     "999 行, 888 文字" の代わりに "999L, 888C" を表示。
6002           m     "[変更あり]" の代わりに "[+]" を表示。
6003           n     "[新ファイル]" の代わりに "[新]" を表示。
6004           r     "[読込専用]" の代わりに "[読専]" を表示。
6005           w     書き込みコマンドには "書込み" の代わりに "[w]" を、コマンド
6006                 ':w >> file' には "追加" の代わりに "[a]" を表示。
6007           x     "[dosフォーマット]" の代わりに "[dos]", "[unixフォーマット]"
6008                 の代わりに "[unix]", "[マックフォーマット]" の代わりに
6009                 "[マック]" を表示。
6010           a     上記の省略を全て行う。
6012           o     ファイルの書き込み時のメッセージを、その後のファイルの読み込み
6013                 時のメッセージで上書きする (":wn" を使うときやオプション
6014                 'autowrite' がオンのときに便利である)
6015           O     ファイルの読み込み時のメッセージや Quickfix 関係のメッセージ
6016                 (例えば ":cn") がその前のメッセージを必ず上書きする。
6017           s     「下まで検索したので上に戻ります」と「上まで検索したので下に戻
6018                 ります」というメッセージを表示しない。
6019           t     ファイル間連のメッセージが長すぎてコマンドラインに収まらないと
6020                 きは、先頭を切り詰める。先頭には "<" が表示される。Exモードで
6021                 は無視される。
6022           T     その他ののメッセージが長すぎてコマンドラインに収まらないときは、
6023                 中央を切り詰める。中央には "..." が表示される。Exモードでは無
6024                 視される。
6025           W     ファイルの書き込み時に "書込み" や "[w]" を表示しない。
6026           A     スワップファイルがすでにあることが発見されたときに「注意」メッ
6027                 セージを表示しない。
6028           I     Vimの開始時に挨拶メッセージを表示しない |:intro|。
6030         このオプションはバッファを変更するとき <Enter> を打ち込むのを避ける機
6031         会を提供する。が、表示の余裕がある限り有益なメッセージを表示する。
6032         'shm' が空のときと同じようにメッセージ全体を表示するには、コマンド
6033         ":file!" を使うこと。
6034         便利な値の例:
6035             shm=        メッセージの省略なし
6036             shm=a       メッセージを省略するが内容までは省略しない
6037             shm=at      メッセージを省略し、必要があれば内容も切りつめる
6039         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
6040         値に、オフのときはVimの既定値になるので注意。
6042                                  *'shortname'* *'sn'* *'noshortname'* *'nosn'*
6043 'shortname' 'sn'        切替      (既定ではオフ)
6044                         バッファについてローカル
6045                         {Vi とMS-DOS版のVimにはない}
6046         ファイル名が8文字に3文字の拡張子を付けたものであると仮定する。ファイル
6047         名には複数のドット '.' は使えない。オンならば、拡張子 (".~" または
6048         ".swp") を付けるときにはファイル名の中のドットは下線 '_' に置き換えら
6049         れる。このオプションはMS-DOS版では無効である。なぜなら当然常にオンであ
6050         るからだ。このオプションは、ファイルをMS-DOS互換のシステム (例えば
6051         messydos や crossdos) 上で編集するときに便利である。Win32のGUI版を使っ
6052         ているときは、このオプションは常に既定ではオンである (訳注: いや、オフ
6053         だと思う)。
6055                                                 *'showbreak'* *'sbr'* *E595*
6056 'showbreak' 'sbr'       文字列     (既定では "")
6057                         グローバル
6058                         {Vi にはない}
6059                         {Vi mが |+linebreak| 機能付きでコンパイルされたときの
6060                         み有効}
6061         折り返された行の先頭に表示する文字列。"> " や "+++ " に設定すると便利
6062         である: >
6063                 :set showbreak=>\
6064 <       スペースの前にバックスラッシュをつけてエスケープしていることに注
6065         意。次のようにするともっと簡単である: >
6066                 :let &showbreak = '+++ '
6067 <       <Tab> 文字とコンマ以外の、printable な文字 (訳注: 文書先頭を参照) のみ
6068         が指定できる (将来のヴァージョンでは、行末に表示される部分と行頭に表示
6069         される部分の区切りにコンマが使われるかもしれない)。
6070         この文字列は、オプション'highlight' のフラグ'@' に従って強調表示される。
6071         Note 'showbreak' の文字列の次にタブ文字が来たときは、表示方法が異なる
6072         ので注意。
6073         'showbreak' の文字列を行番号の間に表示したいときは、'cpoptions' にフラ
6074         グ "n" を加えること。
6076                                      *'showcmd'* *'sc'* *'noshowcmd'* *'nosc'*
6077 'showcmd' 'sc'          切替      (Vimの既定値: オン、Unixでの既定値: オフ、
6078                                  Viの既定値: オフ)
6079                         グローバル
6080                         {Vi にはない}
6081                         {Vi mが |+cmdline_info| 機能付きでコンパイルされたとき
6082                         のみ有効}
6083         コマンド (の一部) を画面の最下行に表示する。ユーザのターミナルの表示が
6084         遅いときにはオフにすること。
6085         Visualモードでは、選択領域のサイズが以下のように表示される。
6086         - 1行の中で選択しているときは、文字数を表示。
6087         - 2行以上にわたって選択しているときは、行数を表示。
6088         - 矩形選択のときは、画面上の文字数、つまり行数×列数を表示。
6089         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
6090         値に、オフのときはVimの既定値になるので注意。
6092                         *'showfulltag'* *'sft'* *'noshowfulltag'* *'nosft'*
6093 'showfulltag' 'sft'     切替      (既定ではオフ)
6094                         グローバル
6095                         {Vi にはない}
6096         Insertモードでタグファイルから単語補完をするとき (|ins-completion| を
6097         参照)、タグ名と整理された検索パターン (あれば) の両方をマッチする限り
6098         表示する。そのため、C言語の関数にマッチすれば、どのような引数を必要と
6099         するかのテンプレートを見ることができる (コーディングスタイルが適当なも
6100         のであれば)。
6101         Note: 'completeopt' に "longest" を含めている場合はこれを同時に使うこ
6102         とはできない。検索パターンからの補完がタイプされたテキストにマッチしな
6103         いことがあるからである。
6105                                  *'showmatch'* *'sm'* *'noshowmatch'* *'nosm'*
6106 'showmatch' 'sm'        切替      (既定ではオフ)
6107                         グローバル
6108         閉じ括弧が入力されたとき、対応する開き括弧にわずかの間ジャンプする。マッ
6109         チした括弧が画面上に見えているときのみジャンプする。マッチを表示する時
6110         間はオプション 'matchtime' で設定できる。
6111         マッチする閉じ括弧がないときは、ビープ音が鳴る (マッチが見えても見えな
6112         くても)。このオプションは、'paste' がオンのときはオフになる。
6113         'cpoptions' にフラグ 'm' が含まれていないときは、ジャンプ中に文字を入
6114         力するとカーソルがすぐに元の場所に戻る。
6115         マッチの表示時のカーソルの形状や点滅方法については、'guicursor' の
6116         "sm" の項目を参照。
6117         オプション 'matchpairs' によって対応する文字を指定することができる。対
6118         応する括弧を探すときは 'rightleft' と 'revins' が適用される。
6119         カーソル下の括弧に対応する括弧を強調させる方法については matchparen プ
6120         ラグインを参照 |pi_paren.txt|。
6121         Note: このオプションの省略形式の名前の使用には、保護者への説明が望まれ
6122         るので注意(笑)
6124                                  *'showmode'* *'smd'* *'noshowmode'* *'nosmd'*
6125 'showmode' 'smd'        切替      (Vimの既定値: オン、Viの既定値: オフ)
6126                         グローバル
6127         Insertモード、ReplaceモードまたはVisualモードで最終行にメッセージを表
6128         示する。このメッセージの強調表示の設定には、オプション 'highlight' の
6129         フラグ 'M' を使うこと。
6130         |XIM| が使用可能なときは、メッセージに "XIM" が含まれる。しかしこれは
6131         実際に XIM が起動しているということではない。特に 'imactivatekey' が設
6132         定されていないときは注意。
6133         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
6134         値に、オフのときはVimの既定値になるので注意。
6136                                                 *'showtabline'* *'stal'*
6137 'showtabline' 'stal'    数値      (既定では 1)
6138                         グローバル
6139                         {Vi にはない}
6140                         {Vi mが +windows 機能付きでコンパイルされたときのみ利
6141                         用可能}
6142         このオプションは、いつタブページのラベルを表示するかを指定する。
6143                 0: 表示しない
6144                 1: 2個以上のタブページがあるときのみ表示
6145                 2: 常に表示
6146         これは GUI 版と非 GUI 版両方に適用される。
6147         タブページについて詳しくは |tab-page| を参照。
6149                                                 *'sidescroll'* *'ss'*
6150 'sidescroll' 'ss'       数値      (既定では 0)
6151                         グローバル
6152                         {Vi にはない}
6153         水平スクロールの刻み幅。オプション 'wrap' がオフでカーソルが画面外に出
6154         るときのみ使われる。
6155         値が 0 のときはカーソルを画面の中央に置くようにスクロールする。
6156         遅いターミナルを使っているときは、大きい値または 0 に設定すること。速
6157         いターミナルを使っているときは小さい値または 1 に設定すること。コマン
6158         ド "zh" と "zl" には使われない。
6160                                                 *'sidescrolloff'* *'siso'*
6161 'sidescrolloff' 'siso'  数値 (既定では 0)
6162                         グローバル
6163                         {Vi にはない}
6164         オプション 'nowrap' がオフのとき、カーソルの右または左には、最低でもこ
6165         の数だけの列が表示される。'sidescroll' を 1 以上に設定しているときにこ
6166         のオプションも 1 以上にすると、水平スクロールをしている周辺のテキスト
6167         が見えるようになる (行頭の近くにいるとき以外)。とても大きい値 (999等)
6168         にすると、カーソルの置かれた列は常にウィンドウの中央に表示される (行頭
6169         の近くにいるとき以外)。
6170         NOTE: このオプションは、オプション 'compatible' がオンのときは 0 にな
6171         るので注意。
6173         例: 次の例のように、このオプションを 'sidescroll' と 'listchars' と一
6174             緒に設定し、カーソルを "extends" の文字の上に決して来ないようにし
6175             てみる。
6177                  :set nowrap sidescroll=1 listchars=extends:>,precedes:<
6178                  :set sidescrolloff=1
6181                         *'smartcase'* *'scs'* *'nosmartcase'* *'noscs'*
6182 'smartcase' 'scs'       切替      (既定ではオフ)
6183                         グローバル
6184                         {Vi にはない}
6185         検索パターンが大文字を含んでいたらオプション 'ignorecase' を上書きする。
6186         検索パターンがキーボードから打ち込まれたときに 'ignorecase' がオンの場
6187         合にのみ使われる。適用されるコマンドは "/", "?", "n", "N", ":g", ":s"
6188         である。"*", "#", "gd" やタグ検索などには適用されない。"*" や "#" の後
6189         で "/" を使い、検索パターンの履歴を呼び出して <Enter> を打ち込むことで、
6190         'smartcase' の効果を適用することができる。
6191         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
6192         るので注意。
6194                              *'smartindent'* *'si'* *'nosmartindent'* *'nosi'*
6195 'smartindent' 'si'      切替      (既定ではオフ)
6196                         バッファについてローカル
6197                         {Vi にはない}
6198                         {Vi mが |+smartindent| 機能付きでコンパイルされたとき
6199                         のみ有効}
6200         新しい行を作ったときに高度な自動インデント smart autoindenting を行う。
6201         C言語系のプログラミング言語で有効だが、他のプログラミング言語にも使え
6202         る。オプション 'cindent' でも似たことができ、より多くの場面で適切に動
6203         作するが、'cindent' の方がこちらより厳密である。 |C-indenting| を参照。
6204         'cindent' がオンのときは、'smartindent' をオンにしても効果はない。
6205         'indentexpr' も同様の効果を持つが、こちらはさらに高度である。
6206         'smartindent' を使うときは、'autoindent' もオンに設定するべきである。
6207         インデントは、以下のときに自動的に挿入される。
6208         - '{' で終わる行で新しい行を作ったとき。
6209         - 'cinwords' 内のキーワードで始まる行の次に新しい行を作ったとき。
6210         - '}' で始まる行の上に新しい行を作ったとき (コマンド "O" のみ)。
6211         新しい行の先頭に '}' を入力すると、そこのインデントは対応する '{' と等
6212         しくなる。
6213         新しく作った行の最初の文字が '#' のとき、その行のインデントは取り除か
6214         れ、'#' は最前列に置かれる。次の行のインデントは '#' の行の前と同じに
6215         なる。こうしてほしくないなら、次のマッピングを使うこと。
6216                 ":inoremap # X^H#"
6217         ここで ^H は CTRL-V CTRL-H と打ち込むと入力される。
6218         コマンド ">>" を使ったとき、'#' で始まる行は右に移動しない。
6219         NOTE: 'smartindent' は、'compatible' がオンのときはオフに設定されるの
6220         で注意。また'paste' がオンのときは高度なインデントは使えないことも注意。
6222                                  *'smarttab'* *'sta'* *'nosmarttab'* *'nosta'*
6223 'smarttab' 'sta'        切替      (既定ではオフ)
6224                         グローバル
6225                         {Vi にはない}
6226         オンのときは、行頭の余白内で <Tab> を打ち込むと、'shiftwidth' の数だけ
6227         空白が挿入される。他の場所では 'tabstop' または 'softtabstop' の数だけ
6228         空白が挿入される。<BS> を使うと行頭の 'shiftwidth' 分のスペースを削除
6229         する。
6230         オフのときは、<Tab> を打ち込むと常に 'tabstop' または 'softtabstop' の
6231         数だけ空白が挿入される。'shiftwidth' はテキストを右左にずらすときのみ
6232         使われる|shift-left-right|。
6233         挿入される文字 (タブ文字または空白) は 'expandtab' によって変わる。
6234         |ins-expandtab| も参照。'expandtab' がオフのときは、 <Tab> を打ち込む
6235         と空白の数が最小になる (訳注: できる限り空白をタブ文字で置き換える)。
6236         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
6237         るので注意。
6239                                         *'softtabstop'* *'sts'*
6240 'softtabstop' 'sts'     数値      (既定では 0)
6241                         バッファについてローカル
6242                         {Vi にはない}
6243         <Tab> の挿入や <BS> の使用等の編集操作をするときに、<Tab> が対応する空
6244         白の数。(訳注: このオプションの長さの) <Tab> が挿入される「ように思え
6245         る」が、実は空白と <Tab> の両方が混ざって使われている。このオプション
6246         は、'tabstop' を標準の 8 に設定したまま、それが 'softtabstop' の値に設
6247         定されているかのように編集作業をしたいときに便利である。しかしコマンド
6248         "x" 等は実際の文字に対して動作する。
6249         このオプションが 0 になると、この機能は無効になる (訳注: 一番分かりや
6250         すい違いは、<BS> を打ち込んだときにどんな文字も1文字ずつ消えていく)。
6251         このオプションは、'paste' がオンのときは 0 になる。
6252         |ins-expandtab| も参照。'expandtab' がオフのときは、<Tab> を打ち込むと
6253         空白の数が最小になる (訳注: できる限り空白をタブ文字で置き換える)。
6254         'cpoptions' にフラグ 'L' を含めると、'list' がオンのとき、タブの扱い方
6255         が変わる。
6256         NOTE: このオプションは、オプション 'compatible' がオンのときは 0 にな
6257         るので注意。
6258         (訳注: 'shiftwidth' は自動インデントやコマンド "<<", ">>" でずれる幅。
6259         'softtabstop' は <Tab> や <BS> を打ち込んだときにカーソルが動く幅。
6260         'tabstop' は画面上でタブ文字が占める幅の設定)
6262                                                 *'spell'* *'nospell'*
6263 'spell'                 切替      (既定ではオフ)
6264                         ウィンドウについてローカル
6265                         {Vi にはない}
6266                         {Vi mが |+syntax| 機能付きでコンパイルされたときのみ利
6267                         用可能}
6268         これがオンのときはスペルチェックが行われる。|spell| を参照。
6269         その言語は 'spelllang' で指定する。
6271                                                 *'spellcapcheck'* *'spc'*
6272 'spellcapcheck' 'spc'   文字列     (既定では "[.?!]\_[\])'" \t]\+")
6273                         バッファについてローカル
6274                         {Vi にはない}
6275                         {Vi mが |+syntax| 機能付きでコンパイルされたときのみ利
6276                         用可能}
6277         文の末尾を見つけるのに使うパターン。その次の単語が大文字で始まるかどう
6278         かチェックされる。大文字でなければ、その単語が SpellCap |hl-SpellCap|
6279         で強調される (その単語がスペリングミスともみなされていなければ)。
6280         このチェックを行いたくなければ、このオプションを空にすること。
6281         'spell' がオンのときだけ適用される。
6282         特殊な文字について注意すること。スペースとバックスラッシュを含める方法
6283         については |option-backslash| を参照。
6284         言語に応じて自動的にこのオプションをオンにする方法については
6285         |set-spc-auto| を参照。
6287                                                 *'spellfile'* *'spf'*
6288 'spellfile' 'spf'       文字列     (既定では空)
6289                         バッファについてローカル
6290                         {Vi にはない}
6291                         {Vi mが |+syntax| 機能付きでコンパイルされたときのみ利
6292                         用可能}
6293         コマンド |zg|, |zw| で単語を追加するための単語リストファイルの名前。こ
6294         のファイル名の末尾は ".{encoding}.add" でなければならない。ここにパス
6295         を含める必要がある。そうしないと、カレントディレクトリにそのファイルが
6296         作られる。
6297                                                                 *E765*
6298         このオプションの値はファイル名のコンマ区切りのリストであってもよい。
6299         コマンド |zg| と |zw| に与えるカウントによって、そのリストのどれにアク
6300         セスするかを指定することができる。これによって、個人用の単語リストファ
6301         イルとプロジェクト用の単語リストファイルを使い分けることができる。
6302         このオプションが空なのに単語が追加されたときは、Vim が自動的に値を設定
6303         する: 書き込み可能な最初の 'runtimepath' のディレクトリを使用する。そ
6304         こに "spell" というディレクトリがなければ作成する。ファイル名には
6305         'spelllang' に現れる最初の言語名が使われ、地域名は無視される。
6306         そうして作られる ".spl" ファイルがスペルチェックに作られる。このファイ
6307         ルは 'spelllang' に入っていなくてもよい。
6308         普通は全ての地域に対して1つのファイルが使われるが、望むなら地域名を追
6309         加することもできる。しかしその場合、'spellfile' がそのファイル名に設定
6310         されているときだけ使われる。'spelllang' のエントリに対しては地域名を省
6311         いたファイルだけが使われる。
6312         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
6313         ス|sandbox|の中で設定することはできない。
6315                                                 *'spelllang'* *'spl'*
6316 'spelllang' 'spl'       文字列     (既定では "en")
6317                         バッファについてローカル
6318                         {Vi にはない}
6319                         {Vi mが |+syntax| 機能付きでコンパイルされたときのみ利
6320                         用可能}
6321         コンマ区切りの単語リスト名のリスト。オプション 'spell' がオンのとき、
6322         これらの言語に対してスペルチェックが行われる。例: >
6323                 set spelllang=en_us,nl,medical
6324 <       こうすると US 英語、オランダ語、医学用語が認識される。認識されない単語
6325         は強調される。
6326         単語リスト名はコンマやドットを含んではならない。2文字の言語名と詳細を
6327         区切るのにダッシュを使うことが推奨される。つまり、"en-rare" は頻度の低
6328         い(rare)英語となる。
6329         地域名は最後に書いて、"_xx" という形でなければならない。ここで "xx" は
6330         小文字で2文字の地域名である。複数の地域名を列挙することもできる:
6331         "en_us, en_ca" とすると US 英語とカナダ英語の両方に対応する。しかしオ
6332         ーストラリア、ニュージーランド、英国に固有の単語には対応しない。
6333                                                         *E757*
6334         特別な場合として、.spl ファイルの名前をそのまま指定することができる。
6335         その名前の最初の "_xx" は除去され、地域名として使われる (_xx はアンダ
6336         ースコア、2文字、そしてその後にアルファベットでないものが続くことを意
6337         味する)。これは主にテスト用のためである。正しいエンコーディングが使わ
6338         れているかどうか Vim はチェックしないので、ユーザが確認しなければなら
6339         ない。
6340         'encoding' が設定されると、単語リストは再読み込みされる。そのため、2度
6341         読み込むのを避けるため、'encoding' の後で 'spelllang' を設定するとよい。
6342         関係するスペルファイルがどう探されるかについてはここで説明されている:
6343         |spell-load|.
6345         プラグイン |spellfile.vim| が動作しているならば、'runtimepath'に.splファ
6346         イルが見つからない言語名が指定されたとき、このプラグインによりユーザに
6347         対してファイルをダウンロードするかどうか問い合わせが行われる。
6349         このオプションの設定が成功すると、'runtimepath' の"spell/LANG.vim" が
6350         読み込まれる。"LANG" は 'spelllang' の値の最初のコンマ、ドット、アンダー
6351         スコアまでの部分である。
6352         |set-spc-auto| を参照。
6354                                                 *'spellsuggest'* *'sps'*
6355 'spellsuggest' 'sps'    文字列     (既定では "best")
6356                         グローバル
6357                         {Vi にはない}
6358                         {Vi mが |+syntax| 機能付きでコンパイルされたときのみ利
6359                         用可能}
6360         スペリング候補の方法を指定する。コマンド |z=| と関数 |spellsuggest()|
6361         の両方に適用される。次の要素のコンマ区切りのリストになる:
6363         best            英語にもっともよく対応している内部メソッド。「高速に」
6364                         似た相異点を発見し、音の近さによるスコア判定を少しして
6365                         順序を改善する。
6367         double          2つの方法を用い、その結果を混合させる内部メソッド。第
6368                         一の方法は「高速」で、第二の方法は候補と修正対象の音が
6369                         どれだけ似ているかを計算する。これは言語が sound
6370                         folding を指定するときだけ機能する。時間がかかるかもし
6371                         れず、必ずしもよい結果を出すとは限らない。
6373         fast            文字の挿入、削除、交換など、単純な相異だけを判定する内
6374                         部メソッド。単純なタイプミスに対してよく機能する。
6376         {number}        |z=| でリストされる候補の最大数。|spellsuggest()| には
6377                         適用されない。候補の数は決して 'lines' の値 - 2 を超え
6378                         ない。
6380         file:{filename} {filename} を読み込む。そのファイルにはスラッシュで
6381                         区切られた2つの列が書いていなければならない。第1列に間
6382                         違った単語が書かれ、第2列に候補となる正しい単語が書か
6383                         れている。
6384                         例:
6385                                 theribal/terrible ~
6386                         内部メソッドでは候補リストの上の方には出てこない、あり
6387                         がちなミスのためにこれを使う。スラッシュを含まない行は
6388                         無視されるのでコメントとすることができる。
6389                         このファイルは全ての言語に対して使われる。
6391         expr:{expr}     式 {expr} を評価する。スペースによるトラブルを避けるた
6392                         め、関数を使うこと。|v:val| が間違ってつづられた単語を
6393                         保持する。この式を評価した結果が候補とスコアからなるリ
6394                         ストのリストにならなければならない。
6395                         例:
6396                                 [['the', 33], ['that', 44]]
6397                         'verbose' をオンにして |z=| を使うと内部メソッドが使う
6398                         スコアを見ることができる。スコアは低いほどよい。
6399                         一時的に 'spellsuggest' から "expr:" の部分を除くなら
6400                         ば |spellsuggest()| を呼び出してもよい。
6401                         オプション 'verbose' が非0になっていない限り、エラーは
6402                         警告無しに無視される。
6404         "best", "double", "fast" は、どれか1つだけ指定できる。他のものはどんな
6405         順序で何回指定してもよい。例: >
6406                 :set sps=file:~/.vim/sugg,best,expr:MySuggest()
6408         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
6409         ス|sandbox|の中で設定することはできない。
6412                         *'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
6413 'splitbelow' 'sb'       切替      (既定ではオフ)
6414                         グローバル
6415                         {Vi にはない}
6416                         {Vi mが |+windows| 機能付きでコンパイルされたときのみ
6417                         有効}
6418         オンのとき、ウィンドウを横分割すると新しいウィンドウはカレントウィンド
6419         ウの下に開かれる |:split|。
6421                         *'splitright'* *'spr'* *'nosplitright'* *'nospr'*
6422 'splitright' 'spr'      切替      (既定ではオフ)
6423                         グローバル
6424                         {Vi にはない}
6425                         {Vi mが |+vertsplit| 機能付きでコンパイルされたときの
6426                         み有効}
6427         オンのとき、ウィンドウを縦分割すると新しいウィンドウはカレントウィンド
6428         ウの右に開かれる |:vsplit|。
6430                            *'startofline'* *'sol'* *'nostartofline'* *'nosol'*
6431 'startofline' 'sol'     切替      (既定ではオン)
6432                         グローバル
6433                         {Vi にはない}
6434         オンのときは、以下のコマンドで移動すると、カーソルは行内の最初の非空白
6435         文字に移動する。オフのときは、カーソルは (可能ならば) 同じ列に置かれる。
6436         適用されるコマンド: CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M",
6437         "L", gg, 行単位で行うときの "d", "<<", ">>", カウントを指定したときの
6438         "%"、バッファ変更コマンド (CTRL-^, :bnext, :bNext 等)、行番号のみのEx
6439         コマンド (例えば ":25" や ":+")。
6440         バッファ変更コマンドの場合は、カーソルはそのバッファが最後に編集された
6441         ときの列に置かれる。
6442         NOTE: このオプションは、オプション 'compatible' がオンのときはオンにな
6443         るので注意。
6444         (訳注: 実際の動作はドキュメントとかなり違う。移動先が1列目の場合と余白
6445         以外の最初の文字の場合が混在している。ただ、オンのときはカーソルが元い
6446         た列を無視して先頭の「方に」移動するのは確か)
6448                            *'statusline'* *'stl'* *E540* *E541* *E542*
6449 'statusline' 'stl'      文字列     (既定では空)
6450                         グローバルまたは
6451                         ウィンドウについてローカル |global-local|
6452                         {Vi にはない}
6453                         {Vi mが |+statusline| 機能付きでコンパイルされたときの
6454                         み有効}
6455         値が空でないとき、このオプションはステータス行の表示内容を設定する。
6456         |status-line| も参照。
6458         値は、普通のテキストに挟まれた関数 printf 形式の項目からなる。項目の形
6459         式は以下の通りである。
6460                 %-0{minwid}.{maxwid}{item}
6461         {item} 以外の欄は指定しなくてもよい。パーセント記号そのものを表示する
6462         には "%%" とする。80個までの項目を指定できる。
6464         このオプションの先頭が "%!" である場合は式とみなされ、評価した結果がオ
6465         プションの値となる。例: >
6466                 :set statusline=%!MyStatusLine()
6467 <       この結果が %{} を含んでいると、それも評価される。
6469         オプションを評価している間にエラーが発生すると、それ以降のエラーを避け
6470         るためにオプションに空が設定される。そうしないと画面更新がループに陥っ
6471         てしまう。
6473         Note このオプションが設定されているとき (さらにオプション 'laststatus'
6474         が 2 であるとき) は、'ruler' にはコマンド |CTRL-G| の出力を設定する効
6475         果しかないことに注意。
6477         欄           意味 ~
6478         -           その項目を左寄せする。minwid が項目の長さより大きい場合は、
6479                     既定では右寄せになる。
6480         0           数値の頭に0を表示する。欄 '-' が優先する。
6481         minwid      項目の長さの最小値。余白の穴埋めは '-' と '0' で設定する。
6482                     50以下でなければならない。
6483         maxwid      項目の長さの最大値。文字列の項目の切り詰めでは '<' が左に
6484                     表示される。数値の項目は maxwid-2 文字に切り詰められ、それ
6485                     に ">数" が続く。ここで "数" は表示されなかった文字数であ
6486                     り、指数表記に似ている。
6487         item        以下で説明するアルファベット1文字。
6489         以下は、指定可能なステータス行の item の説明である。"item" の2文字目は
6490         その item の種類を表す。
6491                 N       数値
6492                 S       文字列
6493                 F       以下で説明するフラグ
6494                 -       実際に表示されるものではない
6496         item  意味 ~
6497         f S   バッファ内のファイルのパス(入力された通り、またはカレントディレ
6498               クトリに対する相対パス)
6499         F S   バッファ内のファイルのフルパス。
6500         t S   バッファ内のファイルのファイル名 (パスを除く)。
6501         m F   修正フラグ。表示されるのは "[+]"。'modifiable' がオフのときは
6502               "[-]"
6503         M F   修正フラグ。表示されるのは ",+" または ",-"。
6504         r F   読み込み専用フラグ。表示されるのは "[RO]"。
6505         R F   読み込み専用フラグ。表示されるのは  ",RO"。
6506         h F   ヘルプバッファフラグ。表示されるのは "[ヘルプ]"。
6507         H F   ヘルプバッファフラグ。表示されるのは ",HLP"。
6508         w F   プレビューウィンドウフラグ。表示されるのは "[プレビュー]"。
6509         W F   プレビューウィンドウフラグ。表示されるのは ",PRV"。
6510         y F   バッファ内のファイルのタイプ。例えば "[vim]"。'filetype' を参照。
6511         Y F   バッファ内のファイルのタイプ。例えば ",VIM"。'filetype' を参照。
6512               {Vi mが |+autocmd| 機能付きでコンパイルされたときのみ有効}
6513         k S   他言語用マッピング |:lmap| が使われているとき、変数
6514               "b:keymap_name" または 'keymap' を "<keymap>" と表示する。
6515         n N   バッファ番号。
6516         b N   カーソル下の文字の文字コードの10進数表現。
6517         B N   同上、ただし16進数表現。
6518         o N   カーソル下の文字がファイル内で何バイト目であるか。先頭では1。
6519               覚え方: ファイル先頭からの隔たり (に1を足したもの)
6520               {Vi mが |+byte_offset| 機能付きでコンパイルされたときのみ有効}
6521         O N   同上、ただし16進数表現。
6522         N N   印刷時のページ番号 ('printheader' 内でのみ有効)。
6523         l N   何行目にカーソルがあるか。
6524         L N   バッファ内の総行数。
6525         c N   何列目にカーソルがあるか。
6526         v N   画面上の何列目にカーソルがあるか。
6527         V N   画面上の何列目にカーソルがあるか。表示形式は -{num}。値が 'c' と
6528               等しければ表示されない。
6529         p N   現在行がファイル内の何%の位置にあるか (|CTRL-G| と同様)
6530         P S   現在表示されているウィンドウ内のテキストが、ファイル内の何%の位
6531               置にあるか。これは 'ruler' で説明されているものに似ている。値は
6532               常に3文字である (訳注: 日本語版では全角2文字になりうる)。
6533         a S   既定のタイトルと同様の引数ファイルリストを
6534               "({current} of {max})" と表示する。ファイル引数の数が0または1の
6535               ときは空。
6536         { NF  '%{' と '}' の間の expression を評価し、結果に置き換える。
6537               閉じ括弧 '}' の前には '%' がつかないことに注意。
6538         ( -   項目グループの開始。グループ内の項目全てに対する幅と寄せ方の設定
6539               に使える。どこかで %) で閉じられなければならない。
6540         ) -   項目グループの終了。欄 width は指定できない。
6541         T N   'tabline' 用: ラベル「タブページ N」の開始。最後のラベルの後に
6542               %T を書くこと。この情報はマウスクリックに使われる。
6543         X N   'tabline' 用: ラベル「タブ N を閉じる」の開始。ラベルの後に %X
6544               を書くこと。例: %3Xclose%X。%999X は「カレントタブを閉じる」を
6545               意味する。この情報はマウスクリックに使われる。
6546         < -   行が長すぎるときに切り詰める位置。既定では先頭。欄 width は指定
6547               できない。
6548         = -   左寄せ項目と右寄せ項目の区切り。欄 width は指定できない。
6549         # -   強調グループを設定する。この後に名前を書き、その後にまた # を書く。
6550               つまり、%#HLname# と書くと、強調グループ HLname になる。カレン
6551               トウィンドウ以外のステータスラインに対しても同じ強調が施される。
6552         * -   使われる強調表示グループを User{N} に設定する。ここで {N} は欄
6553               minwid から取られる。例えば %1* と設定する。%* や %0* で通常の強
6554               調表示を復元する。強調表示グループ User{N} と StatusLine の違い
6555               は、非カレントウィンドウのステータス行の強調表示を設定するグルー
6556               プの StatusLineNC に適用される。数 N は 1 以上 9 以下である。
6557               |hl-User1..9| を参照。
6559         フラグを表示するとき、そのフラグがプレインテキストの直後にあるな
6560         ら、その先頭にカンマがある場合は削除される。そうすることによって以下の
6561         例のようなフラグの使い方をしたとき、きれいに表示されるようになっている。
6563         あるグループ内の全ての項目が空文字列 (つまり設定されていないフラグ) に
6564         なり、かつそのグループに minwid が指定されていなかったときは、グループ
6565         全体が空になる。これにより、次のようなグループは、フラグがどれも設定さ
6566         れていないときは全く表示されない。 >
6567                 :set statusline=...%(\ [%M%R%H]%)...
6569         気を付けてほしいのは、expression はステータス行が表示されるたびに評価
6570         されるということだ。あるバッファまたはウィンドウのステータス行が描画さ
6571         れている最中は、一時的にそのバッファまたはウィンドウがカレントバッファ
6572         またはカレントウィンドウに設定され、そこで expression が評価される。変
6573         数 "actual_curbuf" は、本当のカレントバッファで関数 'bufnr()' が返す値
6574         に設定される。
6576         オプション 'statusline' は |sandbox| の中でも評価することができる。
6577         |sandbox-option| を参照。
6579         'statusline' を評価している間にテキストを変更したり他のウィンドウにジャ
6580         ンプすることは許されていない |textlock|。
6582         ステータス行が望みの時点 (例えば expression 内で使われる変数の設定をし
6583         た後) で更新されていないときは、オプションを値を変えずに設定し直すこと
6584         で更新させることができる。例: >
6585                 :let &ro = &ro
6587         全て数字で返された結果は、表示用の数値と見なされる。それ以外の結果はフ
6588         ラグ列と解釈され、上記の方法が適用される。
6590         ステータス行で expression を使うときはエラーに気を付けること。Vimの描
6591         画機構が使い物にならなくなるかもしれない!行き詰まってしまったならば、
6592         プロンプトを表示させるために ':' か 'Q' を打ち込む。そしてVimを終了し
6593         たら "vim -u NONE" として (訳注: エラーを起こす設定を読み込まないよう
6594         にして) ユーザのファイル .vimrc か何かを編集し、正常に戻す。
6596         例:
6597         'ruler' がオンのときの標準のステータス行に似せる >
6598           :set statusline=%<%f%h%m%r%=%l,%c%V\ %P
6599 <       同上、しかしカーソル下の文字の10/16進表現を表示する ("ga" のように) >
6600           :set statusline=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P
6601 <       カーソルが置かれているバイト数、カーソル下の文字のコード、修正フラグを
6602         赤で表示 >
6603           :set statusline=%<%f%=\ [%1*%M%*%n%R%H]\ %-19(%3l,%02c%03V%)%O'%02b'
6604           :hi User1 term=inverse,bold cterm=inverse,bold ctermfg=red
6605 <       圧縮ファイルが読み込まれたとき、フラグ ,GZ を表示するには次のようにす
6606         る。まず >
6607           :set statusline=...%r%{VarExists('b:gzflag','\ [GZ]')}%h...
6608 <       として、さらに (訳注: 自動解凍を行う役割の) |:autocmd| 内で >
6609           :let b:gzflag = 1
6610 <       および >
6611           :unlet b:gzflag
6612 <       を設定し、最後に次の関数を定義する。 >
6613           :function VarExists(var, val)
6614           :    if exists(a:var) | return a:val | else | return '' | endif
6615           :endfunction
6617                                                 *'suffixes'* *'su'*
6618 'suffixes' 'su'         文字列     (既定では ".bak,~,.o,.h,.info,.swp,.obj")
6619                         グローバル
6620                         {Vi にはない}
6621         この拡張子を持つファイルは、ワイルドカードに複数のファイルがマッチした
6622         ときの優先度が低くなる。|suffixes| を参照。拡張子はコンマで区切って指
6623         定する。コンマの後の空白は無視される。またドットは拡張子の始まりと見な
6624         される。ドットやコンマが区切りと見なされないようにするには、前に '\'
6625         を置くこと。値に空白や '\' を含める方法については、|option-backslash|
6626         を参照。
6627         ファイルを完全に無視するには、オプション 'wildignore' を参照。
6628         リストに拡張子を追加するときにはコマンド |:set+=|、リストから拡張子を
6629         除くときには |:set-=| を使うのがよい。こうすると将来のヴァージョンで異
6630         なった既定値が使われるようになったときに、問題が起きるのを防げる。
6632                                                 *'suffixesadd'* *'sua'*
6633 'suffixesadd' 'sua'     文字列     (既定では "")
6634                         バッファについてローカル
6635                         {Vi にはない}
6636                         {Vi mが |+file_in_path| 機能付きでコンパイルされたとき
6637                         のみ有効}
6638         値は拡張子のコンマ区切りのリスト。その拡張子は "gf", "[I" 等のコマンド
6639         で検索されるファイルのものである。例: >
6640                 :set suffixesadd=.java
6642                                 *'swapfile'* *'swf'* *'noswapfile'* *'noswf'*
6643 'swapfile' 'swf'        切替      (既定ではオン)
6644                         バッファについてローカル
6645                         {Vi にはない}
6646         バッファでスワップファイルを使用する。このオプションは、特定のバッファ
6647         でスワップファイルを使いたくないときにはオフに設定できる。例えば root
6648         ユーザさえもアクセスしてはならない機密情報等でオフにする。
6649         注意: テキストは全てメモリ内に格納される。
6650                 - この手段は大きいファイルに使わないこと。
6651                 - クラッシュからの回復ができなくなる!
6652         スワップファイルが作られるのはオプション 'updatecount' が非0 で、
6653         'swapfile' がオンのときだけである。
6654         'swapfile' がオフになったときは、カレントバッファのスワップファイルは
6655         すぐに削除される。'swapfile' がオンで、'updatecount' が非0 のときは、
6656         スワップファイルはすぐに作られる。
6657         |swap-file| と 'swapsync' も参照。
6659         このオプションは、'bufhidden' と 'buftype' と共に、特別な種類のバッファ
6660         を指定するのに使われる。|special-buffers| を参照。
6662                                                 *'swapsync'* *'sws'*
6663 'swapsync' 'sws'        文字列     (既定では "fsync")
6664                         グローバル
6665                         {Vi にはない}
6666         値が空でないときは、書き込みの後にディスク上のスワップファイルの内容が
6667         同調される。これにはいくらか時間がかかる。ビジー状態のUnixシステムでは
6668         特にそうだ。
6669         値が空のときは、スワップファイルの一部はメモリ内のままで、ディスクに書
6670         き込まれないかもしれない。システムがクラッシュすると、仕事の成果が余計
6671         ひどく失われるかもしれない。
6672         Unixでは、Vimが求めなくとも時折システムが同調を行うので、これを空にす
6673         ることの不利益は小さい。システムによってはスワップファイルは全く書き込
6674         まれない。Unixシステムでは、値を "sync" にすると既定の関数 fsync() で
6675         はなく関数 sync() を呼び出すが、システムによってはそちらの方がよい。
6676         実ファイルに対してはオプション 'fsync' が適用される。
6678                                                 *'switchbuf'* *'swb'*
6679 'switchbuf' 'swb'       文字列     (既定では "")
6680                         グローバル
6681                         {Vi にはない}
6682         バッファを切り替えるときの動作を調節する。
6683         指定可能なキーワードは以下の通りである (コンマ区切りのリストにする)。
6684            useopen      これが含まれたときは、指定されたバッファを開いているウィ
6685                         ンドウがあれば、そこにジャンプする。含まれないときは、
6686                         他のウィンドウを調べない。
6687                         この設定は |quickfix| 関係のコマンドでエラーにジャンプ
6688                         するとき (":cc", ":cn", "cp" 等で) に影響する。また
6689                         ":sbuffer", ":sbnext", ":sbrewind" 等のバッファ関係の
6690                         ウィンドウ分割コマンド全てにも影響する。
6691            usetab       "useopen"と同様だが、他のタブページで開かれているウィ
6692                         ンドウも考慮する。
6693            split        これが含まれたときは、カレントウィンドウをバッファの読
6694                         み込み前に分割する。含まれないときは、ウィンドウを分割
6695                         せず、カレントウィンドウを使う。
6696                         |quickfix| 関連の、エラーを表示するコマンドに影響する。
6697            newtab       "split" と同様だが、新しいタブページを開く。"split" と
6698                         両方指定された場合はこちらが優先される。
6700                                                 *'synmaxcol'* *'smc'*
6701 'synmaxcol' 'smc'       数値      (既定では 3000)
6702                         バッファについてローカル
6703                         {Vi にはない}
6704                         {Vi mが|+syntax|機能付きでコンパイルされたときのみ有効}
6705         構文アイテムを検索する桁数の最大値。長い行において、この桁以降のテキス
6706         トは強調されない。また構文の状態がクリアされるため、これ以下の行は正し
6707         く強調されない可能性がある。
6708         これは長い行を持つXMLファイルの描画が非常に遅くなるのを避けるために役
6709         に立つ。
6710         ゼロにするとその制限がなくなる。
6712                                                 *'syntax'* *'syn'*
6713 'syntax' 'syn'          文字列     (既定では "")
6714                         バッファについてローカル
6715                         {Vi にはない}
6716                         {Vi mが |+syntax| 機能付きでコンパイルされたときのみ有
6717                         効}
6718         このオプションが設定されたとき、コマンド ":syntax off" で構文強調表示
6719         が無効にされていない限り、値の名前の構文定義が読み込まれる。
6720         このオプションは、その時点以外では使われている構文定義を常に反映する訳
6721         ではない (常に反映するのは変数 b:current_syntax)。
6722         このオプションは、構文が自動的に認識されないファイルのモードラインで使
6723         うのが最も便利である。例えば、IDLファイルでは次のようにする。
6724                 /* vim: set syntax=idl : */ ~
6725         このオプションの値にドットを含めると、ファイルタイプの区切りとなる。
6726         例:
6727                 /* vim: set syntax=c.doxygen : */ ~
6728         こうするとまず最初に"c"の構文を使い、次に"doxygen"の構文を使うようにな
6729         る。2番目のファイルタイプは追加として読み込まれるように準備されていな
6730         ければならない。そうでないとスキップされる。ドットは1つ以上現れてもよ
6731         い。カレントファイルに対する構文強調表示を無効にするにはこうする。 >
6732                 :set syntax=OFF
6733 <       オプション 'filetype' に従って、構文強調表示を開始するにはこうする。 >
6734                 :set syntax=ON
6735 <       'syntax' の設定時に実際起きることは、autocommand のイベント Syntax が、
6736         このオプションの値を引数にして発生するということだ。
6737         'cpoptions' のフラグ 's' や 'S' に関わらず、このオプションの値は別のバッ
6738         ファにはコピーされない。
6739         通常のファイル名文字だけが使える。"/\*?[|<>"は不正である。
6741                                                 *'tabline'* *'tal'*
6742 'tabline' 'tal'         文字列     (既定では"")
6743                         グローバル
6744                         {Vi にはない}
6745                         {Vi mが|+windows|機能付きでコンパイルされたときのみ有
6746                         効}
6747         このオプションが空でないとき、Vimウィンドウの上にあるタブページ行の表
6748         示内容を指定する。空のときは、既定のタブページ行が使われる。より詳しく
6749         は|setting-tabline|を参照。
6751         タブページ行はオプション'showtabline'で指定されたとき、またGUIのタブ行
6752         がないときだけ表示される。'guioptions'に'e'が入っていて、GUIがタブ行に
6753         対応しているときは代わりに'guitablabel'が使われる。
6755         このオプションの値は'statusline'と同じように評価される。|tabpagenr()|,
6756         |tabpagewinnr()|, |tabpagebuflist()|を使えば表示されるテキストを把握す
6757         ることができる。1番目のラベルには"%1T"、2番目のラベルには"%2T"など。閉
6758         じラベルにはアイテム"%X"を使う。
6760         アクティブなタブページは1つだけである。他のタブページは表示されず、そ
6761         の中のウィンドウにジャンプすることはできない。
6763                                                 *'tabpagemax'* *'tpm'*
6764 'tabpagemax' 'tpm'      数値      (既定では 10)
6765                         グローバル
6766                         {Vi にはない}
6767                         {Vi mが|+windows|機能付きでコンパイルされたときのみ有
6768                         効}
6769         コマンドライン引数|-p|や":tab all"で開かれるタブページの最大数。
6770         |tabpage|
6772                                         *'tabstop'* *'ts'*
6773 'tabstop' 'ts'          数値      (既定では 8)
6774                         バッファについてローカル
6775         ファイル内の <Tab> が対応する空白の数。コマンド |:retab| とオプション
6776         'softtabstop' も参照 (訳注: このオプション説明の最後も参照)。
6778         Note: 'tabstop' を 8 以外の数に設定すると、多くの場合で (例えば印刷時)
6779         ユーザのファイルが間違って表示されうるので注意。
6781         Vimでは、タブの主な使い方には以下の4種類がある。
6782         1. 'tabstop' を常に 8 に保ち、'softtabstop' と 'shiftwidth' を 4 (また
6783            は 3 等の好きな値) に設定し、'expandtab' をオフにする。するとVimは
6784            タブと空白の両方を使うが、<Tab> と <BS> を打ち込むと、タブが 4 (ま
6785            たは 3) 文字ごとに現れているかのように表示される。
6786         2. 'tabstop' と 'shiftwidth' を好きなように設定し、'expandtab' をオン
6787            にする。この方法では常に空白が挿入される。'tabstop' が変更されても、
6788            整形されたテキストはめちゃめちゃにならない。
6789         3. 'tabstop' と 'shiftwidth' を好きなように設定し、再びファイルを編集
6790            するときにはモードライン |modeline| でこれらを設定する。ファイルの
6791            編集にVimを使うときのみ有効。
6792         4. 常に 'tabstop' と 'shiftwidth' を等しく設定し、'expandtab' をオフに
6793            する。すると (1回目のインデントのみだが) どのタブ幅でもうまく働く。
6794            こうするにしても、余白より後の最初の文字より後にタブ文字を挿入する
6795            ときは、空白文字として挿入されるようにするとよいだろう。そうしない
6796            と、'tabstop' が変更されたときに、整形されたコメントの形がおかしく
6797            なる。
6798         (訳注: 'shiftwidth' は自動インデントやコマンド "<<", ">>" でずれる幅。
6799         'softtabstop' は <Tab> や <BS> を打ち込んだときにカーソルが動く幅。
6800         'tabstop' は画面上でタブ文字が占める幅の設定)
6802                         *'tagbsearch'* *'tbs'* *'notagbsearch'* *'notbs'*
6803 'tagbsearch' 'tbs'      切替      (既定ではオン)
6804                         グローバル
6805                         {Vi にはない}
6806         タグの検索時 (例えばコマンド |:ta|) には、タグファイルの二分探索と線形
6807         探索のどちらも可能である。二分探索をすると、タグの検索が「大幅に」速く
6808         なる。しかし線形探索は、タグファイルが適切に整列されていないときには、
6809         より多くのタグを発見できる。
6810         Vimは普通タグファイルは整列されているものと想定するが、整列されていな
6811         かったらそのことを表示する。オプション 'tagbsearch' をオフにする必要が
6812         あるのはそのときだけである。
6814         'tagbsearch' がオンのときは、タグファイルではまず二分探索が使われる。
6815         特定の状況下では、特定のファイルに代わりに線形探索を使ったり、全てのファ
6816         イルに線形探索を使って再試行する場合がある。'tagbsearch' がオフのとき
6817         は、線形探索のみが使われる。
6819         タグファイルの先頭に、それが整列されていないことを示す行があったときは、
6820         そのファイルでは線形探索が使われる。 >
6821                 !_TAG_FILE_SORTED       0       /some comment/
6822 <       ['0' の前後の余白は、単一の <Tab> でなければならない]
6824         二分探索が使われて、'tags' で列挙されたどのファイルでもマッチが見つか
6825         らず、かつ 'ignorecase' がオンであるか通常のタグ名の代わりにパターンが
6826         使われているときは、線形探索を使って再試行が行われる。
6827         整列されていないタグファイル内のタグや、大文字と小文字の違いのあるマッ
6828         チは、再試行でのみ見つかるだろう。
6830         次に、タグファイルが大文字・小文字を無視して整列されていることを示して
6831         いるなら、'ignorecase'の場合には線形探索をしなくてすむ。この場合には
6832         "!_TAG_FILE_SORTED"の行で値'2'を設定すること。ほとんどのUnixでは"sort"
6833         にオプション-fをつけると大文字・小文字を無視してタグファイルを整列する
6834         ことができる。そのコマンドは次のようになる: "sort -f -o tags tags"。
6835         "Exuberant ctags"バージョン5.x以降では(少なくとも5.5では)オプション
6836         --sort=--fold-caseをつけるとこれと同様のことができる。こうするためには文
6837         字を大文字に統一していなければならないことに注意。
6839         'tagbsearch' がオフのとき、完全なマッチがあるとタグの検索は遅くなるが、
6840         完全なマッチが全くないと逆に速くなる。整列されていないタグファイル内の
6841         タグは、'tagbsearch' がオフでないと見つからないかもしれない。
6842         タグファイルが整列されていなかったり、間違った順に整列されているとき
6843         (ASCIIコード順でないとき --訳注: IBMの大型コンピュータではASCIIコード
6844         でなく EBCDICコードが使われていた) は、'tagbsearch' をオフにするべきで
6845         ある。またはタグファイル内に上記の行を含めなければならない。
6846         このオプションは、マッチするタグを全て見つけるようなコマンド (例えば、
6847         コマンドライン補完やコマンド ":help") には影響しない。
6848         {Vi: ヴァージョンによっては常に二分探索を使う}
6850                                                 *'taglength'* *'tl'*
6851 'taglength' 'tl'        数値      (既定では 0)
6852                         グローバル
6853         非0 のときは、タグ名のうち、前からこの値の文字数までが意味を持つ。
6855                         *'tagrelative'* *'tr'* *'notagrelative'* *'notr'*
6856 'tagrelative' 'tr'      切替      (Vimの既定値: オン、Viの既定値: オフ)
6857                         グローバル
6858                         {Vi にはない}
6859         オンのとき、タグファイルを別のディレクトリから使うと、そのタグファイル
6860         でのタグ名は、タグファイルのあるディレクトリに対して相対的になる。
6861         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
6862         値に、オフのときはVimの既定値になるので注意。
6864                                                 *'tags'* *'tag'* *E433*
6865 'tags' 'tag'            文字列     (既定では "./tags,tags",
6866                                  |+emacs_tags| 機能付きでコンパイルされたとき
6867                                  の既定値: "./tags,./TAGS,tags,TAGS")
6868                         グローバル/バッファについてローカル |global-local|
6869         タグを使うコマンドで必要とするタグファイルの名前の、空白またはコンマ区
6870         切りのリスト。ファイル名に空白やコンマを使うときは、'\' を前に置くこと
6871         (値に空白や '\' を含める方法については、|option-backslash| を参照)。
6872         ファイル名が "./" で始まるときは、'.' はカレントファイルのパスに置き換
6873         えられる。ただしそれはオプション 'cpoptions' にフラグ 'd' が含まれてい
6874         ないときのみである。環境変数は展開される |:set_env|。|tags-option| も
6875         参照。
6876         "*" や "**" などのワイルドカードを使い、ディレクトリツリーの下に向かっ
6877         てタグファイルを検索できる。|file-searching| を参照。{Vi mが
6878         |+path_extra|機能付きでコンパイルされたときのみ有効}
6879         関数|tagfiles()|を使うと実際に使われるファイル名のリストを取得すること
6880         ができる。
6881         Vimが |+emacs_tags| 機能付きでコンパイルされたときは、Emacs形式のタグ
6882         ファイルも利用できる。形式は自動的に認識される。そのときの既定値は、大
6883         文字と小文字の区別がないシステム (MS-Windows) 以外では
6884         "./tags,./TAGS,tags,TAGS" となる。|emacs-tags|
6885         リストにファイル名を追加するときにはコマンド |:set+=|、リストからファ
6886         イル名を除くときにはコマンド |:set-=| を使うのがよい。こうすると将来の
6887         ヴァージョンで異なった既定値が使われるようになったときに、問題が起きる
6888         のを防げる。
6889         {Vi: 既定値は "tags /usr/lib/tags"}
6891                                 *'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
6892 'tagstack' 'tgst'       切替      (既定ではオン)
6893                         グローバル
6894                         {Vi のヴァージョンによってはこれがないものもある}
6895         オンのときは、タグスタック |tagstack| が通常通りに使われる。オフのとき
6896         は、引数付きのコマンド ":tag" または ":tselect" は、タグをタグスタック
6897         にプッシュしない。 その後に引数無しの ":tag" や、":pop" 等のタグスタッ
6898         クを使うコマンドを使うと、修正されていないタグスタックが使われるが、ア
6899         クティブな項目へのポインタは変更される。
6900         このオプションをオンにするのは、":tag" をマッピング内で使っていて、タ
6901         グスタックを変更すべきでないときに便利である。
6903                                                 *'term'* *E529* *E530* *E531*
6904 'term'                  文字列     (既定では $TERM、それが失敗したら
6905                                        GUI版では: "builtin_gui"
6906                                        Amigaでは: "amiga"
6907                                         BeOSでは: "beos-ansi"
6908                                          Macでは: "mac-ansi"
6909                                         MiNTでは: "vt52"
6910                                       MS-DOSでは: "pcterm"
6911                                         OS/2では: "os2ansi"
6912                                         Unixでは: "ansi"
6913                                          VMSでは: "ansi"
6914                                        Win32では: "win32")
6915                         グローバル
6916         ターミナルの名前。ターミナル制御文字の選択に使われる。環境変数は展開さ
6917         れる |:set_env|。
6918         例: >
6919                 :set term=$TERM
6920 <       |termcap| を参照。
6922                                                 *'termencoding'* *'tenc'*
6923 'termencoding' 'tenc'   文字列     (既定では ""; GTK+ 2 GUI では"utf-8";
6924                         Macintosh GUI では"macroman")
6925                         グローバル
6926                         {Vi mが |+multi_byte| 機能付きでコンパイルされたときの
6927                         み有効}
6928                         {Vi にはない}
6929         ターミナルで使われるエンコーディング名。このオプションは、どの文字エン
6930         コーディングをキーボードが生成し、どの文字エンコーディングをディスプレ
6931         イが理解できるかを指定する。GUI版ではキーボードにのみ適用される (ディ
6932         スプレイにはオプション 'encoding' が使われる)。Macで'macatsui'がオフに
6933         なっているときは例外で、'termencoding'は"macroman"になる。
6934         Win32 のコンソール版では、コンソールのコードページがANSIコードページで
6935         ないなら場合、その値が既定値となる。
6936                                                                 *E617*
6937         Note: これはGTK+ 2 GUIには適用されない。GUIの初期化に成功した後で強制
6938         的に'termencoding'が"utf-8"に設定される。
6939         これを他の値に設定しようとしても失敗し、エラーメッセージが表示される。
6940         Win32 GUIでは'termencoding'は入力された文字に対しては適用されない。
6941         Win32では常にユニコード文字が渡されるからである。
6942         空のときは、'encoding' で指定されたエンコーディングが使われる。これが
6943         通常の値である。
6944         'termencoding' と 'encoding' の組み合わせが全て正しいわけではない。
6945         |encoding-table| を参照。
6946         このオプションの値は、内部変換または関数 iconv() でサポートされていな
6947         ければならない。iconv() が値を扱えないときは、変換はなされず、非ASCII
6948         文字で問題が生じるだろう。
6949         例: ユーザは euc-jp (日本語) に設定されたロケールで作業していて、UTF-8
6950         のファイルを編集したいとする。 >
6951                 :let &termencoding = &encoding
6952                 :set encoding=utf-8
6953 <       ユーザのシステムがUTF-8のロケールをサポートしていないときは、ユーザが
6954         このように設定する必要がある。
6956                                                 *'terse'* *'noterse'*
6957 'terse'                 切替      (既定ではオフ)
6958                         グローバル
6959         オンのときは、オプション 'shortmess' にフラグ 's' を追加する (こうする
6960         とファイルの端まで検索してしまったときのメッセージが表示されなくなる)。
6961         オフのときは、オプション 'shortmess' からフラグ 's' を取り除く。
6962         {Vi では多くのメッセージを切り詰める}
6964                                    *'textauto'* *'ta'* *'notextauto'* *'nota'*
6965 'textauto' 'ta'         切替      (Vimの既定値: オン、Viの既定値: オフ)
6966                         グローバル
6967                         {Vi にはない}
6968         このオプションは時代遅れである。オプション 'fileformats' を使うこと。
6969         後方互換性のため、'textauto' がオンのときは、'fileformats' はシステム
6970         の既定値に設定される。'textauto' がオフになったときは、'fileformats'
6971         は空になる。
6972         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
6973         値に、オフのときはVimの既定値になるので注意。
6975                                    *'textmode'* *'tx'* *'notextmode'* *'notx'*
6976 'textmode' 'tx'         切替      (MS-DOS, Win32とOS/2では: 既定ではオン、
6977                                  他のシステムでは: 既定ではオフ)
6978                         バッファについてローカル
6979                         {Vi にはない}
6980         このオプションは時代遅れである。オプション 'fileformat' を使うこと。
6981         後方互換性のため、'textmode' がオンのときは、'fileformats' は "dos" に
6982         なる。'textmode' がオフのときは、'fileformats' は "unix" になる。
6984                                                 *'textwidth'* *'tw'*
6985 'textwidth' 'tw'        数値      (既定では 0)
6986                         バッファについてローカル
6987                         {Vi にはない}
6988         入力されているテキストの最大幅。行がそれより長くなると、この幅を超えな
6989         いように空白の後で改行される。値を 0 に設定すると無効になる。オプショ
6990         ン 'textwidth' が 0 のときは、'wrapmargin' が使われる場合がある。
6991         'formatoptions' と |ins-textwidth| を参照。
6992         'formatexpr'が設定されている場合、その値を使って改行される。
6993         NOTE: このオプションは、オプション 'compatible' がオンのときは 0 にな
6994         るので注意。
6996                                                 *'thesaurus'* *'tsr'*
6997 'thesaurus' 'tsr'       文字列     (既定では "")
6998                         グローバル/バッファについてローカル |global-local|
6999                         {Vi にはない}
7000         同義語補完コマンド |i_CTRL-X_CTRL-T| で単語の検索に使われるファイルの
7001         名前の、コンマ区切りのリスト。そのファイルの各行には、似た意味の単語を
7002         キーワードを構成しない文字で (空白がよい) 区切ったものが並ぶ。行長の最
7003         大値は 510 バイトである。
7004         これに使われるファイルを得るには、 http://www.hyphenologist.co.uk で
7005         wordlist FAQ を調べること。
7006         ファイル名にコンマを含めるときは、その前に '\' を置くこと。コンマの後
7007         の空白は無視されるが、それ以外では空白はそのままファイル名に含まれる。
7008         値に空白や '\' を含める方法については、|option-backslash| を参照。
7009         リストにディレクトリを追加するときには |:set+=|、リストからディレクト
7010         リを除くときには |:set-=| を使うのがよい。こうすると将来のヴァージョン
7011         で異なった既定値が使われるようになったときに、問題が起きるのを防げる。
7012         安全上の問題のため、このオプションにバッククォート '`' は使えない。
7014                              *'tildeop'* *'top'* *'notildeop'* *'notop'*
7015 'tildeop' 'top'         切替      (既定ではオフ)
7016                         グローバル
7017                         {Vi にはない}
7018         オンのとき、ティルデコマンド "~" が operator のように使用できる。
7019         (訳注: 普通ティルデは、打ち込まれた時点でカーソル下のアルファベットの
7020         大文字/小文字を変換するが、このオプションがオンのときは、"d" 等のよう
7021         に範囲を指定されるまで変換しない。このオプションがオフでも、
7022         "g~{motion}" なら範囲を指定できる。|case| を参照)
7023         NOTE: このオプションは、オプション 'compatible' がオンのときはオフにな
7024         るので注意。
7026                                 *'timeout'* *'to'* *'notimeout'* *'noto'*
7027 'timeout' 'to'          切替      (既定ではオン)
7028                         グローバル
7029                                                 *'ttimeout'* *'nottimeout'*
7030 'ttimeout'              切替      (既定ではオフ)
7031                         グローバル
7032                         {Vi にはない}
7033         これら2個のオプションは共に、Vimがマッピングされたキー列やキーコードの
7034         一部を受け取ったときの動作を決定する。
7036         'timeout'  'ttimeout'        動作 ~
7037            オフ      オフ        タイムアウト (時間切れ) を設けない
7038            オン      オンまたはオフ  マッピングとキーコードにタイムアウトあり
7039            オフ      オン        キーコードにタイムアウトあり
7041         両方オフのときは、完全なマッピングやキー列を受け取るか、受け取った文字
7042         列に対応するマッピングやキー列はないと明らかになるまで、Vimは待つ。例
7043         えば "vl" をマッピングして 'v' を入力したとき、'v' の次に 'l' が来るか
7044         どうか判断するには次の文字が入力されることが必要である。
7045         どちらかがオンのとき、Vimは次の文字が入力されるまで約1秒待つ。その後入
7046         力された文字をそれぞれ単一の文字として解釈する。待ち時間はオプション
7047         'timeoutlen' で設定できる。
7048         遅いターミナルや非常にビジーなシステムでは、時間切れを設けるとカーソル
7049         キーの動作がおかしくなることがある。両方オフのときは、<Esc> で始まるキー
7050         コードがあるとVimは <Esc> が入力された後ずっと待ち状態になる。ユーザは
7051         <Esc> を2回打ち込まなければならない。キーコードに問題はないが、マッピ
7052         ングされたキー列を1秒でタイムアウトにされたくなければ、'ttimeout' をオ
7053         ン、'timeout' をオフにすること。
7055         NOTE: オプション 'ttimeout' は、オプション 'compatible' がオンのときは
7056         オフになるので注意。
7059                                                 *'timeoutlen'* *'tm'*
7060 'timeoutlen' 'tm'       数値      (既定では 1000)
7061                         グローバル
7062                         {Vi のヴァージョンによってはないものもある}
7063                                                 *'ttimeoutlen'* *'ttm'*
7064 'ttimeoutlen' 'ttm'     数値      (既定では -1)
7065                         グローバル
7066                         {Vi にはない}
7067         キーコードやマッピングされたキー列が完了するのを待つ時間 (ミリ秒単位)。
7068         すでにコマンドの一部がタイプされているとき、CTRL-\ CTRL-NとCTRL-\
7069         CTRL-Gにも適用される。
7070         普通オプション 'timeoutlen' のみが使われ、'ttimeoutlen' は -1 に設定さ
7071         れる。キーコードに対して異なった待ち時間を設定したいときは、
7072         'ttimeoutlen' を非負の値に設定すること。
7074                 ttimeoutlen     マッピング待ち    キーコード待ち ~
7075                    負            'timeoutlen'       'timeoutlen'
7076                  0以上            'timeoutlen'       'ttimeoutlen'
7078         タイムアウト (時間切れ) になるのは、'timeout' と 'ttimeout' でそう設定
7079         されているときのみである。便利な設定は次の通り。 >
7080                 :set timeout timeoutlen=3000 ttimeoutlen=100
7081 <       (マッピングは3秒、キーコードは0.1秒で時間切れ)
7083                                                 *'title'* *'notitle'*
7084 'title'                 切替      (既定ではオフ、
7085                                  タイトルが復元できるときにはオン)
7086                         グローバル
7087                         {Vi にはない}
7088                         {Vi mが |+title| 機能付きでコンパイルされたときのみ有
7089                         効}
7090         オンのとき、ウィンドウのタイトルがオプション 'titlestring' の値 (空で
7091         なければ) になる。空の場合は次のようになる。
7092                 filename [+=-] (path) - VIM
7093         ここでの意味は以下の通り。
7094                 filename        編集されているファイルの名前
7095                 -               ファイルが変更できない、つまり 'ma' がオフであ
7096                                 ることを表す
7097                 +               ファイルが変更を受けたことを表す
7098                 =               ファイルが読み込み専用であることを表す
7099                 =+              ファイルが読み込み専用であるが変更を受けたこと
7100                                 を表す
7101                 (path)          編集されているファイルのパス
7102                 - VIM           サーバ名、変数 |v:servername| の値または "VIM"
7103         ターミナルがウィンドウタイトルを設定できるもののときのみ有効である
7104         (現在のところAmigaとWin32のコンソール版、全てのGUI版と 't_IS' が空でな
7105         いターミナルのみ --- これらは既定では Unix xterm と iris-ansi であり、
7106         このときターミナルオプション 't_IS' は組み込み termcap から取られる)。
7107                                                                 *X11*
7108         Vimが HAVE_X11 が定義された状態でコンパイルされた場合は、可能ならば元
7109         のタイトルが復元される。HAVE_X11 が定義されていたら、コマンド
7110         ":version" の出力には "+X11" が含まれ、定義されていなかったら "-X11"
7111         が含まれる。これはアイコン名 'icon' にも働く。
7112         しかしVimが引数 |-X| 付きで起動した場合は、タイトルは復元されない (GUI
7113         版を除く)。
7114         タイトルを復元できないときは、'titleold' がタイトルになる。その場合は
7115         Vimの外でタイトルを復元したいと思うかもしれない。ネットワーク越しに
7116         xterm を使っているときは、次のコマンドが使える。
7117                 rsh マシン名 xterm -display $DISPLAY &
7118         すると環境変数 $WINDOWID の値が受け継がれ、ウィンドウのタイトルは、Vim
7119         の終了後に戻るべき状態に戻る。
7121                                                                 *'titlelen'*
7122 'titlelen'              数値      (既定では 85)
7123                         グローバル
7124                         {Vi にはない}
7125                         {Vi mが |+title| 機能付きでコンパイルされたときのみ有
7126                         効}
7127         ウィンドウタイトルが占める列の割合 (パーセント単位)。タイトルがこれよ
7128         り長かったときは、パス名の後ろの部分のみが表示される。この切り詰めを示
7129         すためには、パス名の前に文字 '<' が表示される。
7130         割合で指定しているため、タイトルが占める長さはウィンドウの幅に従って調
7131         整できる。しかし完全にその通りになる訳ではない。それは実際に利用できる
7132         文字数は、使われているフォントやタイトルバー内の他のものによっても変わ
7133         るからだ。値が 0 のときは、フルパスが使われる。フルパスを使わないとき
7134         は 1 以上 30000 以下の数を指定する。
7135         このオプションはオプション 'titlestring' にも使われる。
7137                                                 *'titleold'*
7138 'titleold'              文字列     (既定では "Vim を使ってくれてありがとう")
7139                         グローバル
7140                         {Vi にはない}
7141                         {Vi mが |+title| 機能付きでコンパイルされたときのみ有
7142                         効}
7143         このオプションの値は、Vimの終了時に元のウィンドウタイトルが復元できな
7144         い場合のタイトルに使われる。オプション 'title' がオンであるか
7145         'titlestring' が空でないときのみ有効である。
7146         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
7147         ス|sandbox|の中で設定することはできない。
7148                                                 *'titlestring'*
7149 'titlestring'           文字列     (既定では "")
7150                         グローバル
7151                         {Vi にはない}
7152                         {Vi mが |+title| 機能付きでコンパイルされたときのみ有
7153                         効}
7154         空でないとき、ウィンドウタイトルに使われる。オプション 'title' がオン
7155         のときのみ有効である。
7156         ターミナルがウィンドウタイトルを設定できるもののときのみ有効である (現
7157         在のところAmigaとWin32のコンソール版、全てのGUI版とターミナルオプショ
7158         ン 't_IS' が空でないターミナルのみ)。
7159         Vimが HAVE_X11 が定義された状態でコンパイルされた場合は、可能ならば元
7160         のタイトルが復元される |X11|。
7161         値に関数 printf 形式の '%' による書式指定が含まれているときは、
7162         'statusline' と同じ方法で展開される。例: >
7163           :auto BufEnter * let &titlestring = hostname() . "/" . expand("%:p")
7164           :set title titlestring=%<%F%=%l/%L-%P titlelen=70
7165 <       'titlelen' の値は、利用できる場所の中で項目を中央や右にそろえるために
7166         使われる。
7167         ファイル名を最初に表示したい人は、こう設定する。 >
7168           :set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:~:.:h\")})%)%(\ %a%)
7169 <       Note (ファイル名を除いた) パスを得るため、 "%{ }" と expression を使っ
7170         ていることに注意。"%( %)" は、区切りの空白を必要なときだけ加えるために
7171         使われている。
7172         NOTE: 'titlestring' に特殊な文字 (例えば文字 <CR> や文字 <NL>) を使う
7173         と、表示がおかしくなることがあるので注意。
7174         {Vi mが |+statusline| 機能付きでコンパイルされたときのみ有効}
7176                                 *'toolbar'* *'tb'*
7177 'toolbar' 'tb'          文字列     (既定では "icons,tooltips")
7178                         グローバル
7179                         {Vi mの |+GUI_GTK|版, |+GUI_Athena|版, |+GUI_Motif|版,
7180                         |+GUI_Photon|版のみ}
7181         ツールバーの様々な設定を行う。指定可能な値は以下の通り。
7182                 icons           ツールバーのボタンにアイコンが表示される。
7183                 text            ツールバーのボタンに名前が表示される。
7184                 horiz           ツールバーのボタンのアイコンとテキストが水平に
7185                                 配置される。|GTK+ 2 GUIでのみ利用可能|
7186                 tooltips        ツールバーのボタンでツールティップが表示される。
7187         ツールティップとは、マウスカーソルがツールバーのボタン上にしばらく置か
7188         れたときに飛び出す、ヘルプテキストのことである。
7190         ツールバーにアイコンと名前を両方表示したいときは、このように設定する。 >
7191                 :set tb=icons,text
7192 <       MotifとAthenaでは両方同時には表示できない。両方求められると、アイコン
7193         だけが表示される。
7195         オプション 'toolbar' が空であるか、適切な値が一つもないときは、このオ
7196         プションは無視される。ツールバーを無効にしたいときは、'guioptions' を
7197         設定する必要がある。例: >
7198                 :set guioptions-=T
7199 <       |gui-toolbar| も参照。
7201                                                 *'toolbariconsize'* *'tbis'*
7202 'toolbariconsize' 'tbis'        文字列     (既定では "small")
7203                                 グローバル
7204                                 {Vi にはない}
7205                                 {GTK+ 2 GUI版でのみ利用可能}
7206         ツールバーのアイコンのサイズを制御する。設定可能な値は次の通り:
7207                 tiny            最も小さいツールバーのアイコンを使用する。
7208                 small           小さいツールバーのアイコンを使用する(既定値)。
7209                 medium          中程度のツールバーのアイコンを使用する。
7210                 large           大きいツールバーのアイコンを使用する。
7211         各種アイコンサイズのピクセル単位での正確な大きさは、使用しているテーマ
7212         に依存する。共通の大きさはlarge=32x32、medium=24x24、small=20x20、
7213         tiny=16x16である。
7215         'toolbariconsize'が空のときは、ユーザの設定または現在使用しているテー
7216         マによって決定されるグローバルなデフォルトサイズが使用される。
7218                              *'ttybuiltin'* *'tbi'* *'nottybuiltin'* *'notbi'*
7219 'ttybuiltin' 'tbi'      切替      (既定ではオン)
7220                         グローバル
7221                         {Vi にはない}
7222         オンのときは、外部の termcap の前に組み込みの termcap を探す。
7223         オフのときは、外部の termcap の後に組み込みの termcap を探す。
7224         このオプションが変更されたときは、変更を有効にするため、次にオプション
7225         'term' を設定する必要がある。例: >
7226                 :set notbi term=$TERM
7227 <       |termcap| も参照。
7228         関連情報: このオプションは既定ではオンである。それは普通、組み込み
7229         termcap のエントリの方が良いものだからだ (多くのシステムでおかしな
7230         xterm エントリが含まれている...)。
7232                                      *'ttyfast'* *'tf'* *'nottyfast'* *'notf'*
7233 'ttyfast' 'tf'          切替      (既定ではオフ、
7234                                  'term' が xterm, hpterm, sun-cmd, screen,
7235                                  rxvt, dtterm, iris-ansi のときはオン、
7236                                  DOSのコンソール版でもオン)
7237                         グローバル
7238                         {Vi にはない}
7239         高速ターミナル接続を行う。再描画のとき、行挿入/削除コマンドを使う代わ
7240         りに、より多くの文字が画面に送られる。複数のウィンドウが開かれて
7241         いたり、ターミナルが部分スクロールをサポートしていないとき、再描画が滑
7242         らかになる。
7243         また折り返された行のそれぞれの行末で、文字の extra writing (訳注: 何の
7244         ことだか分からない。どなたかご教授願います) を有効にする。これは xterm
7245         等のターミナルで、マウスを使ってコピーやペーストをするときに役立つ。
7246         (訳注: "tty" とは、昔のコンピュータに使われていたテレタイプ (TeleTYpe)
7247         端末 (コンソールみたいなもの) から来た言葉である)
7249                                                 *'ttymouse'* *'ttym'*
7250 'ttymouse' 'ttym'       文字列     (既定値は 'term' によって異なる)
7251                         グローバル
7252                         {Vi にはない}
7253                         {Vi mのUnix版とVMS版でのみ使用可能で、GUI版では無効。
7254                         Vimが |+mouse| 機能付きでコンパイルされたときのみ有効}
7255         マウスコードが、このオプションで指定したターミナル名に従って認識される。
7256         現在のところ、以下のターミナル名を設定できる。
7257                                                         *xterm-mouse*
7258            xterm        xterm 風にマウスを扱う。マウスが生成するコードは
7259                         "<Esc>[Mscr" である。ここで "scr" は次のような3バイト
7260                         のコードである。
7261                                 "s"  = ボタンの状態
7262                                 "c"  = 桁数足す 33
7263                                 "r"  = 行数足す 33
7264                         これは223桁までしか機能しないことに注意。解決策につい
7265                         ては"dec"を参照。
7266            xterm2       "xterm" と動作が似ているが、ドラッグ中もマウス位置を返
7267                         すような xterm に対して働く。こちらの方がずっと動作が
7268                         速く、正確である。これを使うには、ユーザの xterm が最
7269                         低でもパッチレベルが 88 で XFree 3.3.3 に対応していな
7270                         ければならない。Vimがこれを自動認識する方法については、
7271                         以下を参照。
7272                                                         *netterm-mouse*
7273            netterm      NetTerm 風にマウスを扱う。マウスが生成するコードは
7274                         "<Esc>}r,c<CR>" である。ここで "r,c" は、それぞれ
7275                         行数と列数を表す10進数である。
7276                                                         *dec-mouse*
7277            dec          DEC terminal 風にマウスを扱う。マウスが生成するのは、
7278                         "<Esc>[" で始まるかなり複雑なコードである。
7279                         Xtermが"--enable-dec-locator"つきでconfigureされている
7280                         ならば、Xtermでもこれを利用できる。
7282                                                         *jsbterm-mouse*
7283            jsbterm      JSB term 風にマウスを扱う。
7284                                                         *pterm-mouse*
7285            pterm        QNX pterm 風にマウスを扱う。
7287         マウスを使用するには、コンパイル時に |+mouse_xterm|, |+mouse_dec|,
7288         |+mouse_netterm| 等のどれかの機能を有効にしておかなければならない。
7289         本当に認識されるのは "xterm(2)" のみである。NetTerm のマウスコードは、
7290         コンパイル時に有効にされていれば必ず認識される。DEC terminal のマウス
7291         コードは、コンパイル時に有効にされ、かつオプション 'ttymouse' が
7292         "xterm" でないときのみ認識される (xterm と DEC のマウスコードが競合す
7293         るため)。
7294         このオプションが自動的に "xterm" に設定されるのは、'term' が "xterm"
7295         で始まり、かつ 'ttymouse' がすでに "xterm" または "xterm2" でないとき
7296         である。このオプションの主な使い方は、ターミナル名が "xterm" で始まら
7297         ないが、そのターミナルが xterm 風のマウスコードを認識できるときに、値
7298         を "xterm" に設定する、というものである。
7299         "xterm2" に自動設定されるのは、xterm のヴァージョンが 95 以上であると
7300         報告されたときである。この設定は、機能 |+termresponse| がコンパイル時
7301         に有効になっており、かつターミナルオプション |t_RV| が xterm のヴァー
7302         ジョンナンバーを求めるエスケープシーケンスに設定されていたときのみであ
7303         る。そうでないときはユーザが "xterm2" と設定しなければならない。
7304         'ttymouse' を "xterm2" に自動的に設定したくないときは、次のように
7305         |t_RV| を空にすること。 >
7306                 :set t_RV=
7308                                                 *'ttyscroll'* *'tsl'*
7309 'ttyscroll' 'tsl'       数値      (既定では 999)
7310                         グローバル
7311         画面をスクロールする行数の最大値。この行数以上スクロールするときは、ウィ
7312         ンドウが再描画される。スクロールがとても遅いが再描画は遅くないようなター
7313         ミナルでは、表示を高速化するため、このオプションを 3 等の小さい数にす
7314         るとよい。
7316                                                 *'ttytype'* *'tty'*
7317 'ttytype' 'tty'         文字列     (既定値は $TERM によって決まる)
7318                         グローバル
7319         上記のオプション 'term' の別名。
7321                                                 *'undolevels'* *'ul'*
7322 'undolevels' 'ul'       数値      (既定では 100、
7323                                  Unix, VMS, Win32, OS/2での既定値は 1000)
7324                         グローバル
7325                         {Vi にはない}
7326         アンドゥ可能な変更の最大値。アンドゥをするための情報はメモリに蓄えられ
7327         るため、大きい数を設定するとメモリの消費量も多くなる (にも関わらず、単
7328         一の変更には無制限にメモリを利用できる)。
7329         Vi互換にするには、次のように 0 にすること。アンドゥは 1 回だけ可能で、
7330         もう 1 回 "u" を使うとアンドゥがアンドゥ (訳注: リドゥ) される。 >
7331                 set ul=0
7332 <       しかしVi互換にするには、オプション 'cpoptions' にフラグ 'u' を追加して
7333         もよい。こうするとコマンド CTRL-R でリドゥできる。
7334         アンドゥを無効にするには、次のように負の値にすること。 >
7335                 set ul=-1
7336 <       これは 1 回の変更でもメモリを使い果たしそうなときに役立つ。
7337         |undo-two-ways| も参照。
7339                                                 *'updatecount'* *'uc'*
7340 'updatecount' 'uc'      数値      (既定では 200)
7341                         グローバル
7342                         {Vi にはない}
7343         この回数だけ文字を打ち込むと、スワップファイルがディスクに書き込まれる。
7344         0 にすると、スワップファイルは全く作られない (復旧に関する章
7345         |crash-recovery| を参照)。Vimを引数 "-n" 付きで起動すると、オプション
7346         'updatecount' を 0 に設定できる。|startup| を参照。読み込み専用モード
7347         で編集しているときは、このオプションは 10000 に初期化される。
7348         'swapfile' により、スワップファイルをバッファごとに無効化できる。
7349         'updatecount' が 0 から 非0 に変更されたときは、'swapfile' がオンになっ
7350         ている全てのバッファで、スワップファイルが作られる。'updatecount' が 0
7351         になったときは、既存のスワップファイルは削除されない。
7352         'swapsync' も参照。
7353         'buftype' が "nofile" や "nowrite" であるようなバッファでは、このオプ
7354         ションの意味はない。
7356                                                 *'updatetime'* *'ut'*
7357 'updatetime' 'ut'       数値      (既定では 4000)
7358                         グローバル
7359                         {Vi にはない}
7360         この時間の間 (ミリ秒単位) 入力がなければ、スワップファイルがディスクに
7361         書き込まれる (|crash-recovery| を参照)。また autocommand のイベント
7362         |CursorHold| にも使われる。
7364                                                 *'verbose'* *'vbs'*
7365 'verbose' 'vbs'         数値      (既定では 0)
7366                         グローバル
7367                         {Vi にはないが、Viのヴァージョンによっては切替型のオプ
7368                         ション verbose がある}
7369         値が 0 より大きいとき、Vimは実行中の動作に関するメッセージを表示する。
7370         現在のところ、以下のメッセージが表示される。
7371         1以上     ファイル viminfo が読み書きされたとき
7372         2以上     コマンド ":source" でファイルを読み込んだとき
7373         5以上     検索されたタグファイルとインクルードファイル全て
7374         8以上     autocommand のグループが実行されたファイル
7375         9以上     実行された autocommand 全て
7376         12以上    実行された関数全て
7377         13以上    例外が発生/捕捉/終了/破棄されたとき
7378         14以上    ":finally"節において保留されている全て
7379         15以上    実行された Ex コマンド全て (200 文字から後は切り捨て)
7381         このオプションは、引数 "-V" でも設定できる。|-V| を参照。
7382         このオプションは、コマンド |:verbose| でも設定できる。
7384         'verbosefile'が設定されている場合、verboseのメッセージは表示されない。
7386                                                 *'verbosefile'* *'vfile'*
7387 'verbosefile' 'vfile'   文字列     (既定では "")
7388                         グローバル
7389                         {Vi にはない}
7390         このオプションが空でないとき、全てのメッセージはこの名前のファイルに書
7391         き出される。ファイルが既に存在するときは、そこに追加される。
7392         ファイルへの書き出しはVimが終了したときか、または'verbosefile'が空に設
7393         定されたとき終了する。
7394         'verbosefile'を新しい値に設定すると、最初に空に設定したのと同じことに
7395         なる。|:redir|との違いは、'verbosefile'が設定されているとき冗長なメッ
7396         セージは画面に表示されないことである。
7398                                                 *'viewdir'* *'vdir'*
7399 'viewdir' 'vdir'        文字列     (Amiga, MS-DOS, OS/2とWin32での既定値:
7400                                                          "$VIM/vimfiles/view",
7401                                  Unixでの既定値: "~/.vim/view",
7402                                  Macintoshでの既定値: "$VIM:vimfiles:view"
7403                                  VMSでの既定値: "sys$login:vimfiles/view"
7404                                  RiscOSでの既定値: "Choices:vimfiles/view")
7405                         グローバル
7406                         {Vi にはない}
7407                         {Vi mが |+mksession| 機能付きでコンパイルされたときの
7408                         み有効}
7409         コマンド |:mkview| によるファイルを格納するディレクトリの名前。
7410         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
7411         ス|sandbox|の中で設定することはできない。
7413                                                 *'viewoptions'* *'vop'*
7414 'viewoptions' 'vop'     文字列     (既定では "folds,options,cursor")
7415                         グローバル
7416                         {Vi にはない}
7417                         {Vi mが |+mksession| 機能付きでコンパイルされたときの
7418                         み有効}
7419         コマンド |:mkview| の効果を変更する。値はキーワードのコンマ区切りのリ
7420         ストである。キーワードは、ある項目の保存と復元を有効にする。
7421            キーワード        復元される項目 ~
7422            cursor       ファイル/ウィンドウ内のカーソル位置
7423            folds        手動で作られた折り畳み、折り畳みの開閉の区別、折り畳み
7424                         関連のローカルなオプション
7425            options      ウィンドウまたはバッファについてローカルなオプションと
7426                         マッピング (ローカルなオプションのグローバルな値は含め
7427                         ない)
7428            slash        ファイル名内の '\' がスラッシュに置換される
7429            unix         WindowsやDOS上でも、Unix形式の end-of-line (1個の
7430                         <NL>) を使う
7432         "slash" と "unix" は、Windows上でビューファイルをUnixと共有するときに
7433         便利である。Unix版のVimはdos形式のスクリプトを読み込めないが、Windows
7434         版のVimはunix形式のスクリプトを読み込めるからだ。
7436                                 *'viminfo'* *'vi'* *E526* *E527* *E528*
7438 'viminfo' 'vi'          文字列     (Viの既定値は "", Vimの既定値は、
7439                              MS-DOS, WindowsとOS/2では: '100,<50,s10,h,rA:,rB:,
7440                              Amigaでは: '100,<50,s10,h,rdf0:,rdf1:,rdf2:
7441                              他のシステムでは: '100,<50,s10,h)
7442                         グローバル
7443                         {Vi にはない}
7444                         {Vi mが |+viminfo| 機能付きでコンパイルされたときの
7445                         み有効}
7446         値が空でないとき、viminfo ファイルが起動に先立って読み込まれ、また終了
7447         時に書き出される (|viminfo-file| を参照)。値は指定部のコンマ区切りのリ
7448         ストである。指定部には、効果を指定するフラグ1文字の次に、その値を指定
7449         する数または文字列を指定する。指定されなかったものについては、既定値が
7450         使われる。フラグとその動作の一覧は、以下の通りである。
7451         フラグ     動作 ~
7452         !       これが含まれると、アルファベットの大文字で始まり、小文字を含ま
7453                 ないグローバル変数を保存・復元する。つまり "KEEPTHIS" と
7454                 "K_L_M" は保存されるが、"KeepThis" と "_K_L_M" は保存されない。
7455                 文字列と数値型のみ保存される。
7456         "       各レジスタで保存される行数の最大値。これはフラグ'<'の古い表記
7457                 である。この表記の不利点は、エスケープのために"を前に書かない
7458                 といけないことである。そうしないとコメントの開始と見なされてし
7459                 まう!
7460         %       これが含まれると、バッファリストを保存・復元する。Vimの起動時
7461                 にファイル名が引数に含まれていると、バッファリストは復元されな
7462                 い。 Vimの起動時にファイル名が引数に含まれていないと、バッファ
7463                 リストが viminfo ファイルから復元される。ファイル名のないバッ
7464                 ファとヘルプ用バッファは、viminfo ファイルには書き込まれない。
7465                 このフラグの後に続けて数値を書くと、保存されるバッファ数の最大
7466                 値を指定することができる。数値が書かれていない場合、全てのバッ
7467                 ファが保存される。
7468         '       マークが復元されるファイル履歴の最大値。オプション 'viminfo'
7469                 が空でないときは、常にこれを設定しなければならない。
7470                 また、このオプションを設定するとジャンプリスト |jumplist|と
7471                 |changelist| も viminfo ファイルに蓄えられることになる。
7472         /       保存される検索パターンの履歴の最大値。非0 の値を指定すると、前
7473                 回の検索パターンと置換パターンも保存される。これが含まれないと
7474                 きは、'history' の値が使われる。
7475         :       保存されるコマンドライン履歴の最大値。これが含まれないときは、
7476                 'history' の値が使われる。
7477         <       各レジスタで保存される行数の最大値。0 にすると、レジスタは保存
7478                 されなくなる。'"'はこのフラグの古い表記である。
7479                 下記のフラグ's'も参照: 's'はKbyte単位で最大値を指定する。
7480         @       保存される input-line 履歴の最大値。これが含まれないときは、
7481                 'history' の値が使われる。
7482         c       これが含まれると、viminfo ファイル内のテキストを、書き込まれた
7483                 ときのエンコーディングから現在のエンコーディングに変換する。
7484                 |viminfo-encoding| (訳注: および 'encoding') を参照。
7485         f       ファイルマークを保存するかどうか。0 を指定すると、ファイルマー
7486                 ク ('0 から '9, 'A から 'Z) は保存されない。これが含まれなかっ
7487                 たり、値が非0 のときは、みな保存される。 '0 は (終了時やコマン
7488                 ド ":wviminfo" の実行時の) カーソル位置の保存に使われる。
7489         h       viminfo ファイルの読み込み時に、'hlsearch' を無効にする。含ま
7490                 れないときは、最後の検索コマンド以来、コマンド ":nohlsearch"
7491                 が使われたかどうかによる。
7492         n       これでファイル viminfo の名前を指定する。名前は 'n' のすぐ後に
7493                 続けて指定する。'viminfo' の最後に指定しなければならない!Vim
7494                 の開始時に引数 "-i" が指定されると、それで指定されたファイル名
7495                 がここで指定されたものを上書きする。環境変数は、オプションの設
7496                 定時ではなく、ファイルの読み込み時に展開される。
7497         r       リムーバブル・メディア (訳注: フロッピ、CD-ROM等の取り外せる記
7498                 憶装置。この中身は取り替えてしまえば全く変わるので、ファイル履
7499                 歴の意味がない) の指定。引数は文字列 (次の ',' まで) である。
7500                 これは複数個指定できる。それぞれがマーク履歴の対象外になるパス
7501                 の先頭部を指定する。これはリムーバブル・メディアを避けるためで
7502                 ある。 MS-DOSでは "ra:,rb:", Amigaでは "rdf0:,rdf1:,rdf2:" と
7503                 するとよい。ここに一時ファイルを指定することもできる(Unixの例:
7504                 "r/tmp")。大文字と小文字の区別はない。それぞれの 'r' の引数の
7505                 最大長は 50 文字である。
7506         s       Kbyte単位でのフラグの最大値。0のときレジスタは保存されない。現
7507                 在のところこれはレジスタにのみ適用される。既定値の"s10"の状態
7508                 では、10Kbyteを超えるテキストを持つレジスタは除外される。上記
7509                 のフラグ'<'も参照: '<'は行数で制限値を指定する。
7511         例: >
7512             :set viminfo='50,<1000,s100,:0,n~/vim/viminfo
7514         '50             最近編集した 50 ファイル内のマークは保存される。
7515         <1000           レジスタの中身 (それぞれ 1000 行まで) は保存される。
7516         s100            100Kbyteを超えるテキストを持つレジスタは保存されない。
7517         :0              コマンドラインの履歴は保存されない。
7518         n~/vim/viminfo  使用するファイル名は "~/vim/viminfo" である。
7519         '/' がない '/' が指定されていないので、既定値が使われる。つまり全
7520                         ての検索履歴や前回の検索パターン、置換パターンが保存さ
7521                         れる。
7522         '%' がない バッファリストは、保存も復元もされない。
7523         'h' がない 'hlsearch' による強調表示は復元される。
7525         'viminfo'を空の値から他の値へ変更するとき、|:rviminfo|を使うと、そのファ
7526         イルの中身を読み込むことができる。これは自動的には行われない。
7528         安全上の理由から、このオプションをモードライン|modeline|やサンドボック
7529         ス|sandbox|の中で設定することはできない。
7531                                             *'virtualedit'* *'ve'*
7532 'virtualedit' 've'      文字列  (既定では "")
7533                         グローバル
7534                         {Vi にはない}
7535                         {Vi mが |+virtualedit| 機能付きでコンパイルされたとき
7536                         のみ有効}
7537         値は、以下のキーワードのコンマ区切りのリストである。
7538                 block   Visual blockモードで仮想編集を有効にする。
7539                 insert  Insertモードで仮想編集を有効にする。
7540                 all     全てのモードで仮想編集を有効にする。
7541                 onemore 行末の1文字先までカーソルを移動できるようにする。
7542         仮想編集とは、実際に文字がないところにもカーソルを置けるようにすること
7543         である。つまりタブ文字の内部や行末より後ろにカーソルを移動できる。
7544         Visualモードで長方形を選択するときや、表を編集するときに便利である。
7545         (訳注: フリーカーソルモードとも呼ばれる)
7546         "onemore"は同じではない。"onemore"は単にカーソルを行の最後の文字の直後
7547         まで移動できるようにするだけである。これによっていくつかのコマンドがよ
7548         り一貫性を持つようになる。以前は、空行では常にカーソルは行末を越えてい
7549         た。しかしこれはVi互換からはほど遠い。これを設定すると動かなくなるプラ
7550         グインやVimスクリプトもあるかもしれない。例えば|l|でカーソルが最後の文
7551         字の後に移動できるためである。よく注意して使うこと!
7552         コマンド|$|はカーソルを行の最後の文字へ移動させる。最後の文字を越えは
7553         しない。そのため、|$|によってカーソルが左へ移動することもありえる。
7554         "all"と"onemore"を同時に設定することは意味がないが、そのように設定して
7555         も警告は出ない。
7557                         *'visualbell'* *'vb'* *'novisualbell'* *'novb'* *beep*
7558 'visualbell' 'vb'       切替      (既定ではオフ)
7559                         グローバル
7560                         {Vi にはない}
7561         ビープ音に、実際は音でなくビジュアルベル (訳注: 画面フラッシュ) を使う。
7562         ビジュアルベルに使われるターミナルコードは、ターミナルオプション
7563         't_vb' で指定される。音もフラッシュも使いたくないならば、次のようにす
7564         ること (訳注: しかしエラーが分からなくなるという諸刃の剣)。 >
7565                 :set vb t_vb=
7566 <       Note: GUIが開始するとき、't_vb' は既定値に設定されることに注意。
7567         |gvimrc| ファイルで再設定する必要があるだろう。GUI 版では、't_vb' の既
7568         定値は "<Esc>|f" であり、画面の色を 20 ミリ秒だけ反転させる。違った時
7569         間を設定したいときは、 "<Esc>|40f" とすること。ここで 40 の所にはミリ
7570         秒単位で時間を設定する。
7571         Amigaではこのオプションは無効で、常に画面フラッシュが使われる。
7572         'errorbells' も参照。
7574                                                 *'warn'* *'nowarn'*
7575 'warn'                  切替      (既定ではオン)
7576                         グローバル
7577         バッファが変更される間にシェルコマンドが使われたら、警告メッセージを表
7578         示する。
7580                      *'weirdinvert'* *'wiv'* *'noweirdinvert'* *'nowiv'*
7581 'weirdinvert' 'wiv'     切替      (既定ではオフ)
7582                         グローバル
7583                         {Vi にはない}
7584         このオプションは termcap オプション 't_xs' と同じ効果を持つ。これは
7585         Vim version 4.x との後方互換性のためのものである。
7586         このオプションをオンにすると、't_xs' が非0 になる。またこのオプション
7587         をオフにすると、't_xs' が 0 になる。GUI版では効果がない。
7589                                                 *'whichwrap'* *'ww'*
7590 'whichwrap' 'ww'        文字列     (Vimの既定値: "b,s"、Viの既定値: "")
7591                         グローバル
7592                         {Vi にはない}
7593         カーソルを左右させるキーのうち、ここで指定したものでは、カーソルが行頭
7594         /末にあるときに前/次行に移動できるようになる。以下のキーでこれを有効
7595         にするには、文字を連結すること (訳注: はて?以下の文字を値に加えろとい
7596         うことか?)。
7597                フラグ キー    モード    ~
7598                  b    <BS>       NormalとVisual
7599                  s    <Space>    NormalとVisual
7600                  h    "h"        NormalとVisual (非推奨)
7601                  l    "l"        NormalとVisual (非推奨)
7602                  <    <Left>     NormalとVisual
7603                  >    <Right>    NormalとVisual
7604                  ~    "~"        Normal
7605                  [    <Left>     InsertとReplace
7606                  ]    <Right>    InsertとReplace
7607         例: >
7608                 :set ww=<,>,[,]
7609 <       こうすると、カーソルキーでのみ行末/頭の移動ができる。
7610         移動キーが削除オペレータや変更オペレータと共に使われたときは、<EOL> も
7611         文字に含まれる。このためカーソルが行末を通るときは、"3h" の動きと
7612         "3dh" の動きは異なる。これは "x" と "X" にも当てはまる。それは、それら
7613         のコマンドは "dl" と "dh" と同様に働くからだ。これを使うときは、バック
7614         スペースでカーソル前の文字を削除できるようにするため、マッピング
7615         ":map <BS> X" を使うとよい。
7616         値に 'l' が含まれているとき、行末でオペレータの後にlを使うと、カーソル
7617         が次行に移動しない。これによって"dl", "cl", "yl"などが普通に動作する。
7618         NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
7619         値に、オフのときはVimの既定値になるので注意。
7621                                                 *'wildchar'* *'wc'*
7622 'wildchar' 'wc'         数値      (Vimの既定値: <Tab>、Viの既定値: CTRL-E)
7623                         グローバル
7624                         {Vi にはない}
7625         コマンドラインで、オプション 'wildmode' で指定したようにワイルドカード
7626         を展開するために打ち込まなければならない文字。
7627         より詳しくは |cmdline-completion| を参照。
7628         その文字はマクロ内では認識されない。それには 'wildcharm' を参照。
7629         このオプションは数値オプションだが、次のように特殊キーも設定できる。 >
7630                 :set wc=<Esc>
7631 <       NOTE: このオプションは、オプション 'compatible' がオンのときはViの既定
7632         値に、オフのときはVimの既定値になるので注意。
7634                                                 *'wildcharm'* *'wcm'*
7635 'wildcharm' 'wcm'       数値      (既定では空 (0))
7636                         グローバル
7637                         {Vi にはない}
7638         このオプションはオプション 'wildchar' と全く同様に働くが、こちらはマク
7639         ロ内でも認識される点が異なっている。|ex-edit-index| を探せば、このオプ
7640         ションに適した「予備」コマンドラインキーが見つかるだろう。普通、ユーザ
7641         が実際に 'wildcharm' で指定されたキーを打ち込むことはない。自動的に補
7642         完モードを呼び出すマッピング内でのみ使うこと。例えば次のようにする。 >
7643                 :set wcm=<C-Z>
7644                 :cnoremap ss so $vim/sessions/*.vim<C-Z>
7645 <       こうすると ":ss" と打ち込んだ後でコマンド CTRL-P や CTRL-N が使える。
7647                                                 *'wildignore'* *'wig'*
7648 'wildignore' 'wig'      文字列     (既定では "")
7649                         グローバル
7650                         {Vi にはない}
7651                         {Vi mが |+wildignore| 機能付きでコンパイルされたときの
7652                         み有効}
7653         ファイルパターンのリスト。パターンのどれかにマッチしたファイルは、ファ
7654         イル/ディレクトリ名の補完時に無視される。また、フラグを与えて無効化し
7655         ない限り、|expand()|, |glob()|, |globpath()| の結果に影響する。
7656         パターンは |:autocmd| と同様のものである。|autocmd-patterns| を参照。
7657         オプション 'suffixes' も参照。
7658         例: >
7659                 :set wildignore=*.o,*.obj
7660 <       リストにパターンを追加するときにはコマンド |:set+=|、リストからパター
7661         ンを除くときにはコマンド |:set-=| を使うのがよい。こうすると将来のヴァー
7662         ジョンで異なった既定値が使われるようになったときに、問題が起きるのを防
7663         げる。
7665                                 *'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
7666 'wildmenu' 'wmnu'       切替      (既定ではオフ)
7667                         グローバル
7668                         {Vi にはない}
7669                         {Vi mが |+wildmenu| 機能付きでコンパイルされたときのみ
7670                         有効}
7671         オンのとき、コマンドライン補完が拡張モードで行われる。オプション
7672         'wildchar' で指定されたキー (普通 <Tab>) を打ち込むと補完を開始し、コ
7673         マンドラインのすぐ上に可能性のあるマッチが表示され、最初のマッチが強調
7674         表示される (ステータス行があるときは、それを上書きする)。<Tab> や
7675         CTRL-P /CTRL-N 等の前/次のマッチを表示するキーは、強調部分を適切なマッ
7676         チに移動させる。
7677         'wildmode' が有効なときは、"full" が指定されたところで "wildmenu" モー
7678         ドが使われる。"longest" と "list" では "wildmenu" モードは開始されない。
7679         1行に収め切れない程マッチがあるときは、(訳注: その後にマッチがあるなら)
7680         文字 ">" が右端に表示され、(訳注: その前にマッチがあるなら) 文字 "<"
7681         が左端に表示される。ステータス行は必要に応じてスクロールする。
7682         "wildmenu" モードは、補完候補の選択に使われないキーが打ち込まれた時点
7683         で終了する。
7684         "wildmenu" が使われているとき、以下のキーは特別な働きを持つ。
7686         <Left> <Right>  - 前/次のマッチを選択 (CTRL-P/CTRL-N と同じ)
7687         <Down>          - ファイル/メニュー名補完時: サブディレクトリ/メニュー
7688                           に移動する。
7689         <CR>            - メニュー補完時、カーソルがドットの直後にあるとき: サ
7690                           ブメニューに移動する。
7691         <Up>            - ファイル/メニュー名補完時: 親ディレクトリ/メニュー
7692                           に移動する。
7694         これにより、メニューがコンソールから扱える |console-menus|。
7696         <Left> や <Right> キーで、別のマッチに移動するのではなく、カーソルを移
7697         動させたいときは、次のようにする。 >
7698                 :cnoremap <Left> <Space><BS><Left>
7699                 :cnoremap <Right> <Space><BS><Right>
7701         現在のマッチの表示には、強調表示グループ "WildMenu" が使われる
7702         |hl-WildMenu|。
7704                                                 *'wildmode'* *'wim'*
7705 'wildmode' 'wim'        文字列     (Vimの既定値は "full")
7706                         グローバル
7707                         {Vi にはない}
7708         オプション 'wildchar' で指定されたキーで開始する補完モード。値は、キー
7709         ワードの4個までのコンマ区切りのリストである。それぞれのキーワードで、
7710         連続して 'wildchar' を使ったときの動作を指定する。1個目のキーワードが
7711         'wildchar' を1回目に使ったときの動作を指定し、2個目のキーワードが2回目
7712         の動作を指定、等となる。
7713         指定可能なキーワードは、以下の通りである。
7714         ""              最初のマッチのみを補完する。
7715         "full"          次のマッチを完全に補完する。最後のマッチの次には元の文
7716                         字列が使われ、その次は再び最初のマッチが補完される。
7717         "longest"       共通する最長の文字列までが補完される。それ以上長い文字
7718                         列を補完できないときは、次の候補に移る。
7719         "longest:full"  "longest" と似ているが、'wildmenu' が有効ならばそれを
7720                         開始する。
7721         "list"          複数のマッチがあるときは、全てのマッチを羅列する。
7722         "list:full"     複数のマッチがあるときは、全てのマッチを羅列し、最初の
7723                         マッチを補完する。
7724         "list:longest"  複数のマッチがあるときは、全てのマッチを羅列し、共通す
7725                         る最長の文字列までが補完される。
7726         マッチが1個しかないときは、どの場合でも完全に補完される。
7728         例: >
7729                 :set wildmode=full
7730 <       最初のマッチ、次のマッチ...を完全に補完する (既定値) >
7731                 :set wildmode=longest,full
7732 <       共通する最長の文字列を補完し、次からマッチを完全に補完する >
7733                 :set wildmode=list:full
7734 <       全てのマッチを羅列し、そして最初のマッチを完全に補完する >
7735                 :set wildmode=list,full
7736 <       補完せずに全てのマッチを羅列し、次からマッチを完全に補完する >
7737                 :set wildmode=longest,list
7738 <       共通する最長の文字列を補完し、次から他の候補を羅列する
7739         より詳しくは |cmdline-completion| を参照。
7741                                                 *'wildoptions'* *'wop'*
7742 'wildoptions' 'wop'     文字列     (既定では "")
7743                         グローバル
7744                         {Vi にはない}
7745                         {Vi mが|+wildignore|機能付きでコンパイルされたときのみ
7746                         有効}
7747         コマンドライン補完の挙動を変える単語のリスト。
7748         現在のところ1つの単語だけが設定できる:
7749           tagfile       CTRL-Dでマッチするタグを一覧表示するとき、タグの種類と
7750                         そのタグのファイル名が表示される。1行につき1つのマッチ
7751                         が表示される。よく使われるタグの種類は次の通り:
7752                                 d       #define マクロ
7753                                 f       関数
7754         |cmdline-completion|も参照。
7756                                                 *'winaltkeys'* *'wak'*
7757 'winaltkeys' 'wak'      文字列     (既定では "menu")
7758                         グローバル
7759                         {Vi にはない}
7760                         {Vi mのWin32版、Motif版、GTK版、Photon GUI版でのみ有効}
7761         GUI版では、メニュー内で下線付きで表示されている文字とALTキーを組み合わ
7762         せて使うことで、メニューの項目にアクセスできるものがある。これはマッピ
7763         ングや特殊な文字の入力にALTキーを使うことと衝突する。このオプションは、
7764         そのときの動作を指定する。
7765           no    ALTキーをメニューに使わない。ALTキーを使った組み合わせはマッピ
7766                 ングに使えるが、自動的にメニューの操作に使われることはない。こ
7767                 のときメニューの操作は、コマンド |:simalt| で可能である。
7768           yes   ALTキーの扱いはウィンドウシステムに任される。ALTキーとのキーの
7769                 組み合わせは、マッピングには使えない。
7770           menu  メニューのショートカットキーになっている文字と組み合わせてALT
7771                 キーを使うとウィンドウシステムが扱うが、他のキーはマッピングに
7772                 使える。
7773         オプション 'guioptions' からフラグ 'm' が取り除かれ、メニューが無効に
7774         なっていると、ALT キーはメニューには全く使われない。
7775         このオプションは<F10>には適用されない; Win32版とGTK版では、マッピング
7776         されていない限り<F10>を押すとメニューが選択される。
7778                                                 *'window'* *'wi'*
7779 'window' 'wi'           数値  (既定では: 画面の高さ - 1)
7780                         グローバル
7781         ウィンドウの高さ。Vimウィンドウの高さと混同しないこと。そちらには
7782         'lines'を使う。
7783         ウィンドウが1つだけで、このオプションの値が'lines' - 1 より小さいとき、
7784         |CTRL-F|と|CTRL-B|でスクロールする行数に影響する。'window' - 2 行(ただ
7785         し最小値は1行)だけ画面がスクロールする。
7786         'window'が'lines' - 1 に等しいとき、CTRL-FとCTRL-Bは折り返された行を考
7787         慮したより賢い方法でスクロールする。
7788         Vimウィンドウをリサイズするとき、このオプションの値が1より小さいか
7789         'lines'以上ならば'lines' - 1 に設定される。
7790         {Vi はこのオプションによって表示する行の数も決定する}
7792                                                 *'winheight'* *'wh'* *E591*
7793 'winheight' 'wh'        数値      (既定では 1)
7794                         グローバル
7795                         {Vi にはない}
7796                         {Vi mが |+windows| 機能付きでコンパイルされたときのみ
7797                         有効}
7798         カレントウィンドウの行数の最小値。これは絶対的な最小値ではなく、余裕の
7799         ないときには行数はこれよりも少なくなる。この指定より小さいウィンドウに
7800         フォーカスが移動すると、他のウィンドウの行数を減らしてそのウィンドウを
7801         大きくする。
7802         通常の編集時には 'winheight' を小さい値にしておくこと。
7803         値を 999 にすると、常にカレントウィンドウが画面のほとんどを占め、ほか
7804         のウィンドウは 'winminheight' の高さになる。
7805         (ただしこうすると":all"を使ったときウィンドウが2つしか作られないとい
7806         う難点もある)。"vim -o 1 2 3 4" としたとき2個のウィンドウしか作られな
7807         いのを避けるには、イベント |VimEnter| を使って、スタートアップが行われ
7808         た後にこのオプションを設定すればよい: >
7809                 au VimEnter * set winheight=999
7810 <       最小値は1。
7811         カレントウィンドウの高さを変更するコマンドの後では、ウィンドウの高さは
7812         調整されない。
7813         'winheight' はカレントウィンドウに適用される。他のウィンドウの高さの最
7814         小値の設定には、'winminheight' を使うこと。
7816                         *'winfixheight'* *'wfh'* *'nowinfixheight'* *'nowfh'*
7817 'winfixheight' 'wfh'    切替      (既定ではオフ)
7818                         ウィンドウについてローカル
7819                         {Vi にはない}
7820                         {Vi mが|+windows|機能付きでコンパイルされたときのみ有
7821                         効}
7822         'equalalways'をオンにしてウィンドウを開閉したとき、ウィンドウの高さを
7823         保つ。|CTRL-W_=|に対しても同様。|preview-window|と|quickfix-window|に
7824         対してはデフォルトでオンになる。
7825         これをオンにしていても、利用できる高さが不足している場合には高さが変わ
7826         る。
7828                         *'winfixwidth'* *'wfw'* *'nowinfixwidth'* *'nowfw'*
7829 'winfixwidth' 'wfw'     切替      (既定ではオフ)
7830                         ウィンドウについてローカル
7831                         {Vi にはない}
7832                         {Vi mが|+windows|機能付きでコンパイルされたときのみ利
7833                         用可能}
7834         'equalalways'がオンになっていてウィンドウを開閉したとき、ウィンドウの
7835         幅を保つ。|CTRL-W_=|に対しても同様。
7836         これをオンにしていても、利用できる幅が不足している場合には幅が変わる。
7838                                                 *'winminheight'* *'wmh'*
7839 'winminheight' 'wmh'    数値      (既定では 1)
7840                         グローバル
7841                         {Vi にはない}
7842                         {Vi mが |+windows| 機能付きでコンパイルされたときのみ
7843                         有効}
7844         カレントウィンドウではないウィンドウの高さの最小値。これは絶対的な最小
7845         値であり、ウィンドウは決してこれより低くはならない。
7846         0 に設定すると、ウィンドウは必要に応じて高さゼロに「潰される」 (つまり、
7847         ステータス行のみになる)。ウィンドウがアクティブになると、高さは最低 1
7848         行にはなる (カーソルの居場所が必要なため)。
7849         カレントウィンドウの高さの最小値の設定には、'winheight' を使うこと。
7850         このオプションの効果があるのは、ウィンドウを小さくするときだけである。
7851         大きな値を使わないこと。そうするとウィンドウを幾つも開いたときにエラー
7852         になる。値は 0 から 3 までが適当である。
7854                                                 *'winminwidth'* *'wmw'*
7855 'winminwidth' 'wmw'     数値      (既定では 1)
7856                         グローバル
7857                         {Vi にはない}
7858                         {Vi mが |+vertsplit| 機能付きでコンパイルされたときの
7859                         み有効}
7860         カレントウィンドウではないウィンドウの幅の最小値。これは絶対的な最小値
7861         であり、ウィンドウは決してこれより狭くはならない。
7862         0 に設定すると、ウィンドウは必要に応じて幅ゼロに「潰される」 (つまり、
7863         垂直分割の区切りのみになる)。ウィンドウがアクティブになると、幅は最低
7864         1 列にはなる (カーソルの居場所が必要なため)。
7865         カレントウィンドウの幅の最小値の設定には、'winwidth' を使うこと。
7866         このオプションの効果があるのは、ウィンドウを小さくするときだけである。
7867         大きな値を使わないこと。そうするとウィンドウを幾つも開いたときにエラー
7868         になる。値は 0 から 12 までが適当である。
7870                                                 *'winwidth'* *'wiw'* *E592*
7871 'winwidth' 'wiw'        数値      (既定では 20)
7872                         グローバル
7873                         {Vi にはない}
7874                         {Vi mが |+vertsplit| 機能付きでコンパイルされたときの
7875                         み有効}
7876         カレントウィンドウの列数の最小値。これは絶対的な最小値ではなく、余裕の
7877         ないときには列数はこれよりも少なくなる。カレントウィンドウの列数が指定
7878         したものより少ないときは、他のウィンドウの列数を減らしてそれを増やす。
7879         カレントウィンドウが常に画面を埋めるようにするには、999 に設定すること。
7880         普通の編集時には小さい値に設定すること。
7881         カレントウィンドウの幅を変更するコマンドの後では、ウィンドウの幅は調整
7882         されない。
7883         'winwidth' はカレントウィンドウに適用される。他のウィンドウの幅の最小
7884         値の設定には、'winminwidth' を使うこと。
7886                                                 *'wrap'* *'nowrap'*
7887 'wrap'                  切替      (既定ではオン)
7888                         ウィンドウについてローカル
7889                         {Vi にはない}
7890         このオプションは、テキストの表示方法を変える。これはバッファ内のテキス
7891         トには変更を与えない。それについてはオプション 'textwidth' を参照。
7892         オンのときは、ウィンドウの幅より長い行は折り返され、次の行に続けて表示
7893         される。オフのときは、折り返しは行われず、長い行は一部のみが表示される。
7894         カーソルが表示されていない部分に移動すると、画面は水平スクロールする。
7895         行の分割は、必要であれば単語の中ででも行われる。折り返しを単語の境界で
7896         行うには、'linebreak' を参照。
7897         水平スクロールをもっと便利にするには、次のようにしてみるとよい。 >
7898                 :set sidescroll=5
7899                 :set listchars+=precedes:<,extends:>
7900 <       'sidescroll'、'listchars' や |wrap-off| を参照。
7901         オプション 'diff' がオンの場合、モードライン |modeline| からこのオプ
7902         ションを設定することはできない。
7904                                                 *'wrapmargin'* *'wm'*
7905 'wrapmargin' 'wm'       数値      (既定では 0)
7906                         バッファについてローカル
7907         ウィンドウの右端からこの文字数だけ離れたところで折り返しが始まる。この
7908         境界を超えてテキストを入力すると、 <EOL> が挿入され、挿入は次行に続く。
7909         'number'や'foldcolumn'など幅をとるオプションを使用していると、テキスト
7910         の幅がこの値より少なくなる。これはVi互換の動作である。
7911         オプション 'textwidth' が非0 のときは、このオプションは使われない。
7912         'formatoptions' と |ins-textwidth| も参照。  {Vi: 少し不便な、違った動
7913         作をする}
7915                                    *'wrapscan'* *'ws'* *'nowrapscan'* *'nows'*
7916 'wrapscan' 'ws'         切替      (既定ではオン)                        *E384* *E385*
7917                         グローバル
7918         検索がファイル末尾まで進んだら、ファイル先頭から再び検索する。スペリン
7919         グミスを検索する|]s|と|[s|にも適用される。
7921                                                    *'write'* *'nowrite'*
7922 'write'                 切替      (既定ではオン)
7923                         グローバル
7924                         {Vi にはない}
7925         ファイルの書き込みを有効にする。オフのときは、書き込みができない。読込
7926         専用モードに使える。ただしファイルの編集は可能である。コマンドライン引
7927         数 |-m| や |-M| を使ってオフに設定できる。テキストをフィルタにかけるこ
7928         とも可能であり、一時ファイルの書き込みも可能である。
7930                                    *'writeany'* *'wa'* *'nowriteany'* *'nowa'*
7931 'writeany' 'wa'         切替      (既定ではオフ)
7932                         グローバル
7933         いかなるファイルも "!" なしに書き込みができる。
7935                              *'writebackup'* *'wb'* *'nowritebackup'* *'nowb'*
7936 'writebackup' 'wb'      切替      (|+writebackup| 機能付きでコンパイルされたなら
7937                                  既定値はオン、そうでないなら既定値はオフ)
7938                         グローバル
7939                         {Vi にはない}
7940         ファイルの上書きの前にバックアップを作る。オプション 'backup' がオンで
7941         ない限り、バックアップは上書きに成功した後削除される。ユーザのファイル
7942         システムがほとんど一杯ならばこのオプションをオフにすること。他の説明は
7943         |backup-table| を参照。
7944         'backupskip' のパターンがマッチしたら、バックアップは作られない。
7945         NOTE: このオプションは、オプション 'compatible' がオンのときは既定値に
7946         なるので注意。
7948                                                 *'writedelay'* *'wd'*
7949 'writedelay' 'wd'       数値      (既定では 0)
7950                         グローバル
7951                         {Vi にはない}
7952         打ち込まれた文字が画面に送られるまでの遅延時間を、1万分の1秒単位
7953         で指定する。非0 のときは、文字は画面に一つ一つ送られる。MS-DOSの
7954         pcterm では動作しない。これはデバッグ用のオプションである。
7956  vim:tw=78:ts=8:ft=help:norl: