オプション

Nvimの:helpページは、生成されたもので、ソースtree-sitter-vimdocパーサーを使って変換したものです。


オプション
オプションの概要については、quickref.txtのoption-listを参照してください。
Vimには、特別な効果を得るために設定できる内部変数とスイッチが多数あります。これらのオプションには、次の3つの形式があります。 boolean: オンまたはオフのみが可能なオプション boolean toggle number: 数値を持つオプション string: 文字列を持つオプション

1. オプションの設定 set-option E764

:se :set :se[t][!] デフォルト値と異なるすべてのオプションを表示します。[!] がある場合、すべてのオプションは別々の行に表示されます。
:se[t][!] all すべてのオプションを表示します。[!] がある場合、すべてのオプションは別々の行に表示されます。
E518 E519 :se[t] {option} {option}の値を表示します。注意: 古いオプションの一部は削除されました。nvim-removed
:se[t] {option} トグルオプション:設定、オンに切り替えます。数値オプション:値を表示します。文字列オプション:値を表示します。
:se[t] no{option} トグルオプション:リセット、オフに切り替えます。
:set-! :set-inv :se[t] {option}! または :se[t] inv{option} トグルオプション:値を反転します。
:set-default :set-& :set-&vi :set-&vim :se[t] {option}& オプションをデフォルト値にリセットします。:se[t] {option}&vi オプションをViのデフォルト値にリセットします。:se[t] {option}&vim オプションをVimのデフォルト値にリセットします。
:se[t] all& すべてのオプションをデフォルト値に設定します。次のオプションの値は変更されません:'columns' 'lines' 警告: これは多くの副作用を引き起こす可能性があります。
:set-args :set= E487 E521 :se[t] {option}={value} または :se[t] {option}:{value} 文字列または数値オプションを{value}に設定します。数値オプションの場合、値は10進数、16進数(0xで始まる)、または8進数('0'または'0o'で始まる)で指定できます。古い値は、'wildchar'(デフォルトでは<Tab>)を入力することで挿入できます。固定構文を持つ多くの文字列オプションは、既知の値の補完もサポートしています。cmdline-completionおよびcomplete-set-optionを参照してください。{option}と'='の間の空白は許可されており、無視されます。'='と{value}の間の空白は許可されていません。{value}での空白とバックスラッシュの使用については、option-backslashを参照してください。
:se[t] {option}+={value} :set+=
数値オプションに{value}を追加するか、文字列オプションに{value}を追加します。オプションがコンマ区切りのリストの場合、値が空でない限り、コンマが追加されます。オプションがフラグのリストの場合、余分なフラグは削除されます。すでに存在していたフラグを追加した場合、オプションの値は変更されません。上記の:set-argsも参照してください。
:se[t] {option}^={value} :set^=
数値オプションに{value}を乗算するか、文字列オプションの先頭に{value}を追加します。オプションがコンマ区切りのリストの場合、値が空でない限り、コンマが追加されます。上記の:set-argsも参照してください。
:se[t] {option}-={value} :set-=
数値オプションから{value}を減算するか、文字列オプションから{value}を削除します(存在する場合)。{value}が文字列オプションに見つからない場合、エラーや警告はありません。オプションがコンマ区切りのリストの場合、オプションが空にならない限り、コンマが削除されます。オプションがフラグのリストの場合、{value}はオプションに表示されるものと正確に一致する必要があります。問題を避けるために、フラグを1つずつ削除してください。コンマ区切りのリストまたはフラグのリストからの個々の値は、'wildchar'を入力することで挿入できます。complete-set-optionを参照してください。上記の:set-argsも参照してください。
":set"の{option}引数は繰り返すことができます。例:
:set ai nosi sw=3 ts=3
引数のいずれかでエラーが発生した場合、エラーメッセージが表示され、後続の引数は無視されます。
:set-verbose
'verbose'がゼロ以外の場合、オプション値を表示すると、最後に設定された場所も通知されます。例:
:verbose set shiftwidth cindent?
shiftwidth=4
最後に設定されたのはモデルライン1行目
cindent
最後に設定されたのは/usr/local/share/vim/vim60/ftplugin/c.vim 30行目
これは、特定のオプション値が要求された場合にのみ実行されます。引数なしの":verbose set all"または":verbose set"の場合には実行されません。オプションが手動で設定された場合、「最後に設定された」メッセージはありません。オプションが関数、ユーザーコマンド、または自動コマンドの実行中に設定された場合、それが定義されたスクリプトが報告されます。いくつかの特別なテキスト:
最後に設定されたのはモデルライン1行目
オプションはモデルラインで設定されました。
最後に設定されたのは --cmd 引数
オプションはコマンドライン引数--cmdまたは+で設定されました。
最後に設定されたのは -c 引数
オプションは、コマンドライン引数-c、+、-S、または-qで設定されました。
最後に設定されたのは環境変数
オプションは$VIMINITから設定されました。
最後に設定されたのはエラーハンドラー
オプションを評価した結果、エラーが発生した場合、オプションはクリアされました。
option-backslash
文字列オプションの値に空白を含めるには、バックスラッシュを前に付ける必要があります。バックスラッシュを含めるには、2つ使用する必要があります。これは、オプション値のバックスラッシュの数が半分になる(切り捨てられる)ことを意味します。'path''cdpath'、および'tags'オプションでは、スペースはコンマまたはスペースで区切ることができるため、代わりに3つのバックスラッシュを前に付ける必要があります。'backupdir''tags'などのコンマ区切りのオプションでは、コンマも2つのバックスラッシュでエスケープする必要がありますが、'makeprg'などのコンマ区切りでないオプションでは必要ありません。:letliteral-stringを使用してオプションを設定する場合、バックスラッシュの階層を1つ減らす必要があります。いくつかの例:
:set makeprg=make\ file            results in "make file"
:let &makeprg='make file'            (same as above)
:set makeprg=make\\\ file            results in "make\ file"
:set tags=tags\ /usr/tags            results in "tags" and "/usr/tags"
:set tags=tags\\\ file            results in "tags file"
:let &tags='tags\ file'            (same as above)
:set makeprg=make,file            results in "make,file"
:set makeprg=make\\,file            results in "make\,file"
:set tags=tags,file                    results in "tags" and "file"
:set tags=tags\\,file            results in "tags,file"
:let &tags='tags\,file'            (same as above)
"|"文字は、":set"コマンドを後続のコマンドから区切ります。オプションの値に"|"を含めるには、代わりに"\|"を使用します。この例では、'titlestring'オプションを"hi|there"に設定します。
:set titlestring=hi\|there
これにより、'titlestring'オプションを"hi"に、'iconstring'を"there"に設定します。
:set titlestring=hi|set iconstring=there
同様に、二重引用符文字はコメントを開始します。オプションの値に'"'を含めるには、代わりに'\"'を使用します。この例では、'titlestring'オプションを"hi "there""に設定します。
:set titlestring=hi\ \"there\"
Win32の場合、ファイル名のバックスラッシュはほとんど削除されません。より正確に言うと、(環境変数が展開される)ファイル名を必要とするオプションの場合、通常のファイル名文字の前のバックスラッシュは削除されません。ただし、特殊文字(スペース、バックスラッシュ、コンマなど)の前のバックスラッシュは、上記のように使用されます。値が"\\"で始まる場合、特別な状況が1つあります。
:set dir=\\machine\path            results in "\\machine\path"
:set dir=\\\\machine\\path            results in "\\machine\path"
:set dir=\\path\\file            results in "\\path\file" (wrong!)
最初の1つでは先頭が保持されますが、2番目の1つではバックスラッシュが半分になります。これにより、バックスラッシュが半分になると予想する場合と、バックスラッシュが保持されると予想する場合の両方で動作することが保証されます。3番目の例は、おそらく望ましくない結果になります。避けてください。
add-option-flags remove-option-flags E539
一部のオプションはフラグのリストです。既存のフラグを変更せずに、そのようなオプションにフラグを追加する場合は、次のようにします。
:set guioptions+=a
オプションからフラグを削除するには、次のようにします。
:set guioptions-=a
これにより、'guioptions'から'a'フラグが削除されます。一度に1つのフラグを追加または削除する必要があることに注意してください。'guioptions'の値が"ab"の場合、"set guioptions-=ba"を使用しても機能しません。これは、文字列"ba"が表示されないためです。
:set_env expand-env expand-environment-var 特定の文字列オプションの環境変数は展開されます。環境変数が存在する場合、'$'とそれに続く環境変数名は、その値に置き換えられます。存在しない場合は、'$'と名前は変更されません。環境変数名の後には、ID以外の文字(文字、数字、または'_'以外)が続く場合があります。その文字とそれに続くものは、環境変数の値に追加されます。例:
:set term=$TERM.new
:set path=/usr/$INCLUDE,$HOME/include,.
":set opt-=val"または":set opt+=val"を使用してオプションから文字列を追加または削除する場合、展開は追加または削除の前に行われます。
ローカルオプションの処理 local-options
注意: 次の内容は、global-localオプションにも適用されます。
オプションの一部は、ウィンドウまたはバッファーにのみ適用されます。各ウィンドウまたはバッファーには、このオプションの独自のコピーがあるため、それぞれが独自の値を持つことができます。これにより、あるウィンドウで'list'を設定し、別のウィンドウで設定しないようにすることができます。また、あるバッファーで'shiftwidth'を3に設定し、別のバッファーで4に設定することもできます。
以下に、特定の状況でこれらのローカルオプションに何が起こるかを説明します。Vimは、ほとんどの場合、予想されるオプション値を使用するため、これらすべてを知る必要はありません。残念ながら、ユーザーが期待することを実行するのは少し複雑です...
ウィンドウを分割すると、ローカルオプションは新しいウィンドウにコピーされます。したがって、分割直後は、2つのウィンドウの内容は同じように見えます。
新しいバッファを編集する際、そのローカルオプションの値は初期化される必要があります。現在のバッファのローカルオプションは、そのバッファに固有である可能性があるため、これらは使用されません。代わりに、バッファローカルオプションごとにグローバル値もあり、これは新しいバッファに使用されます。":set" を使用すると、ローカル値とグローバル値の両方が変更されます。"setlocal" を使用すると、ローカル値のみが変更されるため、新しいバッファを編集する際にはこの値は使用されません。
以前に編集されたバッファを編集する場合、最後に閉じられたウィンドウのオプションが再度使用されます。このバッファがこのウィンドウで編集されたことがある場合は、その時の値が使用されます。それ以外の場合は、バッファが最後に編集されたウィンドウの値が使用されます。
バッファの種類ごとにローカルウィンドウオプションを具体的に設定することが可能です。同じウィンドウで別のバッファを編集する場合、これらのローカルウィンドウオプションを使用し続けることは望ましくありません。そのため、Vim はローカルウィンドウオプションのグローバル値を保持し、別のバッファを編集する際に使用します。各ウィンドウにはこれらの値の独自のコピーがあります。したがって、これらはウィンドウに対してローカルですが、ウィンドウ内のすべてのバッファに対してグローバルです。これにより、次のことが可能になります。
:e one
:set list
:e two
これで、":set list" コマンドでグローバル値も設定したため、"two" でも 'list' オプションが設定されます。
:set nolist
:e one
:setlocal list
:e two
":set nolist" がグローバル値をリセットし、":setlocal list" がローカル値のみを変更し、":e two" がグローバル値を取得するため、'list' オプションは設定されません。次にこれを実行すると、
:e one
最後に "one" を編集した時の 'list' の値が戻ります。ウィンドウにローカルなオプションは、バッファごとに記憶されます。これは、バッファがロードされていない場合でも発生しますが、バッファが :bwipe で消去されると失われます。
特別なローカルウィンドウオプション local-noglobal
次のローカルウィンドウオプションは、新しいウィンドウが作成されたときにコピーされないため、わずかに異なる動作をします。
オプション 理由
'previewwindow' は1つしか存在できない 'scroll' 既存のウィンドウに固有 'winfixbuf' 既存のウィンドウに固有 'winfixheight' 既存のウィンドウに固有 'winfixwidth' 既存のウィンドウに固有
特別なローカルバッファオプション
次のローカルバッファオプションは、新しいバッファが作成されたときにコピーされないため、わずかに異なる動作をします。
オプション 理由
'filetype' オートコマンドによって明示的に設定される 'syntax' オートコマンドによって明示的に設定される 'bufhidden' 特別なバッファ を示す 'buftype' 特別なバッファ を示す 'readonly' 自動的に検出される 'modified' 自動的に検出される
:setl :setlocal :setl[ocal][!] ... ":set" のように動作しますが、現在のバッファまたはウィンドウにローカルな値のみを設定します。すべてのオプションにローカル値があるわけではありません。オプションにローカル値がない場合は、グローバル値が設定されます。"all" 引数を使用した場合:すべてのローカルオプションのローカル値を表示します。引数なしの場合:デフォルトと異なるすべてのローカルオプションのローカル値を表示します。特定のローカルオプションを表示する場合、ローカル値を表示します。グローバル/ローカルなブール値オプションの場合、グローバル値が使用されている場合は、オプション名の前に "--" が表示されます。グローバルオプションの場合、グローバル値が表示されます(ただし、これは将来変更される可能性があります)。
:se[t] {option}< {option} の実効値をグローバル値に設定します。グローバル-ローカル オプションの場合、ローカル値が削除され、グローバル値が使用されるようになります。その他のすべてのオプションの場合、グローバル値がローカル値にコピーされます。
:setl[ocal] {option}< グローバル値をローカル値にコピーすることにより、{option} の実効値をグローバル値に設定します。
グローバル-ローカル オプションの動作は、文字列ベースのオプションと数値ベースのオプションでわずかに異なることに注意してください。
:setg :setglobal :setg[lobal][!] ... ":set" のように動作しますが、ローカル値を変更せずに、ローカルオプションのグローバル値のみを設定します。オプションを表示する場合、グローバル値が表示されます。"all" 引数を使用した場合:すべてのローカルオプションのグローバル値を表示します。引数なしの場合:デフォルトと異なるすべてのローカルオプションのグローバル値を表示します。
バッファローカルおよびウィンドウローカルオプションの場合
コマンド グローバル値 ローカル値 条件
:set option=value 設定 設定 :setlocal option=value - 設定 :setglobal option=value 設定 - :set option? - ローカル値が設定されている場合に表示 :set option? 表示 - ローカル値が設定されていない場合 :setlocal option? - 表示 :setglobal option? 表示 -
ローカル値を持つグローバルオプション global-local
ほとんどのバッファとウィンドウで1つの値を使用する場合は、オプションはグローバルです。一部のグローバルオプションでは、異なるローカル値を持つと便利な場合があります。":setlocal" でローカル値を設定できます。これにより、そのバッファまたはウィンドウはローカル値を使用しますが、他のバッファとウィンドウは引き続きグローバル値を使用します。
たとえば、Cソースコードの2つのウィンドウがあるとします。それらはグローバルな 'makeprg' オプションを使用しています。2つのウィンドウの1つでこれを実行すると、
:set makeprg=gmake
もう一方のウィンドウも同じ値に切り替わります。もう一方のCソースウィンドウでも 'makeprg' オプションを設定する必要はありません。ただし、新しいウィンドウでPerlファイルの編集を開始する場合は、Cソースファイルで使用される値を変更せずに、別の 'makeprg' を使用する必要があります。このコマンドを使用します。
:setlocal makeprg=perlmake
ローカル値を空にすることで、グローバル値の使用に戻ることができます。
:setlocal makeprg=
これは文字列オプションでのみ機能します。数値またはブールオプションの場合は、次のように "<" フラグを使用する必要があります。
:setlocal autoread<
ブール値以外のオプションおよび数値以外のオプションの場合、"<" を使用すると、グローバル値がローカル値にコピーされ、グローバル値の使用に戻らないことに注意してください(これは、後でグローバル値が変更された場合に重要になります)。次のように使用することもできます。
:set path<
これにより、'path' のローカル値が空になり、グローバル値が使用されるようになります。したがって、次と同じことを行います。
:setlocal path=
注: 将来的には、より多くのグローバルオプションが グローバル-ローカル になる可能性があります。グローバルオプションで ":setlocal" を使用すると、動作が異なる場合があります。
オプション値関数
一部のオプション('completefunc''findfunc''omnifunc''operatorfunc''quickfixtextfunc''tagfunc' および 'thesaurusfunc')は、関数名、関数参照、またはラムダ関数に設定されます。ラムダを使用する場合、"<lambda>123" などの名前に変換されます。例:
set opfunc=MyOpFunc
set opfunc=function('MyOpFunc')
set opfunc=funcref('MyOpFunc')
set opfunc={a\ ->\ MyOpFunc(a)}
スクリプトローカル関数に設定
set opfunc=s:MyLocalFunc
set opfunc=<SID>MyLocalFunc
funcref変数を使用して設定
let Fn = function('MyTagFunc')
let &tagfunc = Fn
ラムダ式を使用して設定
let &tagfunc = {t -> MyTagFunc(t)}
ラムダ式を持つ変数を使用して設定
let L = {a, b, c -> MyTagFunc(a, b , c)}
let &tagfunc = L
exprオプションでの関数の呼び出し expr-option-function
'foldexpr' など、いくつかのオプションの値は、値を計算するために評価される式です。評価にはかなりのオーバーヘッドがかかる場合があります。オーバーヘッドを最小限に抑え、オプション値を非常にシンプルに保つ1つの方法は、関数を定義し、引数なしで呼び出すようにオプションを設定することです。v:lua-call も使用できます。例:
lua << EOF
  function _G.MyFoldFunc()
    -- ... compute fold level for line v:lnum
    return level
  end
EOF
set foldexpr=v:lua.MyFoldFunc()
ファイルタイプの設定
:setf[iletype] [FALLBACK] {filetype} :setf :setfiletype 'filetype' オプションを {filetype} に設定しますが、(ネストされた) オートコマンドのシーケンスでまだ設定されていない場合のみ設定します。これは次の省略形です。
:if !did_filetype()
:  setlocal filetype={filetype}
:endif
このコマンドは、'filetype' オプションが2回設定されるのを防ぎ、異なる設定と構文ファイルがロードされるのを防ぐために、filetype.vim ファイルで使用されます。
オプションの FALLBACK 引数が存在する場合、後続の :setfiletype コマンドは 'filetype' を上書きします。これは、単なる推測にすぎないファイルタイプ検出に使用されます。did_filetype() は、このコマンドの後で false を返します。
option-window optwin :bro[wse] se[t] :set-browse :browse-set :opt :options :opt[ions] すべてのオプションを表示および設定するためのウィンドウを開きます。オプションは機能ごとにグループ化されます。各オプションの簡単なヘルプを提供します。オプションの詳細なヘルプを含むヘルプウィンドウを開くには、簡単なヘルプで <CR> を押します。オプションの値を変更し、"set" 行で <CR> を押して新しい値を設定します。ウィンドウとバッファ固有のオプションの場合、最後にアクセスしたウィンドウを使用してオプション値を設定します。ただし、これがヘルプウィンドウである場合、(オプションウィンドウをスキップして) ヘルプウィンドウの下にあるウィンドウが使用されます。
$HOME
"~" を使用することは "$HOME" を使用することに似ていますが、オプションの先頭、およびスペースまたはカンマの後でのみ認識されます。
Unix システムでは、"~user" も使用できます。これは、ユーザー "user" のホームディレクトリに置き換えられます。例:
:set path=~mool/include,/usr/include,.
Unix システムでは、"${HOME}" という形式も使用できます。{} の間の名前には、ID ではない文字を含めることができます。これを "gf" コマンドに使用する場合は、'{' および '}' 文字を 'isfname' に追加する必要があることに注意してください。
注: 環境変数と "~/" の展開は、":set" コマンドでのみ行われ、":let" を使用してオプションに値を割り当てる場合は行われません。
$HOME-windows
MS-Windows では、$HOME が環境変数として定義されていない場合、実行時に Vim は $HOMEDRIVE$HOMEPATH の展開に設定します。$HOMEDRIVE が設定されていない場合は、$USERPROFILE が使用されます。
この展開された値は環境にエクスポートされません。これは外部コマンドを実行する場合に重要です。
:echo system('set | findstr ^HOME=')
:echo luaeval('os.getenv("HOME")')
exists('$HOME') が true であっても、何も (空の文字列) をエコー出力しないはずです。$HOME を空でない文字列に設定すると、サブプロセスにエクスポートされます。
展開されたオプションの最大長には制限があることに注意してください。その量はシステムに依存しますが、ほとんどの場合、256文字または1024文字のようになります。

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

":set" コマンドでオプションを変更するだけでなく、さまざまな方法でオプションを自動的に設定できます。
1. 設定 ファイルまたは 起動 引数を使用します。:mkvimrc:mkview、および :mksession を使用して初期化ファイルを作成できます。2. ファイルを編集するときに実行される オートコマンド。3. 'exrc' が有効になっている場合は、現在のディレクトリにある ".nvim.lua" ファイル。4. 現在のバッファのディレクトリまたは先祖にある editorconfig。5. ファイルの先頭または末尾にある 'modeline' 設定。以下を参照してください。
modeline vim: vi: ex: E520 モデルラインには2つの形式があります。最初の形式:[text{white}]{vi:|vim:|ex:}[white]{options}
[text{white}] 空、または少なくとも1つの空白文字 (<Space> または <Tab>) が続く任意のテキスト。 "ex:" は常に少なくとも1つの空白文字を必要とします {vi:|vim:|ex:} 文字列 "vi:"、"vim:" または "ex:" [white] オプションの空白 {options} 空白または ':' で区切られたオプション設定のリスト。ここで、':' の間の各部分は ":set" コマンドの引数になります (空にすることができます)。
例:
vi:noai:sw=3 ts=6
vim: tw=77
2番目の形式 (これは一部のバージョンの Vi と互換性があります)
[text{white}]{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
[text{white}] 空または、少なくとも1つの空白文字 (<Space> または <Tab>) が後に続く任意のテキスト。 "ex:" の場合は、常に少なくとも1つの空白文字が必要。{vi:|vim:|Vim:|ex:} 文字列 "vi:", "vim:", "Vim:", または "ex:" [white] オプションの空白文字。se[t] 文字列 "set " または "se " (スペースに注意)。"Vim" が使用される場合は、"set" でなければならない。{options} ":set" コマンドの引数となる、空白で区切られたオプションのリスト。 コロン [text] 任意のテキストまたは空。
例:
/* vim: set ai tw=75: */
/* Vim: set ai tw=75: */
{vi:|vim:|Vim:|ex:} の前の空白文字は必須です。これにより、"lex:" のような通常の単語が誤って認識される可能性を最小限に抑えます。ただし、1つの例外があります。"vi:" と "vim:" は、行の先頭にも記述できます (バージョン 3.0 との互換性のため)。行の先頭で "ex:" を使用すると無視されます (これは "example:" の省略形である可能性があります)。
モデルライン内でモデルラインが無効になっている場合、後続のモデルラインは無視されます。これは、ファイル単位でモデルラインをオフにできるようにするためです。これは、行がモデルラインのように見えるが、実際はそうではない場合に便利です。たとえば、"vim:" のような文字列を含む YAML ファイルを開始する場合は、次の記述が良いでしょう。
# vim: nomodeline
モデルラインの無効化後に同じ行に続くオプション (もしあれば) は、引き続き評価されます (ただし、通常は何もないでしょう)。
modeline-local
オプションは、":setlocal" のように設定されます。つまり、新しい値は、そのファイルを含むバッファとウィンドウにのみ適用されます。モデルラインからグローバルオプションを設定することもできますが、これは一般的ではありません。2つのウィンドウが開いていて、それぞれのファイルが同じグローバルオプションに異なる値を設定した場合、結果はどちらが最後に開かれたかによって決まります。
既にロードされたファイルを編集する場合、モデルラインからのウィンドウローカルオプションのみが使用されます。したがって、ファイルを開いた後にバッファローカルオプションを手動で変更した場合、別のウィンドウで同じバッファを編集しても変更は反映されません。ただし、ウィンドウローカルオプションは設定されます。
modeline-version
モデルラインを特定のバージョンの Vim でのみ使用する場合は、"vim:" または "Vim:" が使用される場所でバージョン番号を指定できます。vim{vers}: バージョン {vers} 以降。vim<{vers}: バージョン {vers} より前。vim={vers}: バージョン {vers}。vim>{vers}: バージョン {vers} より後。{vers} は、Vim 7.0 の場合は 700 (メジャーバージョンにマイナーバージョンを 100 倍した値) です。たとえば、Vim 7.0 でのみモデルラインを使用するには
/* vim700: set foldmethod=marker */
バージョン 7.2 以降の Vim でモデルラインを使用するには
/* vim>702: set cole=2: */
"vim" と ":" の間に空白文字を入れることはできません。{vers} が整数に適合しない場合、モデルラインは無視されます。
チェックされる行数は、'modelines' オプションで設定できます。'modeline' がオフになっているか、'modelines' が 0 の場合、行はチェックされません。
最初の形式では、行の残りの部分がすべて使用されることに注意してください。したがって、次のような行
/* vi:ts=4: */
は、末尾の "*/" でエラーメッセージが表示されます。この行は OK です。
/* vi:set ts=4: */
エラーが検出された場合、残りの行はスキップされます。
set コマンドに ':' を含めたい場合は、'\' でエスケープします。':' の前のバックスラッシュは削除されます。例
/* vi:set fillchars=stl\:^,vert\:\|: */
これは、'fillchars' オプションを "stl:^,vert:\|" に設定します。':' の前のバックスラッシュは 1 つだけ削除されます。したがって、"\:" を含めるには、"\\:" と指定する必要があります。E992
セキュリティ上の理由から、"set" 以外のコマンドはサポートされていません (誰かがモデルラインを含むトロイの木馬テキストファイルを作成する可能性があるため)。また、すべてのオプションを設定できるわけではありません。一部のオプションにはフラグが設定されており、値が使用されるときに サンドボックス が有効になります。一部のオプションは、'modelineexpr' が設定されている場合にのみモデルラインから設定できます (デフォルトはオフ)。
それでも、モデルラインが問題を引き起こすリスクは常にわずかに存在します。たとえば、誰かが 'textwidth' を 5 に設定すると、すべての行が予期せずに折り返されます。したがって、信頼できないテキストを編集する前にモデルラインを無効にしてください。たとえば、mail ftplugin がこれを行います。
ヒント: オプションを設定する以外に何かを行いたい場合は、特定の文字列をファイルでチェックする自動コマンドを定義できます。例えば
au BufReadPost * if getline(1) =~ "VAR" | call SetVar() | endif
そして、"VAR" を含む行で何かを行う関数 SetVar() を定義します。

3. オプションの概要 option-summary

以下のリストでは、すべてのオプションが完全な名前と、省略形がある場合は省略形とともに記載されています。どちらの形式も使用できます。
このドキュメントでは、ブール値オプションが "set" されている場合は、":set option" が入力されていることを意味します。オプションが "reset" されている場合は、":set nooption" が使用されます。
ほとんどのオプションは、すべてのウィンドウとバッファで同じです。ウィンドウ内のテキストの表示方法に固有のものがいくつかあります。これらは、各ウィンドウで異なる値に設定できます。たとえば、'list' オプションは、同じテキストに対して一方のウィンドウで設定し、もう一方のウィンドウでリセットできます。これにより、両方のタイプのビューを同時に表示できます。特定のファイルに固有のオプションもいくつかあります。これらは、ファイルまたはバッファごとに異なる値を持つことができます。たとえば、'textwidth' オプションは、通常のテキストファイルの場合は 78、C プログラムの場合は 0 にすることができます。
global すべてのバッファとウィンドウで1つのオプション。 local to window 各ウィンドウには、このオプションの独自のコピーがあります。 local to buffer 各バッファには、このオプションの独自のコピーがあります。
新しいウィンドウを作成すると、現在アクティブなウィンドウのオプション値が、ウィンドウ固有のオプションのデフォルト値として使用されます。バッファ固有のオプションの場合、これは 'cpoptions' オプションの 's' フラグと 'S' フラグによって異なります。's' が含まれている場合 (これはデフォルトです)、バッファが最初に読み込まれるときに、バッファオプションの値が現在アクティブなバッファからコピーされます。'S' が存在する場合、バッファが読み込まれるたびにオプションがコピーされます。これは、グローバルオプションを持っているのとほぼ同じです。's' と 'S' が存在しない場合、バッファが作成されるときに、オプションが現在アクティブなバッファからコピーされます。
非表示オプション hidden-options
すべてのオプションがすべてのバージョンでサポートされているわけではありません。これは、サポートされている機能や、システムによって異なる場合があります。これに関する備考は、以下の中括弧の中に記載されています。オプションがサポートされていない場合でも、エラーが発生することなく設定できる場合があります。これは非表示オプションと呼ばれます。ただし、非表示オプションの値を取得することはできず、保存もされません。
オプション "foo" が ":set" で使用できるかどうかをテストするには、次のようなものを使用します。
if exists('&foo')
これは非表示オプションの場合にも true を返します。オプション "foo" が実際にサポートされているかどうかをテストするには、次のようなものを使用します。
if exists('+foo')
E355
短い説明付きのオプションのジャンプテーブルは、Q_op にあります。
'allowrevins' 'ari' 'noallowrevins' 'noari' 'allowrevins' 'ari' ブール値 (デフォルトはオフ) グローバル。挿入モードで CTRL-_ を許可します。これはデフォルトでオフになっています。これは、誤って SHIFT-_ の代わりに CTRL-_ を入力して逆挿入モードに入り、抜け出す方法がわからないユーザーを避けるためです。'revins' を参照してください。
'ambiwidth' 'ambw' 'ambiwidth' 'ambw' 文字列 (デフォルトは "single") グローバル。東アジアの幅クラスが曖昧 (ユーロ、登録商標記号、著作権記号、ギリシャ文字、キリル文字など) である文字の扱いを Vim に指示します。
現在、2つの可能な値があります。"single": US-ASCII の文字と同じ幅を使用します。これはほとんどのユーザーが期待するものです。"double": ASCII 文字の2倍の幅を使用します。E834 E835 'listchars' または 'fillchars' に、倍幅になる文字が含まれている場合、値 "double" を使用することはできません。これらのエラーは、setcellwidths() を呼び出すときにも発生する可能性があります。
値は、setcellwidths() で指定された文字についてはオーバーライドされます。
これらの文字のグリフの幅が、従来の/伝統的な CJK エンコーディングで何オクテットを占めるかにのみ基づいている CJK フォントがいくつかあります。これらのエンコーディングでは、ユーロ、登録商標記号、ギリシャ/キリル文字は2オクテットで表されるため、これらのフォントにはそれらの文字の「幅広」グリフがあります。これは、テキストファイルでテーブルを作成するために使用される一部の線画文字にも当てはまります。したがって、CJK フォントが GUI Vim に使用されている場合、または CJK フォントを使用するターミナル (エミュレーター) 内で Vim が実行されている場合 (または、"-cjkwidth" オプションで起動された xterm 内で Vim が実行されている場合)、Vim が認識する幅とフォント内のグリフの幅を一致させるには、このオプションを "double" に設定する必要があります。システムロケールが CJK ロケールの1つに設定されている場合、CJK MS-Windows でも "double" に設定する必要がある可能性があります。Unicode Standard Annex #11 (https://www.unicode.org/reports/tr11) を参照してください。
'arabic' 'arab' 'noarabic' 'noarab' 'arabic' 'arab' ブール値 (デフォルトはオフ) ウィンドウローカル。このオプションを設定すると、アラビア語のテキストの編集を開始できます。このオプションを設定すると
'termbidi' が設定されていない限り、'rightleft' オプションを設定します。
'termbidi' が設定されていない限り、'arabicshape' オプションを設定します。
'keymap' オプションを "arabic" に設定します。挿入モードでは、CTRL-^ で英語とアラビア語のキーマッピングの入力を切り替えます。
'delcombine' オプションを設定します。
このオプションをリセットすると
'rightleft' オプションをリセットします。
'keymap' の使用を無効にします (値を変更せずに)。'arabicshape''delcombine' はリセットされないことに注意してください (これらはグローバルオプションです)。arabic.txt も参照してください。
'arabicshape' 'arshape' 'noarabicshape' 'noarshape' 'arabicshape' 'arshape' ブール値 (デフォルト: 有効) グローバル このオプションが有効で、かつ 'termbidi' が無効の場合、アラビア語を表示するために必要な視覚的な文字修正が有効になります。シェーピングは基本的に有効になり、この用語は広範なもので、以下を含みます: a) 単語内の位置(先頭、中間、末尾、単独)に基づいて文字を変化/変形させる。b) 文字を合成する能力を有効にする。c) いくつかの文字の必要な結合を有効にする。無効にすると、各文字の真の単独形式が表示されます。アラビア語は複雑な言語であり、他の設定も必要です。詳細については、arabic.txt を参照してください。
'autochdir' 'acd' 'noautochdir' 'noacd' 'autochdir' 'acd' ブール値 (デフォルト: 無効) グローバル このオプションが有効の場合、Vim はファイルを開く、バッファを切り替える、バッファを削除する、またはウィンドウを開閉するたびに現在の作業ディレクトリを変更します。開かれたファイルまたは選択されたファイルを含むディレクトリに変更されます。バッファに名前がない場合、ディレクトリもないため、そのバッファに移動しても現在のディレクトリは変更されません。注意: このオプションが有効になっていると、一部のプラグインが動作しない場合があります。
'autoindent' 'ai' 'noautoindent' 'noai' 'autoindent' 'ai' ブール値 (デフォルト: 有効) バッファローカル 新しい行を開始するとき (挿入モードで <CR> を入力するか、"o" または "O" コマンドを使用するとき)、現在の行からインデントをコピーします。新しい行に <BS> または CTRL-D 以外何も入力せずに <Esc>CTRL-O、または <CR> を入力すると、インデントは再び削除されます。カーソルを別の行に移動すると、'cpoptions' に 'I' フラグが含まれていない限り、同じ効果があります。autoindent が有効な場合、フォーマット("gq" コマンドを使用するか、挿入モードで 'textwidth' に達した場合)は、最初の行のインデントを使用します。'smartindent' または 'cindent' が有効な場合、インデントは異なる方法で変更されます。
'autoread' 'ar' 'noautoread' 'noar' 'autoread' 'ar' ブール値 (デフォルト: 有効) グローバルまたはバッファローカル グローバル-ローカル ファイルが Vim の外部で変更されたことが検出され、かつ Vim の内部で変更されていない場合、自動的に再度読み込みます。ファイルが削除された場合、これは行われません。そのため、削除される前のテキストが表示されます。ファイルが再び表示された場合は、読み込まれます。タイムスタンプ このオプションにローカル値がある場合、このコマンドを使用してグローバル値の使用に戻ります。
set autoread<
'autowrite' 'aw' 'noautowrite' 'noaw' 'autowrite' 'aw' ブール値 (デフォルト: 無効) グローバル ファイルの内容が変更されている場合、:next:rewind:last:first:previous:stop:suspend:tag:!:makeCTRL-]、および CTRL-^ コマンドのたびに、ファイルの内容を書き込みます。また、:bufferCTRL-OCTRL-I、'{A-Z0-9}, or{A-Z0-9} コマンドによって別のファイルに移動した場合にも書き込まれます。バッファが非表示になった場合、例えば 'bufhidden' が "hide" に設定され、:next が使用された場合、バッファは書き込まれません。一部のコマンドでは 'autowrite' オプションが使用されないことに注意してください。それについては 'autowriteall' を参照してください。一部のバッファは、特に 'buftype' が "nowrite"、"nofile"、"terminal"、または "prompt" の場合は書き込まれません。注意して使用してください: 保存したくない一時的な変更をバッファに加えた場合、このオプションが原因で保存されてしまう可能性があります。":file {name}" でバッファの名前を変更すると、これを回避できる場合があります。
'autowriteall' 'awa' 'noautowriteall' 'noawa' 'autowriteall' 'awa' ブール値 (デフォルト: 無効) グローバル 'autowrite' と同様ですが、":edit"、":enew"、":quit"、":qall"、":exit"、":xit"、":recover" コマンドや Vim ウィンドウを閉じるときにも使用されます。このオプションを設定すると、Vim は 'autowrite' が設定されているかのように動作します。
'background' 'bg' 'background' 'bg' 文字列 (デフォルト: "dark") グローバル "dark" または "light" に設定すると、その背景タイプに合わせてデフォルトのカラーグループが調整されます。TUI またはその他の UI は、バックグラウンドカラーを検出できる場合、起動時にこれを設定します (OptionSet をトリガーします)。
このオプションは背景色を変更するのではなく、"継承された" (ターミナル/GUI) 背景がどのように見えるかを Nvim に伝えます。背景色を明示的に設定したい場合は、:hi-normal を参照してください。g:colors_name
カラースキームがロードされると ("g:colors_name" 変数が設定される)、'background' を変更すると、カラースキームが再ロードされます。カラースキームが 'background' の値に合わせて調整される場合、これは機能します。ただし、カラースキーム自体が 'background' を設定する場合、効果が取り消される可能性があります。必要に応じて、最初に "g:colors_name" 変数を削除してください。
通常、このオプションは vimrc ファイルで設定されます。おそらくターミナル名に依存します。例
if $TERM ==# "xterm"
  set background=dark
endif
このオプションが変更されると、ハイライトグループのデフォルト設定が変更されます。他の設定を使用するには、'background' オプションの設定後に ":highlight" コマンドを配置します。
'backspace' 'bs' 'backspace' 'bs' 文字列 (デフォルト: "indent,eol,start") グローバル 挿入モードでの <BS><Del>CTRL-W、および CTRL-U の動作に影響を与えます。これは、コンマで区切られた項目のリストです。各項目は、何かをバックスペースで削除する方法を許可します。
値 効果
indent 自動インデントのバックスペースを許可する eol 改行のバックスペースを許可する (行を結合する) start 挿入の開始位置を超えるバックスペースを許可する; CTRL-WCTRL-U は挿入の開始位置で一度停止します。nostop start と同様ですが、CTRL-WCTRL-U は挿入の開始位置で停止しません。
値が空の場合、Vi 互換のバックスペースが使用され、上記の項目で言及されたいずれの方法も使用できません。
'backup' 'bk' 'nobackup' 'nobk' 'backup' 'bk' ブール値 (デフォルト: 無効) グローバル ファイルを上書きする前にバックアップを作成します。ファイルが正常に書き込まれた後もバックアップを残します。バックアップファイルを保持したくないが、ファイルの書き込み中にバックアップが必要な場合は、このオプションをリセットし、'writebackup' オプションを設定します (これがデフォルトです)。バックアップファイルをまったく必要としない場合は、両方のオプションをリセットします (ファイルシステムがほぼ満杯の場合に使用します)。詳細については、backup-table を参照してください。'backupskip' パターンに一致する場合、バックアップはいずれにしても作成されません。'patchmode' が設定されている場合、バックアップはファイルの一番古いバージョンになるように名前が変更される可能性があります。
'backupcopy' 'bkc' 'backupcopy' 'bkc' 文字列 (デフォルト: "auto") グローバルまたはバッファローカル グローバル-ローカル ファイルを書き込み、バックアップが作成されるとき、このオプションはそれがどのように行われるかを指示します。これは、コンマで区切られた単語のリストです。
主な値は次のとおりです: "yes" ファイルのコピーを作成し、元のファイルを上書きする "no" ファイルの名前を変更し、新しいファイルを書き込む "auto" 上記のいずれか、最適な動作を行うもの
上記の値と組み合わせて使用できる追加の値は次のとおりです: "breaksymlink" 書き込み時に常にシンボリックリンクを中断する "breakhardlink" 書き込み時に常にハードリンクを中断する
コピーを作成して元のファイルを上書きする
ファイルのコピーには余分な時間がかかります。+ ファイルに特別な属性、(ハード/シンボリック) リンク、またはリソースフォークがある場合、これらはすべて保持されます。
ファイルがリンクの場合、バックアップには実際のファイルではなくリンクの名前が付けられます。
ファイルの名前を変更して新しいファイルを書き込む: + 高速です。
ファイルの一部の属性を新しいファイルにコピーできない場合があります。
ファイルがリンクの場合、新しいファイルはリンクになりません。
"auto" 値は中間的な方法です: Vim がファイルの名前変更が副作用なしに可能である (属性が渡され、ファイルがリンクではない) ことを確認した場合、それが使用されます。問題が予想される場合は、コピーが作成されます。
"breaksymlink" および "breakhardlink" 値は、"yes"、"no"、および "auto" のいずれかと組み合わせて使用できます。これらが含まれている場合、Vim は常にシンボリックまたはハードリンクを中断するように強制します。元のファイルの名前をバックアップになるように変更し、その場所に新しいファイルを書き込むことで、"no" オプションが実行するのと同じことを正確に行います。これは、すべてのファイルがシンボリックまたはハードリンクであり、変更はローカルソースツリーに残り、元のソースに伝播されるべきではないソースツリーなどで役立ちます。crontab
"no" および "auto" が問題を引き起こす可能性がある状況の1つ: ファイルを開き、そのファイルを編集するために Vim を呼び出し、次に開いたファイルが変更されたかどうかをテストする (ファイル記述子を介して) プログラムは、新しく作成されたファイルではなくバックアップファイルをチェックします。"crontab -e" がその一例であり、inotify のようなファイルウォッチャーデーモンも同様です。その場合は、このオプションを切り替えることをお勧めします。
コピーを作成する場合、元のファイルは切り詰められ、新しいテキストで上書きされます。これは、元のファイルの保護ビット、所有者、シンボリックリンクが変更されないことを意味します。しかし、バックアップファイルは、ファイルを編集したユーザーが所有する新しいファイルです。バックアップのグループは、元のファイルのグループに設定されます。これが失敗した場合、グループの保護ビットは他のユーザーと同じにされます。
ファイルの名前を変更する場合、これは逆になります。バックアップは元のファイルと同じ属性を持ち、新しく書き込まれたファイルは現在のユーザーが所有します。ファイルが(ハード/シンボリック)リンクであった場合、新しいファイルはリンクになりません!そのため、ファイルがリンクの場合、「auto」の値は名前を変更しません。新しく書き込まれたファイルの所有者とグループは元のファイルと同じものに設定されますが、システムがこれを拒否する可能性があります。その場合、「auto」の値は再度ファイルの名前を変更しません。
'backupdir' 'bdir' 'backupdir' 'bdir' string (デフォルト ".,$XDG_STATE_HOME/nvim/backup//") グローバル バックアップファイルのディレクトリのリストをカンマ区切りで指定します。
バックアップファイルは、リスト内で作成可能な最初のディレクトリに作成されます。どのディレクトリも存在しない場合、Nvimはリストの最後のディレクトリを作成しようとします。
空の場合は、バックアップファイルは作成されません('patchmode'は使用できません!)。このため、書き込みが失敗する可能性があります。
ディレクトリ "." は、バックアップファイルを編集中のファイルと同じディレクトリに配置することを意味します。
"./" (またはMS-Windowsの場合は".\")で始まるディレクトリは、バックアップファイルを編集中のファイルの相対位置に配置することを意味します。先頭の"."は、編集中のファイルのパス名に置き換えられます。(ディレクトリ名の中の"."には特別な意味はありません)。
カンマ後のスペースは無視されますが、他のスペースはディレクトリ名の一部と見なされます。ディレクトリ名の先頭にスペースを入れるには、バックスラッシュを前に付けます。
ディレクトリ名にカンマを含めるには、バックスラッシュを前に付けます。
ディレクトリ名は '/' で終わる場合があります。
UnixおよびWin32の場合、ディレクトリが2つのパス区切り文字"//"で終わる場合、スワップファイル名は、すべてのパス区切り文字をパーセント'%'記号に変更したファイルの完全なパスから作成されます。これにより、バックアップディレクトリ内でのファイル名の一意性が保証されます。Win32では、"\\"で終わることも可能です。ただし、区切りカンマが続く場合は、"//"を使用する必要があります。なぜなら、"\\"はファイル名にカンマを含めるからです。したがって、"\\"ではなく'//'を使用することをお勧めします。
環境変数は:set_envで展開されます。
バックスラッシュ'\'文字には注意が必要です。スペースの前に1つ、オプションで1つ取得するには2つ入力してください(option-backslashを参照)、例:
set bdir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
'backup' および 'writebackup' オプションも参照してください。Unixでバックアップファイルを非表示にしたい場合は、次の値を検討してください。
set backupdir=./.backup,~/.backup,.,/tmp
これが正しく機能するには、各ディレクトリとホームディレクトリに ".backup" ディレクトリを作成する必要があります。リストからディレクトリを追加または削除する場合は、:set+= および :set-= を使用することをお勧めします。これにより、将来のバージョンが別のデフォルトを使用する場合の問題を回避できます。このオプションは、セキュリティ上の理由から、modeline または sandbox から設定することはできません。
'backupext' 'bex' E589 'backupext' 'bex' string (デフォルト "~") グローバル バックアップファイルの名前を作成するためにファイル名に追加される文字列。デフォルトは、バックアップファイルで既存のファイルを誤って上書きすることを避けるため、非常に一般的ではありません。".bak"を使用することもできますが、保持したい".bak"ファイルがないことを確認してください。通常のファイル名文字のみを使用できます。/\*?[|<> は無効です。
多数のバックアップを保持したい場合は、ファイルを書き込む直前にタイムスタンプを含めるように 'backupext' を変更する BufWritePre オートコマンドを使用できます。
au BufWritePre * let &bex = '-' .. strftime("%Y%b%d%X") .. '~'
バックアップを別のディレクトリに配置するには、'backupdir' を使用します。
'backupskip' 'bsk' 'backupskip' 'bsk' string (デフォルト "$TMPDIR/*,$TMP/*,$TEMP/*" Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*" Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*") グローバル ファイルパターンのリスト。パターンの1つが書き込まれるファイルの名前と一致する場合、バックアップファイルは作成されません。指定されたファイル名とファイルのフルパス名の両方が使用されます。パターンは :autocmd と同様に使用されます。 autocmd-pattern を参照してください。特殊文字に注意してください。 option-backslash を参照してください。$TMPDIR、$TMP、または$TEMPが定義されていない場合、デフォルト値には使用されません。 "/tmp/*"はUnixでのみ使用されます。
警告: バックアップファイルがないということは、Vimがバッファを正しく書き込めず、何らかの理由でVimが終了した場合、元のファイルと記述していた内容の両方が失われることを意味します。ファイルを失うことを気にしない場合にのみ、バックアップを無効にしてください。
環境変数は展開されないことに注意してください。$HOMEを使用する場合は、明示的に展開する必要があります。例:
let &backupskip = escape(expand('$HOME'), '\') .. '/tmp/*'
また、デフォルトでは "crontab -e" が機能することも確認してください(元のファイルの名前を変更してバックアップを作成する場合、crontabは新しく作成されたファイルを確認しません)。'backupcopy' および crontab も参照してください。
'belloff' 'bo' 'belloff' 'bo' string (デフォルト "all") グローバル どのイベントでベルが鳴らないかを指定します。これは、カンマ区切りの項目のリストです。存在する項目ごとに、ベルは消音されます。これは、挿入モードで特定のイベントを消音するのに最も役立ちます。'visualbell'を使用すると、フラッシュさせることもできます。
項目 存在する場合の意味
all すべてのイベント。 backspace <BS> または <Del> を押して削除した結果、エラーが発生した場合。 cursor カーソルキーまたは <PageUp>/<PageDown> を使用して 挿入モード で移動に失敗した場合。 complete i_CTRL-X_CTRL-K または i_CTRL-X_CTRL-T を使用したときにエラーが発生した場合。 copy i_CTRL-Y または i_CTRL-E を使用して挿入モードから文字をコピーできない場合。 ctrlg 挿入モードで<C-G>の後に不明な文字が入力された場合。 error その他のエラーが発生した場合(例:最後の行を結合しようとした場合)(主に ノーマルモード または コマンドラインモードで使用されます)。 esc ノーマルモード<Esc> を押した場合。 hangul 無視されます。 lang Lua/Mzscheme/TCLのbeepモジュールを呼び出した場合。 mess g< で出力が利用できない場合。 showmatch 'showmatch' 関数でエラーが発生した場合。 operator 空の領域エラー cpo-E。 register 挿入モード<C-R> の後に不明なレジスタが入力された場合。 shell シェル出力 :! からのベル。 spell スペルサジェストでエラーが発生した場合。 term :terminal 出力からのベル。 wildmode コマンドライン補完 で使用可能なより多くのマッチ('wildmode' 設定によって異なります)。
これは、挿入モードでベルを鳴らすタイミングを細かく調整するのに最も役立ちます。ノーマルモードおよびExコマンドの場合、エラーが発生したことを示すためにベルが鳴ることがよくあります。「error」キーワードを追加することで、消音できます。
'binary' 'bin' 'nobinary' 'nobin' 'binary' 'bin' boolean (デフォルト off) バッファローカル このオプションは、バイナリファイルを編集する前に設定する必要があります。-b Vim引数を使用することもできます。このオプションがオンになると、いくつかのオプションが変更されます(オンになっている場合も同様)。'textwidth' は0に設定されます 'wrapmargin' は0に設定されます 'modeline' はオフになります 'expandtab' はオフになります また、'fileformat' および 'fileformats' オプションは使用されず、ファイルは 'fileformat' が "unix" (単一の <NL> が行を区切る)であるかのように読み書きされます。'fileencoding' および 'fileencodings' オプションは使用されず、ファイルは変換なしで読み込まれます。注意: 'bin' オプションがオンになっている間に(別の)ファイルの編集を開始すると、オートコマンドの設定により、設定が再度変更される可能性があります(例:'textwidth')。これにより、編集時に問題が発生する可能性があります。ファイルがロードされたら、'bin' を再度設定することをお勧めします。これらのオプションの以前の値は記憶されており、'bin' がオンからオフに切り替えられると復元されます。各バッファには、独自の保存されたオプション値のセットがあります。 'binary' が設定されたファイルで編集するには、++bin 引数を使用できます。これにより、編集するすべてのファイルに影響を与える ":set bin" を実行する必要がなくなります。ファイルを書き込むとき、最後の行の <EOL> は元のファイルにあった場合にのみ書き込まれます(通常、Vimは最後に <EOL> がない場合、最後の行に追加します。これにより、ファイルが長くなります)。'endofline' オプションを参照してください。
'bomb' 'nobomb' 'bomb' boolean (デフォルト off) バッファローカル ファイルを書き込むときに、次の条件が満たされる場合、BOM(Byte Order Mark)がファイルの先頭に追加されます。
このオプションがオン
'binary' オプションがオフ
'fileencoding' が "utf-8"、"ucs-2"、"ucs-4"、またはリトル/ビッグエンディアンのいずれかのバリアントである場合。一部のアプリケーションでは、BOMを使用してファイルのエンコーディングを認識します。MS-WindowsでUCS-2ファイルによく使用されます。他のアプリケーションでは、たとえば、"cat file1 file2"を実行すると、file2のBOMが結果のファイルの途中に表示されるため、問題が発生します。GccはBOMを受け入れません。Vimがファイルを読み込み、'fileencodings' が "ucs-bom" で始まる場合、BOMの存在を確認し、それに応じて 'bomb' を設定します。'binary' が設定されていない限り、編集時に表示されないように、最初の行から削除されます。オプションを変更しないと、ファイルを書き込むときにBOMが復元されます。
'breakat' 'brk' 'breakat' 'brk' string (デフォルト " ^I!@*-+;:,./?") グローバル このオプションを使用すると、'linebreak' がオンの場合に、改行を引き起こす可能性のある文字を選択できます。ASCII文字でのみ機能します。
'breakindent' 'bri' 'nobreakindent' 'nobri' 'breakindent' 'bri' boolean (デフォルト: off) ウィンドウローカル。折り返された各行が、その行の先頭と同じスペースで視覚的にインデントされ、テキストの水平方向のブロックを保持します。
'breakindentopt' 'briopt' 'breakindentopt' 'briopt' string (デフォルト: "") ウィンドウローカル。'breakindent'の設定。次のオプション項目を含めることができ、コンマで区切る必要があります: min:{n} 'breakindent'を適用した後も維持されるテキストの最小幅。結果のテキストが通常よりも狭くなる場合でも保持されます。これにより、右ウィンドウの境界までほとんどインデントされたテキストが、折り返されたときに多くの垂直スペースを占有するのを防ぎます。(デフォルト: 20) shift:{n} 'breakindent'を適用した後、折り返された行の先頭を、指定された文字数だけシフトします。これにより、動的なフランス語の段落インデント(負の値)や、行の継続を強調する(正の値)ことができます。(デフォルト: 0) sbr 追加のインデントを適用する前に、'showbreak'の値を表示します。(デフォルト: off) list:{n} 番号付きまたは箇条書きリスト( 'formatlistpat'設定を使用)に一致する行に対して、追加のインデントを追加します。(デフォルト: 0) list:-1 'formatlistpat'との一致の幅をインデントに使用します。column:{n} 列{n}でインデントします。他のサブオプションを上書きします。 注: 'showbreak'設定に対して追加のインデントが追加される場合があります。(デフォルト: off)
'bufhidden' 'bh' 'bufhidden' 'bh' string (デフォルト: "") バッファローカル。 local-noglobal このオプションは、バッファがウィンドウに表示されなくなったときの動作を指定します: <empty> グローバルの'hidden'オプションに従う hide バッファを非表示にします(アンロードしません)。'hidden'が設定されていない場合でも同様です。 unload 'hidden'が設定されている場合でもバッファをアンロードします。 :hideコマンドもバッファをアンロードします。 delete 'hidden'が設定されている場合でも、バッファリストからバッファを削除します。 :hideコマンドもバッファを削除し、:bdeleteのように動作させます。 wipe 'hidden'が設定されている場合でも、バッファリストからバッファをワイプアウトします。 :hideコマンドもバッファをワイプアウトし、:bwipeoutのように動作させます。
注意: "unload"、"delete"、"wipe" が使用されている場合、バッファ内の変更は警告なしに失われます。また、これらの値は、一時的にバッファを切り替える自動コマンドを中断させる可能性があります。このオプションは、'buftype'および'swapfile'と共に、特別な種類のバッファを指定するために使用されます。特殊なバッファを参照してください。
'buflisted' 'bl' 'nobuflisted' 'nobl' E85 'buflisted' 'bl' boolean (デフォルト: on) バッファローカル。このオプションが設定されている場合、バッファはバッファリストに表示されます。リセットされている場合は、":bnext"、"ls"、バッファメニューなどには使用されません。このオプションは、ファイル名やマークを記憶するためだけに使用されるバッファの場合、Vimによってリセットされます。Vimはバッファを編集し始めるときにそれを設定します。しかし、":buffer"でバッファに移動するときは設定しません。
'buftype' 'bt' E382 'buftype' 'bt' string (デフォルト: "") バッファローカル。 local-noglobal このオプションの値は、バッファのタイプを指定します: <empty> 通常のバッファ acwrite バッファは常に BufWriteCmds で書き込まれます help ヘルプバッファ(手動で設定しないでください) nofile バッファはファイルに関連付けられておらず、書き込まれません nowrite バッファは書き込まれません quickfix エラーのリスト :cwindow またはロケーション :lwindow terminal ターミナルエミュレータ バッファ prompt 最後の行のみを編集できるバッファ。プラグインで使用されることを目的としています。 prompt-bufferを参照してください。
このオプションは、'bufhidden'および'swapfile'と共に、特別な種類のバッファを指定するために使用されます。特殊なバッファを参照してください。また、ウィンドウのタイプを返すwin_gettype()も参照してください。
このオプションを変更する場合は注意してください。多くの副作用が発生する可能性があります。このような副作用の1つは、ファイルが別のプログラムによって変更された場合、Vimはファイルのタイムスタンプをチェックしないことです。
"quickfix"バッファは、エラーリストとロケーションリストにのみ使用されます。この値は、:cwindowおよび:lwindowコマンドによって設定され、変更することは想定されていません。
"nofile"バッファと"nowrite"バッファは似ています: 両方: バッファはディスクに書き込まれません。":w"は機能しません (ただし、":w filename"は機能します)。両方: バッファは決して'modified'であるとは見なされません。Vimを終了するなど、変更が失われる場合でも警告はありません。両方: スワップファイルは、メモリを使いすぎている場合( 'swapfile'がリセットされている場合は、スワップファイルは作成されません)にのみ作成されます。nofileのみ: バッファ名は固定されており、ファイル名のように処理されません。:cdコマンドに応じて変更されることはありません。両方: ":e bufname"を使用し、すでに"bufname"を編集している場合、バッファは空になり、:editの場合と同様に自動コマンドがトリガーされます。E676
"acwrite"は、バッファ名が"nofile"のようにファイルに関連付けられていないが、書き込まれることを意味します。したがって、"nofile"および"nowrite"とは対照的に、":w"は機能し、変更されたバッファを保存せずに破棄することはできません。書き込みには、一致するBufWriteCmdFileWriteCmd、またはFileAppendCmd自動コマンドが必要です。
'casemap' 'cmp' 'casemap' 'cmp' string (デフォルト: "internal,keepascii") グローバル。文字の大文字と小文字の変更に関する詳細を指定します。次の単語をコンマで区切って含めることができます: internal 内部の大文字/小文字変換関数を使用します。現在のロケールは、大文字/小文字変換を変更しません。"internal"が省略されている場合、towupper()およびtowlower()システムライブラリ関数が利用可能な場合は使用されます。keepascii ASCII文字(0x00から0x7f)の場合、US大文字/小文字変換を使用します。現在のロケールは有効ではありません。これはおそらくトルコ語でのみ重要です。
'cdhome' 'cdh' 'nocdhome' 'nocdh' 'cdhome' 'cdh' boolean (デフォルト: off) グローバル。オンの場合、引数なしの:cd:tcd、および:lcdは、Unixのように現在の作業ディレクトリを$HOMEディレクトリに変更します。オフの場合、これらのコマンドは現在のディレクトリ名を出力するだけです。Unixでは、このオプションは効果がありません。このオプションは、セキュリティ上の理由から、モデル行またはサンドボックスから設定することはできません。
'cdpath' 'cd' E344 E346 'cdpath' 'cd' string (デフォルト: $CDPATHまたは ",,"と同等) グローバル。これは、:cd:tcd、および:lcdコマンドを使用するときに検索されるディレクトリのリストです。検索対象のディレクトリに、"/"、"./"、または"../"で始まる絶対パスではなく相対パスがある場合、'cdpath'オプションは使用されません。'cdpath'オプションの値は、'path'と同じ形式とセマンティクスを持ちます。また、ファイル検索も参照してください。デフォルト値は$CDPATHから取得され、現在のディレクトリを最初に検索するために","が前に付加されます。$CDPATHから取得したデフォルト値が望ましくない場合は、それをオーバーライドするために、次のコマンドの変更バージョンをvimrcファイルに含めてください。
let &cdpath = ',' .. substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g')
このオプションは、セキュリティ上の理由から、モデル行またはサンドボックスから設定することはできません。( 'cdpath'の一部をシェルに渡して、ファイル名を展開できます)。
'cedit'
'cedit' string (デフォルト: CTRL-F) グローバル。コマンドラインウィンドウを開くために、コマンドラインモードで使用されるキー。印刷不可能なキーのみが許可されています。キーは単一の文字として指定できますが、入力は困難です。推奨される方法は、キー表記 (例: <Up>, <C-F>) またはキャレットが前に付いた文字 (例: ^FCTRL-F) を使用することです。例
set cedit=^Y
set cedit=<Esc>
Nviにもこのオプションがありますが、最初の文字のみを使用します。cmdwinを参照してください。
'channel'
'channel' number (デフォルト: 0) バッファローカル。バッファに接続されたチャネル、またはチャネルが接続されていない場合は0。 :terminalバッファでは、これはターミナルチャネルです。読み取り専用。
'charconvert' 'ccv' E202 E214 E513 'charconvert' 'ccv' string (デフォルト: "") グローバル。文字エンコーディング変換に使用される式。読み込まれるファイルまたは書き込まれたファイルのエンコーディングが、目的のエンコーディングと異なる場合に評価されます。'charconvert'は、内部iconv()関数がサポートされており、変換を実行できる場合には使用されません。iconv()を使用することをお勧めします。はるかに高速であるためです。'charconvert'は、stdin --を読み込むときには使用されません。変換元のファイルがないためです。最初にテキストをファイルに保存する必要があります。式は、成功の場合はゼロ、false、または空の文字列を、失敗の場合はゼロ以外またはtrueを返す必要があります。エンコーディング名で、使用可能なエンコーディング名を参照してください。さらに、'fileencodings'および'fileencoding'で指定された名前が使用されます。"latin1"、"unicode"、"ucs-2"、"ucs-4"、"utf-8"間の変換は、Vimによって内部的に行われ、'charconvert'はこれには使用されません。Unicode変換にも使用されます。例
set charconvert=CharConvert()
fun CharConvert()
  system("recode "
        \ .. v:charconvert_from .. ".." .. v:charconvert_to
        \ .. " <" .. v:fname_in .. " >" .. v:fname_out)
  return v:shell_error
endfun
関連するVim変数は次のとおりです: v:charconvert_from 現在のエンコーディングの名前 v:charconvert_to 目的のエンコーディングの名前 v:fname_in 入力ファイルの名前 v:fname_out 出力ファイルの名前。 v:fname_inとv:fname_outは決して同じにならないことに注意してください。
引数なしで関数呼び出しを使用する利点は、それがより高速であることです。 expr-option-function を参照してください。
'charconvert' の式が s: または <SID> で始まる場合、スクリプト ID (ローカル関数) に置き換えられます。例
set charconvert=s:MyConvert()
set charconvert=<SID>SomeConvert()
そうでない場合、式はオプションが設定されたスクリプトのコンテキストで評価されるため、スクリプトローカルの項目が利用可能です。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'cindent' 'cin' 'nocindent' 'nocin' 'cindent' 'cin' boolean (デフォルト: off) バッファローカル C プログラムの自動インデントを有効にします。挿入モードで再インデントをトリガーするキーを設定するには 'cinkeys' を、好みのインデントスタイルを設定するには 'cinoptions' を参照してください。'indentexpr' が空でない場合、'cindent' よりも優先されます。'lisp' がオンではなく、'indentexpr''equalprg' の両方が空の場合、「=」演算子は外部プログラムを呼び出すのではなく、このアルゴリズムを使用してインデントします。Cインデントを参照してください。'cindent' の動作が気に入らない場合は、'smartindent' オプションまたは 'indentexpr' を試してください。
'cinkeys' 'cink' 'cinkeys' 'cink' string (デフォルト: "0{,0},0],:,0#,!^F,o,O,e") バッファローカル 挿入モードで入力されたときに、現在の行の再インデントを引き起こすキーのリスト。'cindent' がオンで、'indentexpr' が空の場合のみ使用されます。このオプションの形式については、cinkeys-format を参照してください。Cインデントを参照してください。
'cinoptions' 'cino' 'cinoptions' 'cino' string (デフォルト: "") バッファローカル 'cinoptions' は、'cindent' が C プログラムの行を再インデントする方法に影響します。このオプションの値については cinoptions-values を、C インデント全般については Cインデントを参照してください。
'cinscopedecls' 'cinsd' 'cinscopedecls' 'cinsd' string (デフォルト: "public,protected,private") バッファローカル cino-g によって C++ スコープ宣言として解釈されるキーワード。例えば、「signals」、「public slots」、「private slots」などの追加のスコープ宣言を定義する Qt フレームワークを扱う場合に便利です。
set cinscopedecls+=signals,public\ slots,private\ slots
'cinwords' 'cinw' 'cinwords' 'cinw' string (デフォルト: "if,else,while,do,for,switch") バッファローカル 'smartindent' または 'cindent' が設定されている場合、これらのキーワードは次の行で追加のインデントを開始します。'cindent' の場合、これは適切な場所 ({} の内側) でのみ行われます。'ignorecase''cinwords' には使用されないことに注意してください。大文字と小文字が区別されない場合は、キーワードを大文字と小文字の両方で含めてください: "if,If,IF"。
'clipboard' 'cb' 'clipboard' 'cb' string (デフォルト: "") グローバル このオプションは、カンマ区切りの名前のリストです。これらの名前が認識されます。
clipboard-unnamed
unnamed これが含まれている場合、Vim は、通常は無名レジスタに送られるすべてのヤンク、削除、変更、および貼り付け操作に、クリップボードレジスタ "*" を使用します。レジスタが明示的に指定されている場合は、"unnamed" が 'clipboard' に含まれているかどうかに関係なく、常に使用されます。クリップボードレジスタは、常に "*" 表記を使用して明示的にアクセスできます。クリップボードも参照してください。
clipboard-unnamedplus
unnamedplus "unnamed" フラグのバリアントで、通常は無名レジスタに送られるすべてのヤンク、削除、変更、および貼り付け操作に、レジスタ "*" の代わりにクリップボードレジスタ "+" (quoteplus) を使用します。"unnamed" もオプションに含まれている場合、ヤンクおよび削除操作 (貼り付けは除く) は、テキストをレジスタ "*" にもコピーします。クリップボードを参照してください。
'cmdheight' 'ch' 'cmdheight' 'ch' number (デフォルト: 1) グローバルまたはタブページローカル コマンドラインに使用する画面行数。hit-enter プロンプトを回避するのに役立ちます。このオプションの値はタブページとともに保存されるため、各タブページは異なる値を持つことができます。
'cmdheight' がゼロの場合、コマンドラインが使用されている場合を除き、コマンドラインは表示されません。コマンドラインは、表示されると画面の最後の行をカバーします。
警告: cmdheight=0 は実験的機能です。望ましくない動作が発生する可能性があります。一部の 'shortmess' フラグや同様のメカニズムが有効にならず、望ましくない hit-enter プロンプトが発生する可能性があります。Nvim 自体とプラグインの両方からのいくつかの情報メッセージが表示されません。
'cmdwinheight' 'cwh' 'cmdwinheight' 'cwh' number (デフォルト: 7) グローバル コマンドラインウィンドウに使用する画面行数。cmdwin
'colorcolumn' 'cc' 'colorcolumn' 'cc' string (デフォルト: "") ウィンドウローカル 'colorcolumn' は、ColorColumn hl-ColorColumn で強調表示される画面列のカンマ区切りリストです。テキストを揃えるのに便利です。画面の再描画が遅くなります。画面列は絶対数、または 'textwidth' に加算または減算される '+' または '-' が前に付いた数値にできます。
set cc=+1          " highlight column after 'textwidth'
set cc=+1,+2,+3  " highlight three columns after 'textwidth'
hi ColorColumn ctermbg=lightgrey guibg=lightgrey
'textwidth' がゼロの場合、'-' および '+' 付きの項目は使用されません。最大 256 列が強調表示されます。
'columns' 'co' E594 'columns' 'co' number (デフォルト: 80 または端末の幅) グローバル 画面の列数。通常、これは端末の初期化によって設定されるため、手動で設定する必要はありません。Vim が GUI またはサイズ変更可能なウィンドウで実行されている場合、このオプションを設定すると、ウィンドウサイズが変更されます。GUI のサイズのみを使用する場合は、ginit.vim ファイルにコマンドを記述します。このオプションを設定し、Vim がディスプレイの物理的な列数を変更できない場合、ディスプレイが乱れる可能性があります。GUI の場合、常に可能であり、Vim は画面に収まる列数に制限します。このコマンドを使用すると、可能な限り広いウィンドウを取得できます。
set columns=9999
最小値は 12、最大値は 10000 です。
'comments' 'com' E524 E525 'comments' 'com' string (デフォルト: "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-,fb:•") バッファローカル コメント行を開始できる文字列のカンマ区切りリスト。format-comments を参照してください。スペースを挿入するためのバックスラッシュの使用については、option-backslash を参照してください。
'commentstring' 'cms' E537 'commentstring' 'cms' string (デフォルト: "") バッファローカル コメントのテンプレート。値の "%s" はコメントテキストに置き換えられ、可能な場合はスペースで埋める必要があります。コメント化に使用され、折りたたみ用のマーカーを追加します。fold-marker を参照してください。
'complete' 'cpt' E535 'complete' 'cpt' string (デフォルト: ".,w,b,u,t") バッファローカル このオプションは、CTRL-P または CTRL-N が使用された場合に、キーワード補完 ins-completion がどのように機能するかを指定します。また、全行補完 i_CTRL-X_CTRL-L にも使用されます。これは、補完の種類とスキャンする場所を示します。これは、フラグのカンマ区切りリストです: . 現在のバッファをスキャンします('wrapscan' は無視されます) w 他のウィンドウのバッファをスキャンします b バッファリストにある他のロードされたバッファをスキャンします u バッファリストにあるアンロードされたバッファをスキャンします U バッファリストにないバッファをスキャンします k 'dictionary' オプションで指定されたファイルをスキャンします kspell 現在アクティブなスペルチェック spell を使用します k{dict} ファイル {dict} をスキャンします。複数の "k" フラグを指定できます。パターンも有効です。例
set cpt=k/usr/dict/*,k~/spanish
s 'thesaurus' オプションで指定されたファイルをスキャンします s{tsr} ファイル {tsr} をスキャンします。複数の "s" フラグを指定できます。パターンも有効です。 i 現在のファイルとインクルードファイルをスキャンします d 現在のファイルとインクルードファイルで定義された名前またはマクロをスキャンします i_CTRL-X_CTRL-D ] タグ補完 t "]" と同じ f バッファの内容ではなくバッファ名をスキャンします
アンロードされたバッファはロードされないため、それらの autocmd :autocmd は実行されません。これにより、一部のファイル (たとえば、gzip ファイル) から予期しない補完が行われる可能性があります。アンロードされたバッファは、全行補完ではスキャンされません。
ご覧のとおり、CTRL-NCTRL-P を使用して、'iskeyword' ベースの任意の拡張 (例: 辞書 i_CTRL-X_CTRL-K、インクルードパターン i_CTRL-X_CTRL-I、タグ i_CTRL-X_CTRL-]、通常の拡張) を実行できます。
'completefunc' 'cfu' 'completefunc' 'cfu' string (デフォルト: "") バッファローカル このオプションは、CTRL-X CTRL-U を使用した挿入モード補完に使用する関数を指定します。i_CTRL-X_CTRL-U 関数がどのように呼び出され、何を返す必要があるかの説明については、complete-functions を参照してください。値は、関数の名前、ラムダ、または Funcref にすることができます。詳細については、option-value-function を参照してください。このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'completeitemalign' 'cia' 'completeitemalign' 'cia' string (デフォルト: "abbr,kind,menu") グローバル 挿入モード補完中のポップアップメニュー内のアイテムの配置と表示順序を制御する complete-items のカンマ区切りリスト。サポートされている値は、abbr、kind、および menu です。これらのオプションを使用すると、ポップアップメニューでの補完アイテムの表示方法をカスタマイズできます。注意: 常にそれら 3 つの値を任意の順序で含める必要があります。
'completeopt' 'cot' 'completeopt' 'cot' 文字列 (デフォルト "menu,preview") グローバルまたはバッファローカル グローバル-ローカル インサートモード補完のためのコンマ区切りのオプションリストです。 ins-completion サポートされている値は次のとおりです。
menu ポップアップメニューを使用して、可能な補完候補を表示します。メニューは、複数の候補があり、十分な色数が利用可能な場合にのみ表示されます。 ins-completion-menu
menuone 候補が1つしかない場合でも、ポップアップメニューを使用します。候補に関する追加情報(例:どのファイルから来たか)がある場合に役立ちます。
longest 候補の最長共通テキストのみを挿入します。メニューが表示されている場合は、CTRL-Lを使用して文字を追加できます。大文字小文字が無視されるかどうかは、補完の種類によって異なります。バッファテキストの場合、'ignorecase' オプションが使用されます。
preview 現在選択されている補完に関する追加情報をプレビューウィンドウに表示します。"menu"または"menuone"との組み合わせでのみ機能します。
popup 現在選択されている補完に関する追加情報をポップアップウィンドウに表示します。"menu"または"menuone"との組み合わせでのみ機能します。"preview"よりも優先されます。
noinsert ユーザーがメニューから候補を選択するまで、候補のテキストを挿入しません。"menu"または"menuone"との組み合わせでのみ機能します。"longest"がある場合は無効です。
noselect メニューで候補を選択せず、ユーザーにメニューから選択させるように強制します。"menu"または"menuone"との組み合わせでのみ機能します。
fuzzy 補完候補に対してファジーマッチングを有効にします。これにより、より柔軟で直感的なマッチングが可能になり、文字をスキップしたり、正確な順序で入力されていなくてもマッチを見つけることができます。候補がどのように収集されるか(さまざまな補完タイプを使用)ではなく、候補リストから候補がどのように絞り込まれるかにのみ影響します。
'completeslash' 'csl' 'completeslash' 'csl' 文字列 (デフォルト "") MS-Windows のみでバッファローカル このオプションが設定されている場合、補完のために 'shellslash' が上書きされます
このオプションが "slash" に設定されている場合、インサートモードでのパス補完にスラッシュが使用されます。これは、MS-Windows で 'noshellslash' がオンになっている場合に HTML タグや Makefile を編集する際に役立ちます。
このオプションが "backslash" に設定されている場合、バックスラッシュが使用されます。これは、MS-Windows で 'shellslash' が設定されている場合にバッチファイルを編集する際に役立ちます。
このオプションが空の場合、'shellslash' と同じ文字が使用されます。インサートモード補完ではバッファローカルの値が使用されます。コマンドライン補完ではグローバル値が使用されます。
'concealcursor' 'cocu' 'concealcursor' 'cocu' 文字列 (デフォルト "") ウィンドウローカル カーソル行のテキストを隠すことができるモードを設定します。現在のモードがリストされている場合、他の行と同じように隠蔽が行われます。 n ノーマルモード v ビジュアルモード i インサートモード c コマンドライン編集、'incsearch'の場合
'v' はカーソルだけでなく、ビジュアルエリアのすべての行に適用されます。便利な値は "nc" です。これはヘルプファイルで使用されています。テキストを移動している限り、テキストは隠蔽されますが、テキストの挿入を開始したり、ビジュアルエリアを選択したりすると、隠蔽されたテキストが表示され、何をしているかを確認できます。カーソルの位置は、常に表示される場所にあるとは限りません。例えば、垂直に移動すると、列が変更される場合があります。
'conceallevel' 'cole' 'conceallevel' 'cole' 数値 (デフォルト 0) ウィンドウローカル "conceal" シンタックス属性を持つテキストがどのように表示されるかを決定します。 :syn-conceal
値 効果
0 テキストは通常どおりに表示されます。 1 隠蔽されたテキストの各ブロックは1文字に置き換えられます。シンタックス項目にカスタム置換文字が定義されていない場合( :syn-cchar を参照)、'listchars' で定義された文字が使用されます。"Conceal" ハイライトグループでハイライト表示されます。2 カスタム置換文字が定義されている場合を除き( :syn-cchar を参照)、隠蔽されたテキストは完全に非表示になります。3 隠蔽されたテキストは完全に非表示になります。
注意: カーソル行では隠蔽されたテキストは非表示になりません。そのため、テキストを編集およびコピーできます。これは 'concealcursor' オプションで変更できます。
'confirm' 'cf' 'noconfirm' 'nocf' 'confirm' 'cf' ブール値 (デフォルト off) グローバル 'confirm' がオンの場合、バッファが保存されていないために通常は失敗する操作(例: ":q" および ":e")は、代わりに現在のファイルを保存するかどうかを尋ねるダイアログを表示します。バッファを無条件に破棄するには、!を使用できます。'confirm' がオフの場合でも、:confirm コマンドを使用して(これはマッピングで最も役立ちます)、1つのコマンドのみの確認を有効にできます。また、confirm() 関数と、'guioptions' の 'v' フラグも参照してください。
'copyindent' 'ci' 'nocopyindent' 'noci' 'copyindent' 'ci' ブール値 (デフォルト off) バッファローカル 新しい行を自動インデントするときに、既存の行のインデント構造をコピーします。通常、新しいインデントは、必要なタブとスペースの組み合わせによって再構成されます('expandtab' が有効になっている場合は、スペースのみが使用されます)。このオプションを有効にすると、新しい行は、既存の行のインデントに使用されている文字をコピーします。'expandtab' はこれらの文字に影響しません。タブはタブのままです。新しいインデントが既存の行よりも大きい場合、残りのスペースは通常の方法で埋められます。'preserveindent' を参照してください。
'cpoptions' 'cpo' cpo 'cpoptions' 'cpo' 文字列 (デフォルト "aABceFs_") グローバル 単一文字フラグのシーケンスです。文字が存在する場合、これは Vi 互換の動作を示します。これは、Vi 互換ではないことがほとんどまたは時々好まれる場合に使用されます。 'cpoptions' は「互換性オプション」の略です。読みやすくするためにコンマを追加できます。将来追加されるフラグとの問題を回避するには、":set" の "+=" および "-=" 機能を使用してください。add-option-flags
動作が含まれています
cpo-a
a これが含まれている場合、ファイル名引数付きの ":read" コマンドは、現在のウィンドウの代替ファイル名を設定します。cpo-A
A これが含まれている場合、ファイル名引数付きの ":write" コマンドは、現在のウィンドウの代替ファイル名を設定します。cpo-b
b ":map" コマンドの "\|" はマップコマンドの終わりとして認識されます。'\' はマッピングに含まれ、'|' の後のテキストは次のコマンドとして解釈されます。マッピングに '|' を含めるには、バックスラッシュの代わりに CTRL-V を使用します。すべてのマッピング、省略形、メニュー、および自動コマンドに適用されます。map_bar も参照してください。cpo-B
B バックスラッシュは、マッピング、省略形、ユーザーコマンド、およびメニューコマンドの "to" 部分で特別な意味を持ちません。このフラグを削除すると、バックスラッシュを CTRL-V のように使用できます。たとえば、コマンド ":map X \<Esc>" は、次の結果になります。'B' が含まれている場合:X は "\^[" (^[ は実際の <Esc>)にマップされます 'B' が除外されている場合:X は "<Esc>" (5文字)にマップされますcpo-c
c 検索は、カーソル位置での一致の末尾から継続されますが、次の行の先頭よりも先には進みません。存在しない場合、検索はカーソル位置から1文字継続されます。'c' があると、"abababababab" は "/abab" を繰り返すと3つの一致のみを取得しますが、'c' がないと、5つの一致があります。cpo-C
C バックスラッシュで始まるソース行を連結しないでください。line-continuation を参照してください。cpo-d
d 'tags' オプションで "./" を使用しても、現在のファイルに関連するタグファイルを使用するのではなく、現在のディレクトリのタグファイルを使用することを意味します。cpo-D
D rft のように文字引数を持つノーマルモードコマンドの後で、CTRL-K を使用してダイグラフを入力することはできません。cpo-e
e ":@r" でレジスタを実行する場合、レジスタが行単位ではない場合でも、常に最後の行に <CR> を追加します。このフラグが存在せず、レジスタが行単位ではなく、最後の行が <CR> で終わっていない場合、最後の行はコマンドラインに配置され、<CR> を押す前に編集できます。cpo-E
E 空の領域で "y"、"d"、"c"、"g~"、"gu"、または "gU" を使用するとエラーになります。演算子は、少なくとも1文字が操作対象になる場合にのみ機能します。例:これにより、最初の列で "y0" が失敗します。cpo-f
f これが含まれている場合、ファイル名引数付きの ":read" コマンドは、現在のバッファにファイル名がまだない場合、現在のバッファのファイル名を設定します。cpo-F
F これが含まれている場合、ファイル名引数付きの ":write" コマンドは、現在のバッファにファイル名がまだない場合、現在のバッファのファイル名を設定します。cpo-P も参照してください。cpo-i
i これが含まれている場合、ファイルの読み取りを中断すると、変更されたままになります。cpo-I
I 'autoindent' のインデントを挿入した直後にカーソルを上下に移動する場合、インデントを削除しないでください。cpo-J
J は、'.'、'!'、または'?' の後に2つのスペースが続く必要があります。<Tab> は空白として認識されません。cpo-K
K マッピングの途中で、キーコードが完了するのを待たないでください。これにより、2番目の <F1> の一部のみが読み取られた場合、マッピング <F1><F1> が中断されます。<F1><Esc> を入力してマッピングをキャンセルできます。cpo-l
l 検索パターンの [] 範囲のバックスラッシュは文字どおりに解釈されます。"\]"、"\^"、"\-"、および "\\" のみが特別です。/[] を参照してください 'l' が含まれている場合: "/[ \t]" は <Space>、'\'、および 't' を検索します 'l' が除外されている場合: "/[ \t]" は <Space> および <Tab> を検索しますcpo-L
L 'list' オプションが設定されている場合、'wrapmargin''textwidth''softtabstop'、および仮想置換モード(gR を参照)では、<Tab> は通常の <Tab> の動作ではなく、2文字としてカウントされます。cpo-m
m これが含まれている場合、showmatch は常に0.5秒待ちます。含まれていない場合、showmatch は0.5秒待つか、文字が入力されるまで待ちます。'showmatch'cpo-M
M 除外すると、"%"マッチングはバックスラッシュを考慮します。したがって、"( \( )" と "\ ( ( \)" では、外側の括弧がマッチします。含めると、"%"はバックスラッシュを無視し、Vi互換になります。 cpo-n
n 含めると、'number''relativenumber' に使用される列は、折り返し行のテキストにも使用されます。 cpo-o
o 検索コマンドの行オフセットは、次の検索のために記憶されません。 cpo-O
O 編集時に存在しなかった場合でも、ファイルを上書きしても文句を言いません。これは、誰かによって予期せず作成されたファイルに対する保護です。Vi はこれについて文句を言いませんでした。 cpo-P
P 含めると、ファイルに追記する ":write" コマンドは、現在のバッファにまだファイル名がなく、'F' フラグも含まれている場合、現在のバッファのファイル名を設定します cpo-Fcpo-q
q 複数の行を結合するとき、2つの行を結合するときと同じ位置にカーソルを残します。 cpo-r
r やり直し("."コマンド)は、実際に使用された検索文字列の代わりに、検索コマンドを繰り返すために"/"を使用します。 cpo-R
R フィルタリングされた行からマークを削除します。このフラグがない場合、マークは :keepmarks が使用されたように保持されます。 cpo-s
s バッファに初めて入るときにバッファオプションを設定します。これは Vim バージョン 3.0 の場合と同じです。そして、これがデフォルトです。存在しない場合、オプションはバッファが作成されたときに設定されます。 cpo-S
S バッファに入るときに常にバッファオプションを設定します('readonly''fileformat''filetype' および 'syntax' を除く)。これは(最も)Vi互換の設定です。オプションは、現在のバッファの値に設定されます。オプションを変更して別のバッファに移動すると、値がコピーされます。事実上、バッファオプションをすべてのバッファに対してグローバルにします。
's' 'S' バッファオプションをコピー バッファ作成時 no no バッファに最初に入った時 yes no (デフォルト) X バッファに入った時毎回 yes (vi互換) cpo-t
t タグコマンドの検索パターンは "n" コマンドのために記憶されます。それ以外の場合、Vim は検索パターンの履歴にパターンを入れるだけで、最後に使用された検索パターンを変更しません。 cpo-u
u 取り消しは Vi 互換です。 undo-two-ways を参照してください。 cpo-v
v バックスペースで削除された文字は、挿入モードで画面に表示されたままになります。このフラグがない場合、文字はすぐに画面から消去されます。このフラグを使用すると、画面に新しく入力されたテキストがバックスペースで削除された文字を上書きします。 cpo-W
W 読み取り専用ファイルを上書きしません。省略すると、":w!"は可能であれば読み取り専用ファイルを上書きします。 cpo-x
x コマンドラインで<Esc>を押すと、コマンドラインが実行されます。Vim のデフォルトはコマンドラインを破棄することです。なぜなら、<Esc>は通常コマンドを中断するからです。 c_<Esc> cpo-X
X "R" でカウントを使用する場合、置換されたテキストは 1 回だけ削除されます。"R" を "." とカウントで繰り返す場合も同様です。 cpo-y
y ヤンクコマンドは "." でやり直すことができます。本当にこれを使用したいかどうかをよく考えてください。ほとんどの人は "." が変更を繰り返すだけだと予想するため、一部のプラグインが破損する可能性があります。 cpo-Z
Z 'readonly' オプションが設定されているときに "w!" を使用する場合、'readonly' をリセットしないでください。 cpo-!
! フィルタコマンドをやり直すとき、それが何であれ、最後に使用された外部コマンドを使用します。それ以外の場合は、最後に使用された -filter- コマンドが使用されます。 cpo-$
$ 1 行を変更するとき、行を再表示するのではなく、変更されたテキストの最後に '$' を配置します。新しいテキストを入力すると、変更されたテキストが上書きされます。挿入点からカーソルを移動するコマンドを入力すると、行が再表示されます。 cpo-%
% Vi互換のマッチングは "%" コマンドに対して実行されます。 "#if"、"#endif" などを認識しません。"/*" と "*/" を認識しません。一重引用符と二重引用符の内側の括弧もカウントされ、括弧を含む文字列がマッチングを妨げます。たとえば、「if (strcmp("foo(", s))」のような行では、最初の括弧は最後の括弧と一致しません。このフラグが含まれていない場合、一重引用符と二重引用符の内側の括弧は特別に扱われます。引用符の外側の括弧をマッチングする場合、引用符の内側のすべてが無視されます。引用符の内側の括弧をマッチングする場合、マッチングする括弧(存在する場合)を見つけます。これは C プログラムで非常にうまく機能します。このフラグは、C インデントなどの他の機能にも使用されます。 cpo-+
+ 含めると、":write file" コマンドは、バッファ自体がファイルと異なる可能性がある場合でも、バッファの 'modified' フラグをリセットします。 cpo->
> レジスタに追加する場合、追加されたテキストの前に改行を入れます。 cpo-;
; 最後に t 検索を繰り返すために , または ; を使用し、カーソルが検索された文字のすぐ前にある場合、カーソルは移動しません。含まれていない場合、カーソルはそれをスキップして、次の出現にジャンプします。 cpo-_
_ 単語で cw を使用する場合、モーションに単語に続く空白を含めないでください。
'cursorbind' 'crb' 'nocursorbind' 'nocrb' 'cursorbind' 'crb' ブール値 (デフォルト off) ウィンドウローカル このオプションを設定すると、現在のウィンドウでカーソルが移動すると、他のカーソルバインドされたウィンドウ(このオプションも設定されているウィンドウ)が、対応する行と列にカーソルを移動します。このオプションは、ファイルの 2 つのバージョン間の違いを表示するのに役立ちます ( 'diff' を参照)。diff モードでは、挿入された行と削除された行(行内の文字は除く)が考慮されます。
'cursorcolumn' 'cuc' 'nocursorcolumn' 'nocuc' 'cursorcolumn' 'cuc' ブール値 (デフォルト off) ウィンドウローカル カーソルの画面列を CursorColumn hl-CursorColumn で強調表示します。テキストを整列するのに役立ちます。画面の再描画が遅くなります。現在のウィンドウでのみ強調表示したい場合は、これらの自動コマンドを使用できます
au WinLeave * set nocursorline nocursorcolumn
au WinEnter * set cursorline cursorcolumn
'cursorline' 'cul' 'nocursorline' 'nocul' 'cursorline' 'cul' ブール値 (デフォルト off) ウィンドウローカル カーソルのテキスト行を CursorLine hl-CursorLine で強調表示します。カーソルを簡単に見つけるのに役立ちます。画面の再描画が遅くなります。ビジュアルモードがアクティブな場合、選択されたテキストを見やすくするために強調表示は使用されません。
'cursorlineopt' 'culopt' 'cursorlineopt' 'culopt' 文字列 (デフォルト "both") ウィンドウローカル 'cursorline' の表示方法に関する設定のコンマ区切りリスト。有効な値は次のとおりです。"line" カーソルのテキスト行を CursorLine hl-CursorLine で強調表示します。"screenline" カーソルの画面行のみを CursorLine hl-CursorLine で強調表示します。"number" カーソルの行番号を CursorLineNr hl-CursorLineNr で強調表示します。
特殊値: "both" 値 "line,number" のエイリアス。
"line" と "screenline" は一緒に使用できません。
'debug'
'debug' 文字列 (デフォルト "") グローバル これらの値を使用できます: msg 普段は省略されるエラーメッセージがとにかく表示されます。throw 普段は省略されるエラーメッセージがとにかく表示され、例外がスローされ v:errmsg が設定されます。beep それ以外の場合はビープ音のみが生成される場合にメッセージが表示されます。値はコンマで区切って組み合わせることができます。"msg" と "throw" は、'foldexpr''formatexpr' または 'indentexpr' のデバッグに役立ちます。
'define' 'def' 'define' 'def' 文字列 (デフォルト "") グローバルまたはバッファローカル global-local マクロ定義を検索するために使用するパターン。これは、"/" コマンドと同様の検索パターンです。このオプションは、"[i" や "[d" include-search などのコマンドで使用されます。'isident' オプションは、一致後の定義された名前を認識するために使用されます
{match with 'define'}{non-ID chars}{defined name}{non-ID char}
スペースまたはバックスラッシュを含めるためのバックスラッシュの挿入については、option-backslash を参照してください。C++ の場合、const 型宣言を含めるためにこの値が役立ちます
^\(#\s*define\|[a-z]*\s*const\s*[a-z]*\)
また、名前の直前に "\ze" を使用して、それに続くものをチェックするためにパターンを続けることもできます。たとえば、Javascript の場合、関数が func_name = function(args) で定義されている場合
^\s*\ze\i\+\s*=\s*function(
関数が func_name : function() {... で定義されている場合
^\s*\ze\i\+\s*[:]\s*(*function\s*(
":set" コマンドを使用するときは、バックスラッシュを二重にする必要があります。それを避けるには、一重引用符文字列で :let を使用します
let &l:define = '^\s*\ze\k\+\s*=\s*function('
'delcombine' 'deco' 'nodelcombine' 'nodeco' 'delcombine' 'deco' ブール値 (デフォルト off) グローバル Unicode を編集していて、このオプションが設定されている場合、バックスペースとノーマルモードの "x" は、各結合文字を単独で削除します。オフの場合(デフォルト)、文字とその結合文字が一緒に削除されます。 注: 'delcombine' が設定されている場合、"xx" は "2x" とは異なる動作をする可能性があります!
これは、ベース文字の上に結合文字を持つ可能性のあるアラビア語、ヘブライ語、その他多くの言語で、結合文字のみを削除したい場合に役立ちます。
'dictionary' 'dict' 'dictionary' 'dict' 文字列 (デフォルト "") バッファに対してグローバルまたはローカル グローバル-ローカル キーワード補完コマンド i_CTRL-X_CTRL-K で単語を検索するために使用される、コンマで区切られたファイル名のリスト。各ファイルには単語のリストが含まれている必要があります。これは1行に1単語でも、1行に複数の単語でも構いません。複数単語の場合、単語はキーワード文字以外の文字 (空白が推奨) で区切ります。最大行長は 510 バイトです。
このオプションが空の場合、または "spell" エントリが存在し、スペルチェックが有効な場合、現在アクティブな 'spelllang' の単語リスト内の単語が使用されます。spellを参照してください。
ファイル名にコンマを含めるには、コンマの前にバックスラッシュを付けます。コンマの後のスペースは無視されます。それ以外のスペースはファイル名に含まれます。バックスラッシュの使用についてはoption-backslashを参照してください。これはDictionary変数型とは関係ありません。単語のリストはどこで見つけられますか?
BSD/macOSには "/usr/share/dict/words" ファイルが含まれています。
apt管理システム (Debian/Ubuntu) で "/usr/share/dict/words" ファイルを入手するには "apt install spell" を試してください。リストへのディレクトリの追加や削除の際には、:set+= および :set-= を使用することをお勧めします。これにより、将来のバージョンで別のデフォルトが使用される場合の問題を回避できます。セキュリティ上の理由から、このオプションではバッククォートを使用できません。
'diff' 'nodiff' 'diff' 真偽値 (デフォルト off) ウィンドウに対してローカル ファイル間の差分を表示するウィンドウのグループに現在のウィンドウを参加させます。diff-modeを参照してください。
'diffexpr' 'dex' 'diffexpr' 'dex' 文字列 (デフォルト "") グローバル ファイルの2つのバージョンから差分ファイル (edスタイルまたはunifiedスタイル) を取得するために評価される式。diff-diffexprを参照してください。セキュリティ上の理由から、このオプションはmodelineまたはsandboxから設定することはできません。
'diffopt' 'dip' 'diffopt' 'dip' 文字列 (デフォルト "internal,filler,closeoff") グローバル diff モードのオプション設定。次の項目で構成できます。すべてオプションです。項目はコンマで区切る必要があります。
filler テキストを、同じ位置に行が挿入されたウィンドウと同期させるために、フィラー行を表示します。主にウィンドウが左右に並んでおり、'scrollbind'が設定されている場合に役立ちます。
context:{n} 変更と変更されていない行を含む折りたたみの間に {n} 行のコンテキストを使用します。省略した場合、6行のコンテキストが使用されます。ゼロを使用する場合、折りたたみの間には行が必要なため、実際にはコンテキストは1つになります。これは削除された行の場合も同様です。完全に折りたたみを無効にするには、非常に大きな値 (999999) に設定してください。fold-diffを参照してください。
iblank 行がすべて空白の場合の変更を無視します。'diffexpr'が空の場合、"diff" コマンドに "-B" フラグを追加します。これが正確に何をするかについては、"diff" コマンドのドキュメントを確認してください。注: 空白行の間の差異は考慮されないため、差分ウィンドウは同期しなくなります。
icase テキストの大文字小文字の変更を無視します。「a」と「A」は同じと見なされます。'diffexpr'が空の場合、"diff" コマンドに "-i" フラグを追加します。
iwhite 空白の量の変更を無視します。'diffexpr'が空の場合、"diff" コマンドに "-b" フラグを追加します。これが正確に何をするかについては、"diff" コマンドのドキュメントを確認してください。末尾の空白の追加は無視されますが、先頭の空白は無視されません。
iwhiteall すべての空白の変更を無視します。'diffexpr'が空の場合、"diff" コマンドに "-w" フラグを追加します。これが正確に何をするかについては、"diff" コマンドのドキュメントを確認してください。
iwhiteeol 行末の空白の変更を無視します。'diffexpr'が空の場合、"diff" コマンドに "-Z" フラグを追加します。これが正確に何をするかについては、"diff" コマンドのドキュメントを確認してください。
horizontal (特に指定がない限り) 水平分割で diff モードを開始します。
vertical (特に指定がない限り) 垂直分割で diff モードを開始します。
closeoff 'diff'が設定されているウィンドウが閉じられ、同じタブページに残っている'diff'が設定されているウィンドウが1つだけの場合、そのウィンドウで:diffoffを実行します。これにより、:diffsplitコマンドが取り消されます。
hiddenoff バッファが非表示になったときに、差分モードを使用しないでください。
foldcolumn:{n} 差分モードを開始するときに、'foldcolumn'オプションを{n}に設定します。これがない場合、2が使用されます。
followwrap 'wrap'オプションに従い、そのままにします。
internal 内部diffライブラリを使用します。'diffexpr'が設定されている場合は無視されます。E960 バッファの書き込み時にメモリが不足した場合、そのバッファに関連するdiffについては、この項目は無視されます。これが発生したときに確認するには、'verbose'オプションを設定してください。
indent-heuristic 内部diffライブラリにインデントヒューリスティックを使用します。
linematch:{n} 生成された各hunkで、行を整列させるために2段階目のdiffを有効にします。hunk内の行の合計数が{n}を超える場合、非常に大きなhunkは著しい遅延を引き起こす可能性があるため、2段階目のdiffは実行されません。推奨設定は "linematch:60" です。これにより、最大30行のhunkを持つ2つのバッファの差分、または最大20行のhunkを持つ3つのバッファの差分で整列が有効になります。
algorithm:{text} 内部diffエンジンで指定されたdiffアルゴリズムを使用します。現在サポートされているアルゴリズムは次のとおりです。myers デフォルトのアルゴリズム minimal 可能な限り小さい差分を生成するために追加の時間を費やす patience Patience diffアルゴリズム histogram ヒストグラムdiffアルゴリズム
例:
set diffopt=internal,filler,context:4
set diffopt=
set diffopt=internal,filler,foldcolumn:3
set diffopt-=internal  " do NOT use the internal diff parser
'digraph' 'dg' 'nodigraph' 'nodg' 'digraph' 'dg' 真偽値 (デフォルト off) グローバル 挿入モードで {char1} <BS> {char2} でダイグラフの入力を有効にします。digraphsを参照してください。
'directory' 'dir' 'directory' 'dir' 文字列 (デフォルト "$XDG_STATE_HOME/nvim/swap//") グローバル スワップファイル用のディレクトリ名のリスト。コンマで区切ります。
可能な項目
スワップファイルは、作成可能な最初のディレクトリに作成されます。どのディレクトリでも作成できない場合でも、オプションにリストされている最後のディレクトリが存在しない場合は、作成されます。
空の場合、スワップファイルは使用されません (リカバリは不可能!) E303 エラーも表示されません。
ディレクトリ "." は、編集されたファイルと同じディレクトリにスワップファイルを配置することを意味します。Unixでは、ファイル名の前にドットが付くため、ディレクトリ一覧には表示されません。MS-Windowsでは、「隠し」属性が設定され、可能であればドットが付加されます。
"./" (またはMS-Windowsの場合は "\.") で始まるディレクトリは、編集されたファイルの場所を基準としてスワップファイルを配置することを意味します。先頭の "." は、編集されたファイルのパス名に置き換えられます。
UnixおよびWin32の場合、ディレクトリが2つのパス区切り文字 "//" で終わる場合、スワップファイル名は、ファイルへの完全パスから構築され、すべてのパス区切り文字はパーセント '%' 記号に置き換えられます (Win32の場合はドライブ文字に続くコロンを含む)。これにより、保存ディレクトリ内のファイル名の一意性が保証されます。Win32では、"\\" で終わることも可能です。ただし、区切りコンマが続く場合は、"//"を使用する必要があります。これは、"\\" がファイル名にコンマを含めるためです。したがって、'\\'の代わりに'//'を使用することをお勧めします。
カンマ後のスペースは無視されますが、他のスペースはディレクトリ名の一部と見なされます。ディレクトリ名の先頭にスペースを入れるには、バックスラッシュを前に付けます。
ディレクトリ名にカンマを含めるには、バックスラッシュを前に付けます。
ディレクトリ名は、':' または '/' で終わる場合があります。
環境変数は:set_envで展開されます。
バックスラッシュ'\'文字には注意が必要です。スペースの前に1つ、オプションで1つ取得するには2つ入力してください(option-backslashを参照)、例:
set dir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
同じファイルを2回編集すると、警告が表示されます。 "/tmp" を使用することは推奨されません。システムがクラッシュするとスワップファイルが失われます。また、コンピュータ上の他の人がファイルを見ることができる可能性があります。リストへのディレクトリの追加や削除の際は、:set+= および :set-= を使用してください。これにより、Nvimのデフォルトが変更された場合に発生する問題を回避できます。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'display' 'dy' 'display' 'dy' 文字列 (デフォルト "lastline") グローバル テキストの表示方法を変更します。これはコンマ区切りのフラグのリストです。lastline これが含まれる場合、ウィンドウの最後の行が可能な限り表示されます。行の残りの部分が表示されないことを示すために、最後の画面行の最後の列に "@@@" が配置されます。truncate "lastline" と同様ですが、"@@@" は最後の画面行の最初の列に表示されます。"lastline" をオーバーライドします。uhex 表示不可能な文字を、^C や ~C を使用する代わりに、16進数の <xx> で表示します。msgsep 非推奨フラグ。許可されていますが、効果はありません。msgsep
"lastline" と "truncate" のどちらも含まれていない場合、収まらない最後の行は "@" 行に置き換えられます。
"@" 文字は、'fillchars'で "lastline" 項目を設定することにより変更できます。この文字は、hl-NonText で強調表示されます。
'eadirection' 'ead' 'eadirection' 'ead' 文字列 (デフォルト "both") グローバル 'equalalways' オプションが適用されるタイミングを示します。ver 垂直方向、ウィンドウの幅は影響を受けません。hor 水平方向、ウィンドウの高さは影響を受けません。both ウィンドウの幅と高さが影響を受けます。
'emoji' 'emo' 'noemoji' 'noemo' 'emoji' 'emo' 真偽値 (デフォルト on) グローバル 有効にすると、すべての Unicode 絵文字文字は全角と見なされます。これにより、通常は半角で表示される「テキスト絵文字」文字は除外されます。ただし、そのような「テキスト絵文字」は、U+FE0F バリアントセレクタが続く場合、全角絵文字として扱われます。
残念ながら、これに関する適切な仕様はなく、試行錯誤に基づいて決定されています。動作を変更するには、setcellwidths()関数を使用してください。
'encoding' 'enc' 'encoding' 'enc' 文字列 (デフォルト "utf-8") グローバル 内部および RPC 通信に使用される文字列エンコーディング。常にUTF-8です。
ファイルコンテンツのエンコーディングを制御するには、'fileencoding'を参照してください。
'endoffile' 'eof' 'noendoffile' 'noeof' 'endoffile' 'eof' ブール値 (デフォルト: オフ) バッファローカル ファイルを読み込む際、ファイルの末尾に CTRL-Z 文字が見つかったかどうかを示します。通常は 'fileformat' が "dos" の場合にのみ発生します。ファイルを書き込む際、このオプションがオフで、'binary' オプションがオンの場合、または 'fixeol' オプションがオフの場合、ファイルの末尾に CTRL-Z は書き込まれません。設定例については eol-and-eof を参照してください。
'endofline' 'eol' 'noendofline' 'noeol' 'endofline' 'eol' ブール値 (デフォルト: オン) バッファローカル ファイルを書き込む際、このオプションがオフで、'binary' オプションがオンの場合、または 'fixeol' オプションがオフの場合、ファイルの最後の行に <EOL> は書き込まれません。このオプションは、新しいファイルの編集を開始した際に、ファイルに最後の行に <EOL> があるかどうかに応じて、自動的に設定またはリセットされます。通常、このオプションを設定またはリセットする必要はありません。'binary' がオフで、'fixeol' がオンの場合、値をファイルの書き込み時に使用しません。'binary' がオンの場合、または 'fixeol' がオフの場合、ファイルの最後の行に <EOL> が存在することを記憶するために使用され、ファイルを書き込む際に元のファイルの状態を維持できます。ただし、必要に応じて変更することもできます。設定例については eol-and-eof を参照してください。
'equalalways' 'ea' 'noequalalways' 'noea' 'equalalways' 'ea' ブール値 (デフォルト: オン) グローバル オンにすると、ウィンドウを分割または閉じた後、すべてのウィンドウが自動的に同じサイズになります。これは、オプションがオンになった瞬間にも発生します。オフの場合、ウィンドウを分割すると、現在のウィンドウのサイズが縮小され、他のウィンドウは同じままになります。ウィンドウを閉じると、余分な行は隣接するウィンドウに与えられます ('splitbelow''splitright' に依存します)。垂直方向と水平方向に分割されたウィンドウを混在させる場合、最小サイズが計算され、余裕があれば一部のウィンドウが大きくなることがあります。'eadirection' オプションは、サイズがどの方向に影響を受けるかを示します。ウィンドウの高さと幅の変更は、それぞれ 'winfixheight''winfixwidth' を設定することで回避できます。新しいウィンドウを作成するときにウィンドウサイズが指定されている場合、現在サイズは均等化されません (複雑ですが、将来的に実装される可能性があります)。
'equalprg' 'ep' 'equalprg' 'ep' 文字列 (デフォルト: "") グローバルまたはバッファローカル global-local "=" コマンドに使用する外部プログラム。このオプションが空の場合、内部の書式設定関数が使用されます。'lisp''cindent'、または 'indentexpr' のいずれかです。環境変数は :set_env で展開されます。スペースとバックスラッシュの含め方については、option-backslash を参照してください。セキュリティ上の理由から、このオプションは modeline または sandbox から設定することはできません。
'errorbells' 'eb' 'noerrorbells' 'noeb' 'errorbells' 'eb' ブール値 (デフォルト: オフ) グローバル エラーメッセージに対してベル (ビープ音または画面の点滅) を鳴らします。これはエラーメッセージに対してのみ効果があり、メッセージなしで多くのエラーに対してベルが常に使用されます (例: ノーマルモードで <Esc> を押すなど)。ベルを画面の点滅のように動作させたり、何もしないようにするには、'visualbell' を参照してください。ベルを鳴らすタイミングを微調整するには、'belloff' を参照してください。
'errorfile' 'ef' 'errorfile' 'ef' 文字列 (デフォルト: "errors.err") グローバル QuickFix モードのエラーファイルの名前 (:cf を参照)。"-q" コマンドライン引数を使用すると、'errorfile' は次の引数に設定されます。-q を参照してください。":make" コマンドには使用されません。その場合は 'makeef' を参照してください。環境変数は :set_env で展開されます。スペースとバックスラッシュの含め方については、option-backslash を参照してください。セキュリティ上の理由から、このオプションは modeline または sandbox から設定することはできません。
'errorformat' 'efm' 'errorformat' 'efm' 文字列 (デフォルトは非常に長い) グローバルまたはバッファローカル global-local エラーファイルの行の形式を Scanf のように記述したものです (errorformat を参照)。
'eventignore' 'ei' 'eventignore' 'ei' 文字列 (デフォルト: "") グローバル 無視する自動コマンドイベント名のリスト。"all" に設定した場合、または "all" がアイテムの 1 つである場合、すべての自動コマンドイベントは無視され、自動コマンドは実行されません。それ以外の場合、これはカンマで区切られたイベント名のリストです。例
set ei=WinEnter,WinLeave
'expandtab' 'et' 'noexpandtab' 'noet' 'expandtab' 'et' ブール値 (デフォルト: オフ) バッファローカル 挿入モード: <Tab> を挿入するために適切な数のスペースを使用します。スペースは、'>' および '<' コマンドによるインデント、および 'autoindent' がオンの場合に使用されます。'expandtab' がオンの場合に実際のタブを挿入するには、CTRL-V<Tab> を使用します。:retabins-expandtab も参照してください。
'exrc' 'ex' 'noexrc' 'noex' 'exrc' 'ex' ブール値 (デフォルト: オフ) グローバル 現在のディレクトリにある .nvim.lua, .nvimrc, および .exrc ファイルが 信頼リストに含まれている場合、自動的に実行します。信頼されたファイルを管理するには :trust を使用します。 vim.secure.read() も参照してください。
'exrc'editorconfig を比較します。
'exrc' は任意のコードを実行できますが、editorconfig は設定のみを指定します。
'exrc' は Nvim 固有ですが、editorconfig は他のエディタでも動作します。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'fileencoding' 'fenc' E213 'fileencoding' 'fenc' 文字列 (デフォルト: "") バッファローカル 現在のバッファのファイルコンテンツエンコーディング。変換は iconv() を使用するか、'charconvert' で指定されたとおりに行われます。
'fileencoding' が UTF-8 でない場合、ファイルの書き込み時に変換が行われます。読み込みについては以下を参照してください。'fileencoding' が空の場合、ファイルは UTF-8 エンコーディングで保存されます (ファイルの読み書き時に変換はありません)。
警告: Unicode 以外のエンコーディングに変換すると、情報が失われる可能性があります!
可能な値については、encoding-names を参照してください。さらに、コンバーターで処理できる値を指定することもできます。mbyte-conversion を参照してください。
ファイルを読み込むとき、'fileencoding''fileencodings' から設定されます。特定のエンコーディングでファイルを読み込むために、'fileencoding' を設定しても効果はありません。++enc 引数を使用してください。ただし、'fileencodings' が空の場合、'fileencoding' の値が使用されます。新しいファイルの場合、'fileencoding' のグローバル値が使用されます。
"8bit-" と "2byte-" を先頭に付加しても意味はなく、無視されます。オプションが設定されると、値は小文字に変換されます。したがって、大文字の値で設定することもできます。'_' 文字は '-' に置き換えられます。名前が encoding-names のリストから認識される場合、標準名に置き換えられます。たとえば、"ISO8859-2" は "iso-8859-2" になります。
このオプションが設定されている場合、ファイルの編集を開始した後、'modified' オプションが設定されます。これは、ファイルが書き込まれるときに変更されるためです。
modeline から 'fenc' を変更すると、テキストが読み込まれた後に行われることに注意してください。したがって、ファイルが書き込まれるときに適用されます。modeline で 'fenc' を設定する場合は、":q" で終了できなくなるのを避けるために 'nomodified' を設定するとよいでしょう。
'modifiable' がオフの場合、このオプションは変更できません。
'fileencodings' 'fencs' 'fileencodings' 'fencs' 文字列 (デフォルト "ucs-bom,utf-8,default,latin1") グローバル これは、既存のファイルの編集を開始する際に考慮される文字エンコーディングのリストです。ファイルを読み込む際、Vim は最初にリストされている文字エンコーディングを使用しようとします。エラーが検出された場合、リストの次のエンコーディングが試されます。動作するエンコーディングが見つかると、'fileencoding' がそのエンコーディングに設定されます。すべて失敗した場合、'fileencoding' は空の文字列に設定され、UTF-8 が使用されることを意味します。警告: 変換によって情報が失われる可能性があります!変換できない文字の処理方法を指定するには、++bad 引数を使用できます。空のファイルまたは ASCII 文字のみを含むファイルの場合、ほとんどのエンコーディングが機能し、'fileencodings' の最初のエントリが使用されます (BOM が存在する必要がある "ucs-bom" を除く)。別のエンコーディングを優先する場合は、BufReadPost 自動コマンドイベントを使用して、優先するエンコーディングを使用するかどうかをテストしてください。例
au BufReadPost * if search('\S', 'w') == 0 |
        \ set fenc=iso-2022-jp | endif
これは、ファイルに空白以外の文字が含まれていない場合に 'fileencoding' を "iso-2022-jp" に設定します。++enc 引数が使用されている場合、'fileencodings' の値は使用されません。'fileencodings' は新しいファイルには使用されず、代わりに 'fileencoding' のグローバル値が使用されることに注意してください。これは次のように設定できます。
setglobal fenc=iso-8859-2
これは、存在しないファイルが空のファイルとは異なるエンコーディングになる可能性があることを意味します。特別な値 "ucs-bom" を使用して、ファイルの先頭にある Unicode BOM (Byte Order Mark) を確認できます。これが正しく機能するためには、"utf-8" や別の Unicode エンコーディングが前にあってはなりません。8 ビットエンコーディング (例: "latin1") のエントリは、Vim がエラーを検出できないため、常に受け入れられるため、最後にする必要があります。特殊な値 "default" は、環境からのエンコーディングに使用できます。これは、環境がロシア語など、非 latin1 エンコーディングを使用している場合に便利です。ファイルに不正な UTF-8 バイトシーケンスが含まれている場合、"utf-8" として認識されません。不正なバイトシーケンスを見つけるには、8g8 コマンドを使用できます。間違った値: 何が間違っているか: latin1,utf-8 "latin1" が常に使用される utf-8,ucs-bom,latin1 BOM は utf-8 ファイルで認識されない cp1250,latin1 "cp1250" が常に使用される 'fileencodings' が空の場合、'fileencoding' は変更されません。可能な値については、'fileencoding' を参照してください。このオプションを設定しても、次にファイルを読み込むまで効果はありません。
'fileformat' 'ff' 'fileformat' 'ff' 文字列 (デフォルト Windows: "dos", Unix: "unix") バッファーローカル これは、現在のバッファーの <EOL> を示します。これは、ファイルからバッファーへ、またはバッファーからファイルへの読み書きに使用されます。 dos <CR><NL> unix <NL> mac <CR> "dos" が使用されている場合、ファイルの末尾にある CTRL-Z は無視されます。ファイル形式 および ファイル読み込み を参照してください。ファイルの文字エンコーディングについては、'fileencoding' を参照してください。'binary' が設定されている場合、'fileformat' の値は無視され、ファイル I/O は "unix" に設定されているかのように動作します。このオプションは、ファイルの編集を開始するとき、'fileformats' が空ではなく、'binary' がオフの場合に自動的に設定されます。このオプションが設定された後、ファイルの編集を開始すると、ファイルが書き込まれたときに異なる可能性があるため、'modified' オプションが設定されます。'modifiable' がオフの場合、このオプションは変更できません。
'fileformats' 'ffs' 'fileformats' 'ffs' 文字列 (デフォルト Windows: "dos,unix", Unix: "unix,dos") グローバル これは、新しいバッファーの編集を開始するとき、および既存のバッファーにファイルを読み込むときに試行される改行 (<EOL>) 形式を示します。
空の場合、常に 'fileformat' で定義された形式が使用されます。自動的に設定されることはありません。
1 つの名前が設定されている場合、新しいバッファーが開かれるたびにその形式が使用されます。'fileformat' は、そのバッファーに対して適切に設定されます。'fileformats' の名前は、ファイルの読み込み時に、そのバッファーに設定された 'fileformat' に関係なく使用されます。
コンマで区切られた複数の名前が存在する場合、ファイルの読み込み時に自動 <EOL> 検出が行われます。ファイルの編集を開始するときに、<EOL> のチェックが行われます。 1. すべての行が <CR><NL> で終わっており、'fileformats' に "dos" が含まれている場合、'fileformat' は "dos" に設定されます。 2. <NL> が見つかり、'fileformats' に "unix" が含まれている場合、'fileformat' は "unix" に設定されます。先行する <CR> なしで <NL> が見つかった場合、"dos" よりも "unix" が優先されることに注意してください。 3. 'fileformat' がまだ設定されておらず、<CR> が見つかり、'fileformats' に "mac" が含まれている場合、'fileformat' は "mac" に設定されます。これは、"mac" が選択されるのは、"unix" が存在しないか、ファイルに <NL> が見つからない場合、および "dos" が存在しないか、ファイルに <CR><NL> が見つからない場合のみであることを意味します。例外: "unix" が選択されたが、最初の <NL> の前に <CR> があり、最初の数行に <NL> よりも多くの <CR> があるように見える場合は、"mac" が使用されます。 4. 'fileformat' がまだ設定されていない場合は、'fileformats' の最初の名前が使用されます。ファイルを既存のバッファーに読み込む場合も同様の処理が行われますが、これは 'fileformat' がそのファイルに対してのみ適切に設定されたかのように発生し、オプションは変更されません。'binary' が設定されている場合、'fileformats' の値は使用されません。
Vim が空のバッファーで起動する場合、最初の項目が使用されます。これは、.vimrc で 'fileformat' を設定することで上書きできます。
Dos ライクな <EOL> (<CR><NL>) を持つシステムの場合、":source" されたファイルや vimrc ファイルの読み込み時に、自動 <EOL> 検出が行われる場合があります。
'fileformats' が空の場合、自動検出はありません。Dos 形式が使用されます。
'fileformats' が 1 つ以上の名前に設定されている場合、自動検出が行われます。これは、ファイルの最初の <NL> に基づいています。その前に <CR> がある場合は Dos 形式が使用され、それ以外の場合は Unix 形式が使用されます。ファイル形式 も参照してください。
'fileignorecase' 'fic' 'nofileignorecase' 'nofic' 'fileignorecase' 'fic' boolean (ファイル名の大文字と小文字が通常無視されるシステムではデフォルトでオン) グローバル 設定すると、ファイル名とディレクトリを使用するときに大文字と小文字が無視されます。補完を行うときにのみ大文字と小文字を無視する場合は、'wildignorecase' を参照してください。
'filetype' 'ft' 'filetype' 'ft' 文字列 (デフォルト "") バッファーローカル ローカル-グローバルではない このオプションが設定されると、FileType 自動コマンドイベントがトリガーされます。このオプションの値と一致するすべての自動コマンドが実行されます。したがって、'filetype' の値は、ファイル名の代わりに使用されます。そうでない場合、このオプションは常に現在のファイルタイプを反映しているとは限りません。このオプションは通常、ファイルタイプが検出されたときに設定されます。これを有効にするには、":filetype on" コマンドを使用します。 :filetype ファイルタイプが自動的に認識されないファイルの場合、モデルラインでこのオプションを別の値に設定するのが最も役立ちます。IDL ファイルの例
/* vim: set filetype=idl : */
FileType ファイルタイプ 値にドットが表示される場合、これは 2 つのファイルタイプ名を区切るため、ファイルタイプには使用しないでください。例
/* vim: set filetype=c.doxygen : */
これは、最初に "c" ファイルタイプ、次に "doxygen" ファイルタイプを使用します。これは、ファイルタイププラグインと構文ファイルの両方で機能します。複数のドットが表示される場合があります。このオプションは、'cpoptions' の 's' または 'S' フラグに関係なく、別のバッファーにはコピーされません。使用できるのは、英数字、'-' および '_' のみです。
'fillchars' 'fcs' 'fillchars' 'fcs' 文字列 (デフォルト "") グローバルまたはウィンドウローカル グローバル-ローカル ステータスライン、垂直区切り文字、およびウィンドウ内の特別な行を埋める文字。これは、コンマ区切りの項目のリストです。各項目には、名前、コロン、およびその項目の値があります: E1511
項目 デフォルト 使用目的
stl ' ' 現在のウィンドウのステータスライン stlnc ' ' 現在のウィンドウではないウィンドウのステータスライン wbr ' ' ウィンドウバー horiz '─' または '-' 水平区切り文字 :split horizup '┴' または '-' 上向きの水平区切り文字 horizdown '┬' または '-' 下向きの水平区切り文字 vert '│' または '|' 垂直区切り文字 :vsplit vertleft '┤' または '|' 左向きの垂直区切り文字 vertright '├' または '|' 右向きの垂直区切り文字 verthoriz '┼' または '+' 垂直および水平区切り文字の重複 fold '·' または '-' 'foldtext' を埋める foldopen '-' 折りたたみの開始をマークする foldclose '+' 閉じた折りたたみを表示する foldsep '│' または '|' 開いた折りたたみの真ん中のマーカー diff '-' 'diff' オプションで削除された行 msgsep ' ' メッセージ区切り文字 'display' eob '~' バッファーの末尾にある空の行 lastline '@' 'display' に lastline/truncate が含まれています
省略されたものはすべてデフォルトに戻ります。
"horiz"、"horizup"、"horizdown"、"vertleft"、"vertright"、および "verthoriz" は、'laststatus' が 3 の場合にのみ使用されます。それ以外の場合は、垂直ウィンドウ区切り文字のみが使用されるためです。
'ambiwidth' が "double" の場合、"horiz"、"horizup"、"horizdown"、"vert"、"vertleft"、"vertright"、"verthoriz"、"foldsep"、および "fold" は、デフォルトでシングルバイトの代替文字になります。
set fillchars=stl:\ ,stlnc:\ ,vert:│,fold:·,diff:-
"stl"、"stlnc"、"foldopen"、"foldclose"、および "foldsep" 項目については、シングルバイト文字とマルチバイト文字がサポートされています。ただし、ダブル幅文字はサポートされていません。E1512
これらの項目に使用される強調表示
項目 強調表示グループ
stl StatusLine hl-StatusLine stlnc StatusLineNC hl-StatusLineNC wbr WinBar hl-WinBar または hl-WinBarNC horiz WinSeparator hl-WinSeparator horizup WinSeparator hl-WinSeparator horizdown WinSeparator hl-WinSeparator vert WinSeparator hl-WinSeparator vertleft WinSeparator hl-WinSeparator vertright WinSeparator hl-WinSeparator verthoriz WinSeparator hl-WinSeparator fold Folded hl-Folded diff DiffDelete hl-DiffDelete eob EndOfBuffer hl-EndOfBuffer lastline NonText hl-NonText
'findfunc' 'ffu' E1514 'findfunc' 'ffu' 文字列 (デフォルト "") グローバルまたはバッファローカル global-local :find コマンドのファイル名を取得するために呼び出される関数。このオプションが空の場合、内部のファイル検索メカニズムが使用されます。
値は、関数名、lambda、またはFuncrefにすることができます。詳細については、option-value-functionを参照してください。
関数は2つの引数で呼び出されます。最初の引数は文字列で、:findコマンドの引数です。2番目の引数はブール値で、:findコマンドのコマンドライン補完の一致のリストを取得するために関数が呼び出されると、v:trueに設定されます。関数は文字列のリストを返す必要があります。
関数は、:findコマンドの呼び出しごとに1回だけ呼び出されます。関数は、'path'で指定されたすべてのディレクトリを処理できます。
一致が見つかった場合、関数は1つ以上のファイル名を含むリストを返す必要があります。一致が見つからなかった場合、関数は空のリストを返す必要があります。
関数の呼び出し中にエラーが発生した場合、空のリストが戻り値として使用されます。
'findfunc'textlockを実行中に、テキストを変更したり、別のウィンドウにジャンプしたりすることは許可されていません。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
例:
" Use glob()
func FindFuncGlob(cmdarg, cmdcomplete)
    let pat = a:cmdcomplete ? $'{a:cmdarg}*' : a:cmdarg
    return glob(pat, v:false, v:true)
endfunc
set findfunc=FindFuncGlob
" Use the 'git ls-files' output
func FindGitFiles(cmdarg, cmdcomplete)
    let fnames = systemlist('git ls-files')
    return fnames->filter('v:val =~? a:cmdarg')
endfunc
set findfunc=FindGitFiles
'fixendofline' 'fixeol' 'nofixendofline' 'nofixeol' 'fixendofline' 'fixeol' ブール値 (デフォルトはオン) バッファローカル ファイルを書き込むときにこのオプションがオンになっていると、ファイルの末尾に <EOL> がない場合、復元されます。元のファイルの状態を保持する場合は、このオプションをオフにしてください。'binary'オプションが設定されている場合、このオプションの値は関係ありません。'endofline'オプションを参照してください。設定例については、eol-and-eofを参照してください。
'foldclose' 'fcl' 'foldclose' 'fcl' 文字列 (デフォルト "") グローバル カーソルがフォールド内にない場合、かつそのレベルが'foldlevel'よりも高い場合に、"all"に設定すると、フォールドが閉じられます。フォールドから移動するときに、フォールドを自動的に閉じたい場合に便利です。
'foldcolumn' 'fdc' 'foldcolumn' 'fdc' 文字列 (デフォルトは "0") ウィンドウローカル フォールドカラムを描画するタイミングと方法。有効な値は次のとおりです。 "auto": 表示する最小限のフォールド数に合わせてサイズを変更します。 "auto:[1-9]": 選択したレベルまで、複数のフォールドを収容するようにサイズを変更します。"0": フォールドカラムを無効にします。"[1-9]": 固定数の列を表示します。foldingを参照してください。
'foldenable' 'fen' 'nofoldenable' 'nofen' 'foldenable' 'fen' ブール値 (デフォルトはオン) ウィンドウローカル オフの場合、すべてのフォールドが開いています。このオプションを使用すると、折りたたまれていないすべてのテキストを表示する場合と、(手動で開閉されたフォールドを含めて) フォールドでテキストを表示する場合をすばやく切り替えることができます。zi コマンドで切り替えることができます。'foldenable'がオフの場合、'foldcolumn'は空白のままになります。このオプションは、新しいフォールドを作成するか、フォールドを閉じるコマンドによって設定されます。foldingを参照してください。
'foldexpr' 'fde' 'foldexpr' 'fde' 文字列 (デフォルトは "0") ウィンドウローカル 'foldmethod'が "expr" の場合に使用される式。各行について評価され、そのフォールドレベルを取得します。コンテキストは、'foldexpr'が設定されたスクリプトに設定され、スクリプトローカルの項目にアクセスできます。使用法については、fold-exprを参照してください。
式は、modelineから設定された場合、サンドボックスで評価されます。sandbox-optionを参照してください。'diff'オプションがオンの場合、または'modelineexpr'オプションがオフの場合、このオプションをmodelineから設定することはできません。
'foldexpr'textlockを評価中に、テキストを変更したり、別のウィンドウにジャンプしたりすることは許可されていません。
'foldignore' 'fdi' 'foldignore' 'fdi' 文字列 (デフォルトは "#") ウィンドウローカル 'foldmethod'が "indent" の場合にのみ使用されます。'foldignore'の文字で始まる行は、周囲の行からフォールドレベルを取得します。この文字を確認する前に、空白がスキップされます。デフォルトの "#" は、C プログラムに適しています。fold-indentを参照してください。
'foldlevel' 'fdl' 'foldlevel' 'fdl' 数値 (デフォルトは 0) ウィンドウローカル フォールドレベルを設定します。レベルが高いフォールドは閉じられます。このオプションをゼロに設定すると、すべてのフォールドが閉じられます。数値が大きいほど、閉じるフォールドが少なくなります。このオプションは、zmzMzRなどのコマンドで設定されます。fold-foldlevelを参照してください。
'foldlevelstart' 'fdls' 'foldlevelstart' 'fdls' 数値 (デフォルトは -1) グローバル ウィンドウで別のバッファの編集を開始するときに、'foldlevel'を設定します。常にすべてのフォールドを閉じた状態 (値 0)、いくつかのフォールドを閉じた状態 (1)、またはフォールドを閉じていない状態 (99) で編集を開始する場合に便利です。これはmodelineを読み取る前に行われるため、modelineの設定はこのオプションよりも優先されます。diff-modeのファイルの編集を開始する場合も、このオプションは無視され、すべてのフォールドが閉じられます。また、BufReadPre自動コマンドの前にも行われるため、自動コマンドで特定のファイルの'foldlevel'値をオーバーライドできます。値が負の場合、使用されません。
'foldmarker' 'fmr' E536 'foldmarker' 'fmr' 文字列 (デフォルトは "{{{,}}}") ウィンドウローカル 'foldmethod'が "marker" の場合に使用される開始マーカーと終了マーカー。開始マーカーと終了マーカーを区切るために、カンマが1つ必要です。マーカーはリテラル文字列です (正規表現では遅すぎます)。fold-markerを参照してください。
'foldmethod' 'fdm' 'foldmethod' 'fdm' 文字列 (デフォルトは "manual") ウィンドウローカル 現在のウィンドウに使用されるフォールディングの種類。使用可能な値: fold-manual manual フォールドは手動で作成されます。 fold-indent indent 同じインデントを持つ行がフォールドを形成します。fold-expr expr 'foldexpr'が、行のフォールドレベルを与えます。fold-marker marker マーカーはフォールドを指定するために使用されます。fold-syntax syntax 構文ハイライトの項目がフォールドを指定します。fold-diff diff 変更されていないテキストをフォールドします。
'foldminlines' 'fml' 'foldminlines' 'fml' 数値 (デフォルトは 1) ウィンドウローカル フォールドを閉じて表示できる画面行数を設定します。手動で閉じたフォールドの場合も同様です。デフォルト値の 1 では、フォールドが 2 つ以上の画面行を占める場合にのみ閉じることができます。1 つの画面行のみのフォールドを閉じることができるようにするには、ゼロに設定します。これは表示されるものにのみ影響することに注意してください。'foldminlines'よりも小さいために開いた状態で表示されるフォールドを閉じるために "zc" を使用した後、次の "zc" で、包含フォールドを閉じることができます。
'foldnestmax' 'fdn' 'foldnestmax' 'fdn' 数値 (デフォルトは 20) ウィンドウローカル "indent" および "syntax" メソッドのフォールドの最大ネストを設定します。これにより、作成されるフォールドが多すぎるのを防ぎます。内部制限は20であるため、20を超える値を使用しても機能しません。
'foldopen' 'fdo' 'foldopen' 'fdo' 文字列 (デフォルトは "block,hor,mark,percent,quickfix,search,tag,undo") グローバル コマンドが閉じたフォールドにカーソルを移動した場合に、どのタイプのコマンドでフォールドが開かれるかを指定します。これは、コンマ区切りの項目のリストです。注: コマンドがマッピングの一部である場合、このオプションは使用されません。同じ効果を得るには、zvコマンドをマッピングに追加してください。(理由: マッピング自体がフォールドを開くのを制御したい場合があります)
項目のコマンド
all any block (, {, [[, [{, など。 hor 水平移動: "l"、"w"、"fx" など。 insert 挿入モードでのコマンド入力。 jump 遠くへのジャンプ: "G"、"gg" など。 mark マークへのジャンプ: "'m"、CTRL-O など。 percent "%" quickfix ":cn"、":crew"、":make" など。 search パターンの検索: "/"、"n"、"*"、"gd" など (":" コマンドでの検索パターンは除く)。[s および ]s でも同様です。 tag タグへのジャンプ: ":ta"、CTRL-T など。 undo アンドゥまたはリドゥ: "u" および CTRL-R。移動コマンドがオペレータ (例: "dl" や "y%") に使用される場合、このオプションは使用されません。つまり、オペレータは閉じられたフォールド全体を含めます。垂直移動はここには含まれていません。これは、閉じられたフォールドへの移動を非常に困難にするためです。挿入モードでは、カーソルを含むフォールドはテキストが挿入される際に常に開いています。フォールドを閉じるには、'foldlevel'zxコマンドで再適用するか、'foldclose'オプションを "all" に設定します。
'foldtext' 'fdt' 'foldtext' 'fdt' 文字列 (デフォルト: "foldtext()") ウィンドウローカル。閉じられたフォールドに表示されるテキストを指定するために使用される式。コンテキストは'foldexpr'が設定されたスクリプトに設定され、スクリプトローカルな項目にアクセスできます。使用法についてはfold-foldtextを参照してください。
モデルラインから設定された場合、式はsandboxで評価されます。sandbox-optionを参照してください。'modelineexpr'がオフの場合、このオプションをモデルラインで設定することはできません。
'foldtext'textlockを評価中にテキストを変更したり、別のウィンドウにジャンプすることは許可されていません。
空の文字列に設定した場合、foldtextは無効になり、行はハイライトと折り返しなしで通常どおり表示されます。
'formatexpr' 'fex' 'formatexpr' 'fex' 文字列 (デフォルト: "") バッファローカル。gqオペレータまたは自動フォーマット('formatoptions'を参照)のために、行範囲をフォーマットするために評価される式。このオプションが空の場合、'formatprg'が使用されます。
v:lnum変数は、フォーマットされる最初の行を保持します。v:count変数は、フォーマットされる行数を保持します。v:char変数は、式が自動フォーマットのために評価されている場合に挿入される文字を保持します。これは空の場合があります。まだ挿入しないでください!
set formatexpr=mylang#Format()
これにより、'runtimepath'のautoload/mylang.vimファイルにあるmylang#Format()関数が呼び出されます。autoload
引数なしで関数呼び出しを使用する利点は、それがより高速であることです。 expr-option-function を参照してください。
'textwidth'が設定され、その制限を超えてテキストを追加するときにも、式が評価されます。これは、内部フォーマットが使用される場合と同じ条件で発生します。カーソルがテキストに対して同じ場所に保持されていることを確認してください!この状況では、mode()関数は "i" または "R" を返します。
式がゼロ以外に評価された場合、Vimは内部フォーマットメカニズムの使用にフォールバックします。
式が s: または <SID> で始まる場合、それはスクリプトID (local-function) に置き換えられます。例
set formatexpr=s:MyFormatExpr()
set formatexpr=<SID>SomeFormatExpr()
それ以外の場合、式はオプションが設定されたスクリプトのコンテキストで評価されるため、スクリプトローカルな項目が使用可能です。
モデルラインから設定された場合、式はsandboxで評価されます。sandbox-optionを参照してください。バッファテキストの変更が許可されていないため、オプションが動作しなくなります。'modelineexpr'がオフの場合、このオプションをモデルラインで設定することはできません。注意: 'compatible'が設定されている場合、このオプションは "" に設定されます。
'formatlistpat' 'flp' 'formatlistpat' 'flp' 文字列 (デフォルト: "^\s*\d\+[\]:.)}\t ]\s*") バッファローカル。リストヘッダーを認識するために使用されるパターン。'formatoptions'の "n" フラグに使用されます。パターンは、その下の行のインデントとなるテキストに正確に一致する必要があります。より多くの文字を確認しながら、一致の終わりをマークするために/\zeを使用できます。パターンに続く文字が必要です。行全体に一致する場合、一致がない場合のように処理されます。デフォルトは、数字、オプションの句読点文字、および空白を認識します。
'formatoptions' 'fo' 'formatoptions' 'fo' 文字列 (デフォルト: "tcqj") バッファローカル。これは、自動フォーマットがどのように行われるかを記述する一連の文字です。可能な値についてはfo-tableを、テキストのフォーマット方法についてはgqを参照してください。読みやすくするためにコンマを挿入できます。将来追加されるフラグの問題を回避するには、":set" の "+=" および "-=" 機能を使用してください。add-option-flags
'formatprg' 'fp' 'formatprg' 'fp' 文字列 (デフォルト: "") グローバルまたはバッファローカル グローバルローカルgqオペレータで選択された行をフォーマットするために使用される外部プログラムの名前。プログラムはstdinで入力を受け取り、stdoutに出力を生成する必要があります。Unixプログラムの "fmt" がそのようなプログラムです。'formatexpr'オプションが空でない場合は、代わりにそれが使用されます。それ以外の場合、'formatprg'オプションが空の文字列である場合、内部フォーマット関数C-indentingが使用されます。環境変数は:set_envで展開されます。スペースとバックスラッシュの含め方については、option-backslashを参照してください。セキュリティ上の理由から、このオプションをモデルラインから、またはsandboxで設定することはできません。
'fsync' 'fs' 'nofsync' 'nofs' 'fsync' 'fs' boolean (デフォルト: on) グローバル。オンの場合、ファイルを保存した後(:writewritefile()、…)、スワップファイルアンドゥの永続性およびshadaファイルで、OS関数fsync()が呼び出されます。これにより、ファイルがディスクにフラッシュされ、安全に書き込まれることが保証されます。一部のシステムでは遅くなります: バッファの書き込み、Nvimの終了、その他の操作に数秒かかる場合があります。
ファイルは常にフラッシュされます('fsync'は無視されます)以下の状況の場合
CursorHoldイベントがトリガーされた場合
:preserveが呼び出された場合
システムがバッテリー残量低下のシグナルを送信した場合
Nvimが異常終了した場合
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'gdefault' 'gd' 'nogdefault' 'nogd' 'gdefault' 'gd' boolean (デフォルト: off) グローバル。オンの場合、":substitute" フラグ 'g' はデフォルトでオンになります。これは、1つではなく、行内のすべてのマッチが置換されることを意味します。":substitute" コマンドに 'g' フラグが指定された場合、これによりすべてのマッチの置換または1つのマッチの置換が切り替わります。complex-changeを参照してください。
コマンド 'gdefault' オン 'gdefault' オフ
:s/// すべて置換 1つ置換 :s///g 1つ置換 すべて置換 :s///gg すべて置換 1つ置換
注意: このオプションを設定すると、'g' フラグのデフォルトの動作に依存するプラグインが壊れる可能性があります。これにより、:s_gに記述されている動作とは逆の効果が 'g' フラグに与えられます。
'grepformat' 'gfm' 'grepformat' 'gfm' 文字列 (デフォルト: "%f:%l:%m,%f:%l%m,%f %l%m") グローバル。":grep" コマンドの出力を認識するためのフォーマット。これは、'errorformat'オプションと同じフォーマットを使用する、scanfのような文字列です。詳細はerrorformatを参照してください。
ripgrep ('grepprg') が利用可能な場合、このオプションはデフォルトで%f:%l:%c:%mになります。
'grepprg' 'gp' 'grepprg' 'gp' 文字列 (デフォルト: 下記参照) グローバルまたはバッファローカル グローバルローカル:grepコマンドに使用するプログラム。このオプションには、コマンドラインで使用される場合と同様に展開される '%' および '#' 文字を含めることができます。プレースホルダー "$*" を使用して、引数が含まれる場所を指定できます。環境変数は:set_envで展開されます。スペースとバックスラッシュの含め方については、option-backslashを参照してください。特別な値: 'grepprg'が "internal" に設定されている場合、:grepコマンドは:vimgrepのように動作し、:lgrep:lvimgrepのように動作し、:grepadd:vimgrepaddのように動作し、:lgrepadd:lvimgrepaddのように動作します。ほとんどのコメントが'grepprg'にも同様に適用されるため、:make_makeprgのセクションも参照してください。セキュリティ上の理由から、このオプションをモデルラインから、またはsandboxで設定することはできません。このオプションのデフォルトは以下です。
ripgrepが利用可能な場合(:checkhealth)、rg --vimgrep -uu
Unixではgrep -HIn $* /dev/null
Windowsではfindstr /n $* nul。Ripgrepは、.gitignoreルールを使用したり、隠しファイルをスキップしたりするなど、追加のフィルタリングを実行できます。これは、標準のgrepの動作により近い動作をさせるために、デフォルトでは無効になっています (-uオプションを参照)。ripgrepにVimの大文字と小文字の処理を一致させるには、-i/--ignore-case オプションと -S/--smart-case オプションを使用できます。OptionSet autocmdを使用して、自動的に一致するように設定できます。
'guicursor' 'gcr' E545 E546 E548 E549 'guicursor' 'gcr' 文字列 (デフォルト: "n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20") グローバル。各モードのカーソルスタイルを構成します。GUIおよび多くのターミナルで機能します。tui-cursor-shapeを参照してください。
カーソルスタイリングを無効にするには、オプションをリセットしてください
set guicursor=
モード形状、「Cursor」ハイライト、点滅を有効にするには
set guicursor=n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50
  \,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor
  \,sm:block-blinkwait175-blinkoff150-blinkon175
このオプションは、カンマで区切られたパーツのリストです。各パーツは、モードリストと引数リストで構成されます:mode-list:argument-list,mode-list:argument-list,.. モードリストは、次のモードをダッシュで区切ったリストです:n 通常モード v ビジュアルモード ve '選択範囲'が「排他的」なビジュアルモード(指定がない場合は'v'と同じ) o オペレータ待ちモード i 挿入モード r 置換モード c コマンドライン通常(追加)モード ci コマンドライン挿入モード cr コマンドライン置換モード sm 挿入モードでのshowmatch a 全てのモード 引数リストは、次の引数をダッシュで区切ったリストです:hor{N} 水平バー、文字高さの{N}パーセント ver{N} 垂直バー、文字幅の{N}パーセント block ブロックカーソル、文字全体を塗りつぶす
上記の3つのうち1つだけが存在する必要があります。
デフォルトは各モードで"block"です。 blinkwait{N} カーソル点滅
blinkon{N} blinkoff{N} カーソルの点滅時間:blinkwaitはカーソルが点滅を開始するまでの遅延時間、blinkonはカーソルが表示される時間、blinkoffはカーソルが表示されない時間です。時間はミリ秒単位です。いずれかの数値がゼロの場合、点滅はありません。例:
set guicursor=n:blinkon0
デフォルトは各モードで"blinkon0"です。 {group-name} カーソルの色とフォントを決定するハイライトグループ。TUIでは
反転/リバースおよびグループ名なしは、「ホスト端末のデフォルトのカーソル色」として解釈されます。これは通常、「反転した背景色と前景色」を意味します。
ctermfgguifgは無視されます。 {group-name}/{group-name} 2つのハイライトグループ名。1つ目は言語マッピングが使用されていない場合に使用され、もう1つは使用されている場合に使用されます。言語マッピング
パーツの例:n-c-v:block-nCursor 通常、コマンドライン、ビジュアルモードで、"nCursor"ハイライトグループの色でブロックカーソルを使用 n-v-c-sm:block,i-ci-ve:ver25-Cursor,r-cr-o:hor20 通常などのモードでは、ホスト端末で定義されたデフォルト色でブロックカーソルを使用。挿入モードのようなモードでは、"Cursor"ハイライトグループの色で垂直バーカーソルを使用。置換モードのようなモードでは、デフォルトの色で下線カーソルを使用。i-ci:ver30-iCursor-blinkwait300-blinkon200-blinkoff150 挿入およびコマンドライン挿入モードでは、"iCursor"ハイライトグループの色で30%の垂直バーカーソルを使用。少し速く点滅します。
'a'モードは異なります。すべてのモードに指定された引数リストを設定します。デフォルトには何もリセットしません。これは、すべてのモードに共通の設定を行うために使用できます。たとえば、点滅をオフにするには:"a:blinkon0"
カーソルのハイライトの例
highlight Cursor gui=reverse guifg=NONE guibg=NONE
highlight Cursor gui=NONE guifg=bg guibg=fg
'guifont' 'gfn' E235 E596 'guifont' 'gfn' 文字列(デフォルト "")グローバル これは、VimのGUIバージョンで使用されるフォントのリストです。最も単純な形式では、値は1つのフォント名のみです。フォントが見つからない場合は、エラーメッセージが表示されます。他のフォント名を試すには、カンマで区切られたフォント名のリストを指定できます。最初の有効なフォントが使用されます。
カンマの後のスペースは無視されます。フォント名にカンマを含めるには、バックスラッシュを前に付けます。オプションの設定には、スペースとバックスラッシュの前に追加のバックスラッシュが必要です。option-backslashも参照してください。例
set guifont=Screen15,\ 7x13,font\\,with\\,commas
Vimは最初に"Screen15"フォントを使用しようとし、失敗した場合は"7x13"、次に"font,with,commas"を使用しようとします。
フォントをロードできない場合、Vimは現在の設定を保持します。空のフォントリストが指定された場合、Vimは他のリソース設定を使用しようとし(Xの場合は、Vim.fontリソースを使用します)、最後に常に存在する必要がある組み込みのデフォルト(Xの場合は"7x13")を試みます。指定されたフォント名は「通常」のフォントである必要があります。Vimは、関連する太字およびイタリック体のフォントを見つけようとします。
Win32およびMac OSの場合
set guifont=*
フォントリクエスタが表示され、目的のフォントを選択できます。
フォント名は、使用されるGUIによって異なります。
Mac OSXでは、次のようなものを使用できます。
set guifont=Monaco:h10
E236
フォントは等幅である必要があります(すべての文字の幅が同じ)。
X11でフォントをプレビューするには、"xfontsel"プログラムを使用できる場合があります。"xlsfonts"プログラムは、利用可能なすべてのフォントのリストを提供します。
Win32 GUIの場合 E244 E245
フォント名で次のオプションを使用できます:hXX - 高さXX(ポイント、浮動小数点も可) wXX - 幅XX(ポイント、浮動小数点も可) b - 太字 i - イタリック体 u - 下線 s - 取り消し線 cXX - 文字セットXX。有効な文字セットは、ANSI、ARABIC、BALTIC、CHINESEBIG5、DEFAULT、EASTEUROPE、GB2312、GREEK、HANGEUL、HEBREW、JOHAB、MAC、OEM、RUSSIAN、SHIFTJIS、SYMBOL、THAI、TURKISH、VIETNAMESE ANSIおよびBALTICです。通常は"cDEFAULT"を使用します。
オプションを区切るには':'を使用します。
スペースの代わりに'_'を使用できるため、スペースをエスケープするためにバックスラッシュを使用する必要はありません。
例:
set guifont=courier_new:h12:w5:b:cRUSSIAN
set guifont=Andale_Mono:h7.5:w4.5
'guifontwide' 'gfw' E231 E533 E534 'guifontwide' 'gfw' 文字列(デフォルト "")グローバル 倍角文字に使用するフォントのカンマ区切りリスト。ロードできる最初のフォントが使用されます。注意:これらのフォントのサイズは、'guifont'で指定されたフォントの幅のちょうど2倍で、同じ高さである必要があります。
'guifont'に有効なフォントがあり、'guifontwide'が空の場合、Vimは'guifontwide'を一致する倍角フォントに設定しようとします。
'helpfile' 'hf' 'helpfile' 'hf' 文字列(デフォルト(MS-Windows)"$VIMRUNTIME\doc\help.txt"(その他)"$VIMRUNTIME/doc/help.txt")グローバル メインヘルプファイルの名前。配布されたすべてのヘルプファイルは、1つのディレクトリにまとめて配置する必要があります。さらに、'runtimepath'のすべての「doc」ディレクトリが使用されます。環境変数は:set_envで展開されます。例:"$VIMRUNTIME/doc/help.txt"。$VIMRUNTIMEが設定されていない場合は、$VIMも試されます。$VIMRUNTIMEおよびスペースとバックスラッシュを含めることに関するoption-backslashも参照してください。セキュリティ上の理由から、このオプションはモデル行またはサンドボックスからは設定できません。
'helpheight' 'hh' 'helpheight' 'hh' 数値(デフォルト20)グローバル ":help"コマンドでヘルプウィンドウが開かれたときの最小初期高さ。ヘルプウィンドウの初期高さは、現在のウィンドウの半分、または('ea'オプションがオンの場合)他のウィンドウと同じです。高さが'helpheight'より小さい場合、高さは'helpheight'に設定されます。無効にするにはゼロに設定します。
'helplang' 'hlg' 'helplang' 'hlg' 文字列(デフォルトはメッセージ言語または空)グローバル カンマ区切りの言語リスト。Vimは、必要なヘルプが見つかる最初の言語を使用します。英語のヘルプは、常に最後の手段として使用されます。「en」を追加して、他の言語よりも英語を優先できますが、これにより、英語のヘルプには存在しないが、その言語には存在するタグのみが検索されます。例
set helplang=de,it
これにより、最初にドイツ語、次にイタリア語、最後に英語のヘルプファイルが検索されます。CTRL-]および非英語のヘルプファイルで":help!"を使用すると、Vimはこのオプションを使用する前に現在の言語でタグを見つけようとします。help-translatedを参照してください。
'hidden' 'hid' 'nohidden' 'nohid' 'hidden' 'hid' ブール値(デフォルトはオン)グローバル オフの場合、バッファが放棄されると(アンドゥ情報を含む)アンロードされます。オンの場合、バッファは放棄されると非表示になります。別のウィンドウに表示されているバッファは、もちろん非表示になりません。
バッファリストを移動するコマンドは、'hidden'オプションがオフの場合でも、次の3つがすべて真の場合にバッファを非表示にする場合があります。
バッファが変更されている
'autowrite'がオフであるか、書き込みが不可能である
'!'フラグが使用されたウィンドウも参照してください。
特定のバッファを非表示にするには、'bufhidden'オプションを使用します。'hidden'は、":hide {command}" :hideで1つのコマンドに対して設定されます。
'history' 'hi' 'history' 'hi' 数値(デフォルト10000)グローバル ":"コマンドの履歴、および以前の検索パターンの履歴が記憶されます。このオプションは、これらの履歴にそれぞれ格納できるエントリの数を決定します(cmdline-editingを参照)。最大値は10000です。
'hlsearch' 'hls' 'nohlsearch' 'nohls' 'hlsearch' 'hls' ブール値(デフォルトはオン)グローバル 以前の検索パターンがある場合、その一致箇所をすべて強調表示します。hl-Searchハイライトグループは、カーソルの下にある一致箇所以外のすべての一致箇所の強調表示を決定し、hl-CurSearchハイライトグループ(定義されている場合)は、カーソルの下にある一致箇所の強調表示を決定します。hl-CurSearchが定義されていない場合、hl-Searchが両方で使用されます。一致するテキストのみが強調表示され、オフセットは適用されないことに注意してください。'incsearch'および:matchも参照してください。強調表示された一致箇所を見るのに飽きたら、:nohlsearchでオフにできます。これはオプション値を変更しません。検索コマンドを使用するとすぐに強調表示が戻ります。'redrawtime'は、一致箇所を見つけるのに費やす最大時間を指定します。検索パターンが行末と一致できる場合、Vimは一致したテキスト全体を強調表示しようとします。ただし、これは検索が開始される場所によって異なります。これはウィンドウの最初の行、または閉じられた折り畳みの下の最初の行になります。描画されていない前の行の一致は、新しく描画された行に続かない場合があります。強調表示の状態が'shada'の'h'フラグで起動時に復元されるかどうかを指定できます。shada-h
'icon' 'noicon' 'icon' ブール値(デフォルトはオフ、タイトルを復元できる場合はオン)グローバル オンの場合、ウィンドウのアイコンテキストは'iconstring'の値(空でない場合)、または現在編集中のファイルの名前に設定されます。名前の最後の部分のみが使用されます。'iconstring'オプションによって上書きされます。端末がウィンドウアイコンの設定をサポートしている場合にのみ機能します。
'iconstring'
'iconstring' 文字列 (デフォルト "") グローバル このオプションが空でない場合、ウィンドウのアイコンテキストとして使用されます。これは、'icon' オプションがオンの場合にのみ発生します。ターミナルがウィンドウアイコンテキストの設定をサポートしている場合にのみ機能します。このオプションに printf 形式の '%' アイテムが含まれている場合、'statusline' に使用されるルールに従って展開されます。設定例については、'titlestring' を参照してください。このオプションは、'modelineexpr' がオフの場合、modeline で設定することはできません。
'ignorecase' 'ic' 'noignorecase' 'noic' 'ignorecase' 'ic' 真偽値 (デフォルト オフ) グローバル 検索パターン、コマンドライン補完、タグファイルでの検索、および expr-== で大文字と小文字を区別しないようにします。また、'smartcase' および 'tagcase' も参照してください。パターン内で "\c" または "\C" を使用すると、この設定を上書きできます。詳細は /ignorecase を参照してください。
'iminsert' 'imi' 'iminsert' 'imi' 数値 (デフォルト 0) バッファローカル Insert モードで :lmap または Input Method (IM) を使用するかどうかを指定します。有効な値は次のとおりです。0 :lmap はオフで、IM もオフ 1 :lmap はオンで、IM はオフ 2 :lmap はオフで、IM はオン Insert モードを <Esc> で終了するときに、オプションを常にゼロにリセットするには、以下を使用できます。
inoremap <ESC> <ESC>:set iminsert=0<CR>
これにより、Insert モードを終了すると、:lmap と IM が自動的にオフになります。Insert モードで CTRL-^ を使用すると、このオプションが変更されることに注意してください i_CTRL-^'keymap' を有効なキーマップ名に設定すると、値が 1 に設定されます。また、「r」や「f」などのコマンドの引数にも使用されます。
'imsearch' 'ims' 'imsearch' 'ims' 数値 (デフォルト -1) バッファローカル 検索パターンを入力するときに :lmap または Input Method (IM) を使用するかどうかを指定します。有効な値は次のとおりです。-1 'iminsert' の値が使用され、検索パターンを入力するときにも 'iminsert' が使用されているように見えます 0 :lmap はオフで、IM もオフ 1 :lmap はオンで、IM はオフ 2 :lmap はオフで、IM はオン コマンドラインモードで CTRL-^ を使用すると、このオプションが変更されることに注意してください c_CTRL-^。 -1 でない場合、'keymap' オプションを有効なキーマップ名に設定すると、値が 1 に設定されます。
'inccommand' 'icm' 'inccommand' 'icm' 文字列 (デフォルト "nosplit") グローバル 空でない場合、:substitute:smagic:snomagic および :command-preview フラグ付きのユーザーコマンドの効果を入力時に表示します。
可能な値: nosplit コマンドの効果をバッファ内で段階的に表示します。 split 「nosplit」と同様ですが、画面外の部分的な結果をプレビューウィンドウにも表示します。
組み込みコマンドのプレビューが遅すぎる場合 ( 'redrawtime' を超える場合)、コマンドラインモード が完了するまで 'inccommand' は自動的に無効になります。
'include' 'inc' 'include' 'inc' 文字列 (デフォルト "") グローバルまたはバッファローカル グローバルローカル include コマンドを検索するために使用されるパターン。これは、「/」コマンドと同様の検索パターンです (pattern を参照)。このオプションは、コマンド "[i"、"]I"、"[d" などに使用されます。通常、一致したパターンの後に出現するファイル名を認識するために 'isfname' オプションが使用されます。ただし、パターンに "\zs" が出現する場合は、"\zs" から末尾まで、または "\ze" が出現する場合は "\ze" までのテキストがファイル名として使用されます。これにより、スペースなど、'isfname' に含まれていない文字を含めることができます。次に、'includeexpr' を使用して、一致したテキストを処理できます。スペースとバックスラッシュの含め方については、option-backslash を参照してください。
'includeexpr' 'inex' 'includeexpr' 'inex' 文字列 (デフォルト "") バッファローカル 'include' オプションで検出された文字列をファイル名に変換するために使用される式。主に Java の "." を "/" に変更する場合に役立ちます。
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
"v:fname" 変数は、検出されたファイル名に設定されます。二重バックスラッシュに注意してください。:set コマンドは最初にそれらを半分にし、次に値に 1 つ残ります。そこで "\." はドットを文字通り一致させます。単純な文字置換の場合、tr() を使用するとエスケープする必要がなくなります。
setlocal includeexpr=tr(v:fname,'.','/')
また、変更されていないファイル名が見つからない場合、gf コマンドにも使用されます。これにより、'include' ステートメントの後の名前に対して「gf」を実行できます。また、<cfile> にも使用されます。
式が s: または <SID> で始まる場合、それはスクリプトID (local-function) に置き換えられます。例
setlocal includeexpr=s:MyIncludeExpr()
setlocal includeexpr=<SID>SomeIncludeExpr()
それ以外の場合、式はオプションが設定されたスクリプトのコンテキストで評価されるため、スクリプトローカルな項目が使用可能です。
値が引数のない関数呼び出しのみの場合、より効率的です。expr-option-function を参照してください。
modeline から設定した場合、式は サンドボックス で評価されます。sandbox-option を参照してください。このオプションは、'modelineexpr' がオフの場合、modeline で設定することはできません。
'includeexpr' textlock の評価中にテキストを変更したり、別のウィンドウにジャンプしたりすることは許可されていません。
'incsearch' 'is' 'noincsearch' 'nois' 'incsearch' 'is' 真偽値 (デフォルト オン) グローバル 検索コマンドを入力している間、入力されたパターンが一致する場所を表示します。一致した文字列が強調表示されます。パターンが無効な場合、または見つからない場合は、何も表示されません。画面は頻繁に更新されるため、高速なターミナルでのみ役立ちます。一致が表示されますが、一致が見つからなかった場合、および <Esc> を押すと、カーソルは元の位置に戻ることに注意してください。カーソルを一致した場所に移動するには、<Enter> で検索コマンドを完了する必要があります。CTRL-G キーと CTRL-T キーを使用して、次の一致と前の一致に移動できます。c_CTRL-G c_CTRL-T Vim は約 0.5 秒間のみ検索します。複雑なパターンや大量のテキストがある場合、一致が見つからない可能性があります。これは、パターンを入力中に Vim がハングアップするのを防ぐためです。hl-IncSearch ハイライトグループは、ハイライトを決定します。'hlsearch' がオンの場合、検索コマンドを入力している間、一致したすべての文字列も強調表示されます。こちらも参照してください: 'hlsearch''hlsearch' をオンにしたくないが、検索中にすべての一致を強調表示したい場合は、autocmd で 'hlsearch' をオン/オフにできます。例
augroup vimrc-incsearch-highlight
  autocmd!
  autocmd CmdlineEnter /,\? :set hlsearch
  autocmd CmdlineLeave /,\? :set nohlsearch
augroup END
CTRL-L を使用して、現在の一致の後からコマンドラインに 1 文字を追加できます。'ignorecase''smartcase' が設定されていて、コマンドラインに大文字が含まれていない場合、追加された文字は小文字に変換されます。CTRL-R CTRL-W を使用して、既に入力された文字を除き、現在の一致の末尾にある単語を追加できます。
'indentexpr' 'inde' 'indentexpr' 'inde' 文字列 (デフォルト "") バッファローカル 行の適切なインデントを取得するために評価される式。新しい行が作成されたとき、= 演算子の場合、および 'indentkeys' オプションで指定された Insert モードで使用されます。このオプションが空でない場合、'cindent' および 'smartindent' インデントをオーバーライドします。'lisp' が設定されている場合、このオプションは 'lispoptions' に "expr:1" が含まれている場合にのみ使用されます。式は、インデントを計算する行番号に設定された v:lnum で評価されます。式が評価されるとき、カーソルもこの行にあります (ただし、移動する可能性があります)。
式が s: または <SID> で始まる場合、それはスクリプトID (local-function) に置き換えられます。例
set indentexpr=s:MyIndentExpr()
set indentexpr=<SID>SomeIndentExpr()
それ以外の場合、式はオプションが設定されたスクリプトのコンテキストで評価されるため、スクリプトローカルな項目が使用可能です。
引数なしで関数呼び出しを使用する利点は、それがより高速であることです。 expr-option-function を参照してください。
式は、インデントのスペース数を返す必要があります。現在のインデントを維持するために "-1" を返すことができます (これは、インデントに 'autoindent' が使用されていることを意味します)。インデントの計算に役立つ関数は、indent()cindent() および lispindent() です。式の評価には副作用があってはなりません。テキストを変更したり、別のウィンドウにジャンプしたりしてはなりません。その後、カーソルの位置は常に復元されるため、カーソルを移動できます。通常、このオプションは関数を呼び出すように設定されます。
set indentexpr=GetMyIndent()
'debug' オプションに "msg" が含まれていない限り、エラーメッセージは抑制されます。indent-expression を参照してください。
modeline から設定した場合、式は サンドボックス で評価されます。sandbox-option を参照してください。このオプションは、'modelineexpr' がオフの場合、modeline で設定することはできません。
'indentexpr' textlock の評価中にテキストを変更したり、別のウィンドウにジャンプしたりすることは許可されていません。
'indentkeys' 'indk' 'indentkeys' 'indk' 文字列 (デフォルト "0{,0},0),0],:,0#,!^F,o,O,e") バッファローカル Insert モードで入力したときに、現在の行の再インデントを引き起こすキーのリスト。'indentexpr' が空でない場合にのみ発生します。形式は 'cinkeys' と同じです。 indentkeys-format を参照してください。C-indenting および indent-expression を参照してください。
'infercase' 'inf' 'noinfercase' 'noinf' 'infercase' 'inf' 真偽値 (デフォルト オフ) バッファローカル Insert モードでキーワード補完 ins-completion を実行し、'ignorecase' もオンになっている場合、一致の大文字と小文字は入力されたテキストに応じて調整されます。入力されたテキストに、一致に大文字がある場合に小文字が含まれている場合、補完された部分は小文字になります。入力されたテキストに小文字がなく、一致に小文字があり、入力されたテキストに大文字がある場合に、その前に文字がある場合、補完された部分は、大文字になります。 'noinfercase' の場合、一致はそのまま使用されます。
'isfname' 'isf' 'isfname' 'isf' 文字列 (Windows のデフォルト: "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],@-@,!,~,=" それ以外の場合: "@,48-57,/,.,-,_,+,,,#,$,%,~,=") グローバル このオプションで指定された文字は、ファイル名とパス名に含まれます。ファイル名は、「gf」、「[i」などのコマンドや、タグファイルで使用されます。また、パターンの "\f" にも使用されます。マルチバイト文字 256 以上は常に含まれ、255 までの文字のみがこのオプションで指定されます。UTF-8 の場合、0xa0 から 0xff の文字も含まれます。このオプションに空白を追加する前によく考えてください。空白がファイル名の中に表示される場合もありますが、補完を行うときに Vim がファイル名の開始または終了位置を認識しないという効果があります。おそらく、'isfname' に空白を含めない方がうまく機能します。
パス区切り文字としてバックスラッシュを使用するシステムでは、Vimは期待どおりに動作するように最善を尽くすことに注意してください。Viはもともと特殊文字をエスケープするためにバックスラッシュを使用していたため、これは少しトリッキーです。Vimは、これらのシステムでは通常のファイル名文字の前にあるバックスラッシュを削除しませんが、Unixなどでは削除します。'&'と'^'はcmd.exeでは特殊であるため、デフォルトでは含まれていません。
このオプションの形式は、コンマで区切られた部分のリストです。各部分は、単一の文字番号または範囲にすることができます。範囲は、2つの文字番号を '-' で区切ったものです。文字番号は、0〜255の10進数、またはASCII文字自体(数字では機能しません)にすることができます。例: "_,-,128-140,#-43" ('_'、'-'、範囲128〜140、および'#'〜43を含む) 部分が '^' で始まる場合、後続の文字番号または範囲はオプションから除外されます。オプションは左から右に解釈されます。除外された文字は、それが含まれる範囲の後ろに置きます。'^' 自体を含めるには、オプションの最後の文字または範囲の終わりとして使用します。例: "^a-z,#,^" ('a'〜'z'を除外し、'#'と'^'を含む) 文字が '@' の場合、isalpha()がTRUEを返す文字すべてが含まれます。通常、これらはa〜zおよびA〜Zの文字と、アクセント付き文字です。'@'自体を含めるには、"@-@" を使用します。例: "@,^a-z" すべてのアルファベット文字。ただし、小文字のASCII文字は除外されます。"a-z,A-Z,@-@" すべての文字と'@'文字。コンマは、文字番号が期待される場所で使用することで含めることができます。例: "48-57,,,_" 数字、コンマ、アンダースコア。コンマは、'^' を前に付けることで除外できます。例: " -~,^,,9" スペースから'〜'までのすべての文字。ただし、コンマは除外し、<Tab> を含みます。スペースとバックスラッシュの含め方については、option-backslashを参照してください。
'isident' 'isi' 'isident' 'isi' string (Windowsのデフォルト: "@,48-57,_,128-167,224-235" その他: "@,48-57,_,192-255") global このオプションで指定された文字は、識別子に含まれます。識別子は、環境変数の認識や、'define'オプションの一致後に使用されます。また、パターン内の "\i" にも使用されます。このオプションの形式の説明については、'isfname'を参照してください。'@'の場合は、最大255までの文字のみが使用されます。注意:このオプションを変更すると、環境変数の展開が中断される可能性があります。たとえば、'/'が含まれていて、Vimが "$HOME/.local/state/nvim/shada/main.shada" を展開しようとする場合です。代わりに、'iskeyword'を変更することを検討してください。
'iskeyword' 'isk' 'iskeyword' 'isk' string (デフォルト "@,48-57,_,192-255") local to buffer キーワードは、多くのコマンド ("w", "*", "[i" など) での検索と認識に使用されます。また、パターン内の "\k" にも使用されます。このオプションの形式の説明については、'isfname'を参照してください。'@'の場合、255を超える文字については、"word" 文字クラス(空白または句読点ではない任意の文字)を確認してください。Cプログラムの場合は、"a-z,A-Z,48-57,_,.,-,>" を使用できます。ヘルプファイルの場合、"*"、'"'、'|'を除く、印刷可能な空白以外のすべての文字に設定されます(これにより、コマンドのCTRL-]でそのコマンドのヘルプが見つかります)。'lisp' オプションがオンの場合、'-' 文字は常に含まれます。このオプションは、構文が :syn-iskeyword を使用していない限り、構文の強調表示にも影響します。
'isprint' 'isp' 'isprint' 'isp' string (デフォルト "@,161-255") global このオプションで指定された文字は、画面に直接表示されます。また、パターン内の "\p" にも使用されます。スペース(ASCII 32)から'〜'(ASCII 126)までの文字は、'isprint'に含まれていない場合や除外されている場合でも、常に直接表示されます。このオプションの形式の説明については、'isfname'を参照してください。
印刷不可能な文字は、2つの文字で表示されます。0 - 31 "^@" - "^_" 32 - 126 常に単一文字 127 "^?" 128 - 159 "~@" - "~_" 160 - 254 "| " - "|~" 255 "~?" 128から255までの不正なバイト(無効なUTF-8)は、バイトの16進数値を指定した <xx> として表示されます。'display' に "uhex" が含まれている場合、すべての印刷不可能な文字は <xx> として表示されます。印刷不可能な文字には、SpecialKey の強調表示が使用されます。 hl-SpecialKey
256以上のマルチバイト文字は常に含まれており、このオプションで指定されるのは最大255までの文字のみです。文字が印刷可能であっても、現在のフォントで利用できない場合は、代替文字が表示されます。印刷不可能で幅がゼロのUnicode文字は、 <xxxx> として表示されます。これらの文字を指定するためのオプションはありません。
'joinspaces' 'js' 'nojoinspaces' 'nojs' 'joinspaces' 'js' boolean (デフォルト off) global join コマンドで '.'、'?'、'!' の後に2つのスペースを挿入します。それ以外の場合は、1つのスペースのみが挿入されます。
'jumpoptions' 'jop' 'jumpoptions' 'jop' string (デフォルト "clean") global ジャンプリストの動作を変更する単語のリスト。stack ジャンプリストをタグスタックのように動作させます。ジャンプリスト内のエントリの相対位置は、ジャンプリスト内を後方に移動してから別の場所にジャンプするときに後続のエントリを破棄するという犠牲を払って保持されます。 jumplist-stack
view ジャンプリスト、変更リスト代替ファイル内を移動するとき、または マーク移動を使用するときに、アクションが発生した マークビューを復元しようとします。
clean ジャンプリストからアンロードされたバッファを削除します。実験的:このフラグは将来変更される可能性があります。
'keymap' 'kmp' 'keymap' 'kmp' string (デフォルト "") local to buffer キーボードマッピングの名前。mbyte-keymapを参照してください。このオプションを有効なキーマップ名に設定すると、'iminsert' が1に設定され、キーマップが有効になります。'imsearch' も1に設定されます。ただし、-1の場合は設定されません。英数字、'.'、'-'、'_' のみが使用できます。
'keymodel' 'km' 'keymodel' 'km' string (デフォルト "") global キーが実行できる特別なことを有効にする、コンマ区切りの単語のリスト。使用できる値は次のとおりです。startsel シフトされた特殊キーを使用すると、選択が開始されます('selectmode' に "key" が存在するかどうかに応じて、選択モードまたはビジュアルモード)。stopsel シフトされていない特殊キーを使用すると、選択が停止します。このコンテキストでの特殊キーは、カーソルキー、<End><Home><PageUp><PageDown> です。
'keywordprg' 'kp' 'keywordprg' 'kp' string (デフォルト ":Man", Windows: ":help") global または local to buffer global-local K コマンドに使用するプログラム。環境変数は、:set_env で展開されます。Vim内部ヘルプにアクセスするために ":help" を使用できます。(以前は、グローバルオプションを空の値に設定するとこれが実行されていましたが、現在では非推奨になっていることに注意してください。)最初の文字が ":" の場合、コマンドは [count] が前に付いた Vim Ex コマンドとして呼び出されます。"man" または "man -s" が使用されている場合、Vimは "K" コマンドの [count] をセクション番号に自動的に変換します。スペースとバックスラッシュの含め方については、option-backslashを参照してください。例
set keywordprg=man\ -s
set keywordprg=:Man
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'langmap' 'lmap' E357 E358 'langmap' 'lmap' string (デフォルト "") global このオプションを使用すると、キーボードを特別な言語モードに切り替えることができます。挿入モードでテキストを入力すると、文字が直接挿入されます。ノーマルモードでは、'langmap' オプションは、これらの特殊文字をキーの元の意味に変換します。これは、ノーマルモードのコマンドを実行するためにキーボードモードを変更する必要がないことを意味します。これは、挿入モードで文字がマッピングされる 'keymap' オプションとは逆です。また、'langmap' がマッピングの結果として得られた文字に適用されないように、'langremap' をoffに設定することも検討してください。セキュリティ上の理由から、このオプションは モデル行または サンドボックスからは設定できません。
例(ギリシャ語、UTF-8の場合):greek
set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
例(コマンドのzとyの意味を交換)
set langmap=zy,yz,ZY,YZ
'langmap' オプションは、コンマで区切られた部分のリストです。各部分は、次の2つの形式のいずれかになります。1. ペアのリスト。"from" 文字の直後に "to" 文字が続くペア。例: "aA", "aAbBcC"。2. "from" 文字のリスト、セミコロン、および "to" 文字のリスト。例: "abc;ABC" 例: "aA,fgh;FGH,cCdDeE" 特殊文字には、バックスラッシュを前に付ける必要があります。これらは ";", ',', '"', '|'、およびバックスラッシュ自体です。
これにより、言語を切り替えることなくvimアクションをアクティブにすることができます。言語文字は、次のケースでは通常のvim英語文字として(langmapマッピングに従って)認識されます。o ノーマル/ビジュアルモード(コマンド、バッファ/レジスタ名、ユーザーマッピング)o 挿入/置換モード:CTRL-R後のレジスタ名 o 挿入/置換モード:マッピング コマンドラインモードで入力された文字は、このオプションの影響を受けません。このオプションは、いつでも変更して、異なる言語/エンコーディングのマッピングを切り替えることができることに注意してください。毎回入力しなくても済むように、マッピングを使用してください!
'langmenu' 'lm' 'langmenu' 'lm' string (デフォルト "") global メニュー翻訳に使用する言語。'runtimepath' の "lang" ディレクトリからどのファイルがロードされるかを指定します
"lang/menu_" .. &langmenu .. ".vim"
(スペースなし)。たとえば、常にオランダ語のメニューを使用するには、 $LANG が何に設定されていても
set langmenu=nl_NL.ISO_8859-1
'langmenu' が空の場合、v:lang が使用されます。通常のファイル名文字のみを使用でき、/\*?[|<> は無効です。$LANG が英語以外の言語に設定されていても、英語のメニューを使用したい場合
set langmenu=none
このオプションは、メニューのロード、ファイルタイプ検出または構文の強調表示をオンにする前に設定する必要があります。メニューが定義されると、このオプションを設定しても効果はありません。ただし、次のようにすることができます。
source $VIMRUNTIME/delmenu.vim
set langmenu=de_DE.ISO_8859-1
source $VIMRUNTIME/menu.vim
警告: これにより、自分で定義したすべてのメニューが削除されます!
'langremap' 'lrm' 'nolangremap' 'nolrm' 'langremap' 'lrm' boolean (デフォルト: オフ) グローバル。オフの場合、'langmap'の設定は、マッピングの結果として生じる文字には適用されません。'langmap'の設定が一部のマッピングを無効にする場合は、このオプションがオフになっていることを確認してください。
'laststatus' 'ls' 'laststatus' 'ls' 数値 (デフォルト: 2) グローバル。このオプションの値は、最後のウィンドウにステータスラインを表示するタイミングに影響します。 0: 表示しない、1: ウィンドウが2つ以上ある場合のみ表示、2: 常に表示、3: 常に表示し、最後のウィンドウのみに表示。複数のウィンドウがある場合は、ステータスラインがあったほうが見栄えが良くなりますが、画面の行を1つ消費します。ステータスライン
'lazyredraw' 'lz' 'nolazyredraw' 'nolz' 'lazyredraw' 'lz' boolean (デフォルト: オフ) グローバル。このオプションが設定されている場合、マクロ、レジスタ、および入力されていない他のコマンドの実行中は、画面が再描画されません。また、ウィンドウタイトルの更新も後回しにされます。強制的に更新するには、:redrawを使用します。これにより、表示エラーが発生する場合があります。これは、再描画によってちらつきが発生したり、処理が遅くなったりする可能性がある操作を実行する場合に、一時的に設定することを意図しています。
'linebreak' 'lbr' 'nolinebreak' 'nolbr' 'linebreak' 'lbr' boolean (デフォルト: オフ) ウィンドウローカル。オンの場合、Vimは、画面に収まる最後の文字ではなく、'breakat'の文字で長い行を折り返します。'wrapmargin''textwidth'とは異なり、これはファイルに<EOL>を挿入するのではなく、ファイルの表示方法のみに影響し、その内容には影響しません。'breakindent'が設定されている場合、行は視覚的にインデントされます。次に、'showbreak'の値が、折り返された行の先頭に挿入されます。このオプションは、'wrap'オプションがオフの場合には使用されません。<EOL>後の<Tab>文字は、ほとんどの場合、正しい量の空白で表示されないことに注意してください。
'lines' E593 'lines' 数値 (デフォルト: 24またはターミナルの高さ) グローバル。Vimウィンドウの行数。通常、これを設定する必要はありません。ターミナルの初期化コードによって自動的に行われます。VimがGUIまたはサイズ変更可能なウィンドウで実行されている場合、このオプションを設定すると、ウィンドウのサイズが変更されます。GUIでのみサイズを使用したい場合は、コマンドをgvimrcファイルに記述してください。Vimは、画面に収まる行数に制限します。このコマンドを使用して、可能な限り高いウィンドウを取得できます。
set lines=999
最小値は2、最大値は1000です。
'linespace' 'lsp' 'linespace' 'lsp' 数値 (デフォルト: 0) グローバル。GUIのみ。文字間に挿入されるピクセル行数。フォントが文字セル全体の高さを使用しており、行が互いに接触している場合に便利です。ゼロ以外の場合、下線を引くためのスペースがあります。一部のフォントでは、行間にスペースが多すぎる場合があります (アセントとディセント用のスペースを確保するため)。その場合は、'linespace'を負の値に設定すると理にかなっています。ただし、これにより表示上の問題が発生する可能性があります!
'lisp' 'nolisp' 'lisp' boolean (デフォルト: オフ) バッファローカル。Lispモード: インサートモードで<Enter>が入力されると、次の行のインデントがLisp標準に設定されます (まあ、ある程度)。"cc"または"S"でも発生します。これが機能するには、'autoindent'もオンになっている必要があります。'cpoptions'の'p'フラグは、インデントの方法を変更します: Vi互換またはより良い。また、'lispwords'も参照してください。'-'文字はキーワード文字に含まれます。'equalprg'が空の場合、外部プログラムを呼び出すのではなく、この同じインデントアルゴリズムを使用するように"="演算子を再定義します。
'lispoptions' 'lop' 'lispoptions' 'lop' string (デフォルト: "") バッファローカル。'lisp'オプションで有効にした場合にLispインデントに影響を与える、コンマ区切りの項目のリスト。現在、サポートされている項目は1つだけです: expr:1 'indentexpr'が設定されている場合はLispインデントに'indentexpr'を使用します。expr:0 Lispインデントに'indentexpr'を使用しません (デフォルト)。'indentexpr'を使用している場合、=演算子はすべての行をインデントしますが、そうでない場合は、最初の行はインデントされないことに注意してください (Vi互換)。
'lispwords' 'lw' 'lispwords' 'lw' string (デフォルトは非常に長い) グローバルまたはバッファローカル。 global-local'lisp'オプションで有効にした場合にLispインデントに影響を与える、コンマ区切りの単語リスト。
'list' 'nolist' 'list' boolean (デフォルト: オフ) ウィンドウローカル。リストモード: デフォルトでは、タブを">"、末尾のスペースを"-"、および改行されないスペース文字を"+"として表示します。タブとスペースの違いや、末尾の空白を確認するのに役立ちます。'listchars'オプションでさらに変更されます。
'listchars'に"tab"フィールドが含まれていない場合、タブは印刷できない文字の表示方法と同様に、"^I"または"<09>"として表示されます。
カーソルは、ノーマルモードで通常行われるように末尾ではなく、タブ文字が占めるスペースの先頭に表示されます。タブをスペースで表示しながらこのカーソル位置を取得するには、次を使用します。
set list lcs=tab:\ \
リストモードは、'cpoptions'に'L'が含まれている場合、フォーマット( 'textwidth'または'wrapmargin'で設定)にも影響することに注意してください。タブの表示方法を変更するには、'listchars'を参照してください。
'listchars' 'lcs' 'listchars' 'lcs' string (デフォルト: "tab:> ,trail:-,nbsp:+") グローバルまたはウィンドウローカル。 global-local'list'モードおよび:listコマンドで使用する文字列。これは、コンマ区切りの文字列設定のリストです。E1511
lcs-eol
eol:c 各行の末尾に表示する文字。省略した場合、行の末尾に追加の文字は表示されません。lcs-tab
tab:xy[z] タブを表示するために使用する2つまたは3つの文字。3番目の文字はオプションです。
tab:xy 'x'は常に使用され、次に'y'が収まる回数だけ使用されます。したがって、"tab:>-"は次のように表示されます
>
>-
>--
etc.
tab:xyz 'z'は常に使用され、次に'x'が先頭に追加され、次に'y'が収まる回数だけ使用されます。したがって、"tab:<->"は次のように表示されます
>
<>
<->
<-->
etc.
"tab:"が省略されている場合、タブは^Iとして表示されます。lcs-space
space:c スペースを表示する文字。省略した場合、スペースは空白のままになります。lcs-multispace
multispace:c... 複数の連続したスペースを表示するために循環的に使用する1つ以上の文字。"space"設定は、単一のスペースを除いて上書きします。省略した場合、"space"設定が使用されます。たとえば、:set listchars=multispace:---+は、10個の連続したスペースを次のように表示します
---+---+--
lcs-lead
lead:c 先頭のスペースを表示する文字。省略した場合、先頭のスペースは空白になります。先頭のスペースについては、"space"設定と"multispace"設定を上書きします。たとえば、"tab:"と組み合わせて使用できます
set listchars+=tab:>-,lead:.
lcs-leadmultispace
leadmultispace:c... lcs-multispace値と同様ですが、先頭のスペース専用です。先頭の複数のスペースについても、lcs-leadを上書きします。:set listchars=leadmultispace:---+は、10個の連続した先頭のスペースを次のように表示します
---+---+--XXX
"XXX"は、行の最初の空白以外の文字を示します。lcs-trail
trail:c 末尾のスペースを表示する文字。省略した場合、末尾のスペースは空白になります。末尾のスペースについては、"space"設定と"multispace"設定を上書きします。lcs-extends
extends:c 'wrap'がオフで、行が画面の右側を超えて続く場合に、最後の列に表示する文字。lcs-precedes
precedes:c 最初の列に表示される文字の前にテキストがある場合に、物理行の最初の表示可能な列に表示する文字。lcs-conceal
conceal:c 'conceallevel'が1に設定されている場合に、隠されたテキストの代わりに表示する文字。省略した場合はスペース。lcs-nbsp
nbsp:c 改行されないスペース文字(0xA0 (160 10進数) および U+202F)に対して表示する文字。省略した場合、空白になります。
':'および','文字は使用しないでください。UTF-8文字を使用できます。すべての文字はシングル幅である必要があります。E1512
各文字は16進数で指定できます。
set listchars=eol:\\x24
set listchars=eol:\\u21b5
set listchars=eol:\\U000021b5
二重バックスラッシュが使用されることに注意してください。16進数の文字数は、\\xの場合は正確に2文字、\\uの場合は4文字、\\Uの場合は8文字でなければなりません。
例:
set lcs=tab:>-,trail:-
set lcs=tab:>-,eol:<,nbsp:%
set lcs=extends:>,precedes:<
hl-NonText ハイライトは、"eol"、"extends"、"precedes" に使用されます。hl-Whitespace ハイライトは、"nbsp"、"space"、"tab"、"multispace"、"lead"、"trail" に使用されます。
'loadplugins' 'lpl' 'noloadplugins' 'nolpl' 'loadplugins' 'lpl' boolean (デフォルト: on) グローバル onの場合、起動時にプラグインスクリプトが読み込まれます(load-plugins を参照)。このオプションは、vimrc ファイルでリセットして、プラグインの読み込みを無効にできます。"-u NONE" および "--noplugin" コマンドライン引数はこのオプションをリセットすることに注意してください。-u --noplugin
'magic' 'nomagic' 'magic' boolean (デフォルト: on) グローバル 検索パターンで使用できる特殊文字を変更します。pattern を参照してください。警告: このオプションをオフにすると、プラグインが壊れる可能性が非常に高くなります!多くのパターンはオンになっていることを前提としており、オフになっていると失敗するためです。古い Vi スクリプトを扱う場合にのみオフにしてください。それ以外の場合は、'magic' がオンの場合に機能するパターンを記述してください。\M を含めると /\M を使用したい場合に使用できます。
'makeef' 'mef' 'makeef' 'mef' string (デフォルト: "") グローバル :make コマンド ( :make_makeprg を参照) および :grep コマンドのエラーファイルの名前。空の場合、内部で生成された一時ファイルが使用されます。"##" が含まれている場合は、名前を一意にするために数値に置き換えられます。これにより、":make" コマンドが既存のファイルを上書きしないようにします。":cf" コマンドには使用されません。その場合は 'errorfile' を参照してください。環境変数が展開されます (:set_env を参照)。スペースとバックスラッシュの含め方については、option-backslash を参照してください。このオプションは、セキュリティ上の理由から、モデル行またはサンドボックスから設定することはできません。
'makeencoding' 'menc' 'makeencoding' 'menc' string (デフォルト: "") グローバルまたはバッファローカル global-local 外部コマンドの出力を読み込むために使用されるエンコーディング。空の場合、エンコーディングは変換されません。これは、:make:lmake:grep:lgrep:grepadd:lgrepadd:cfile:cgetfile:caddfile:lfile:lgetfile、および :laddfile に使用されます。
これは主に MS-Windows を使用する場合に役立ちます。iconv が有効になっている場合、'makeencoding' を "char" に設定すると、システムロケールエンコーディングに設定するのと同じ効果があります。例:
set makeencoding=char        " system locale is used
'makeprg' 'mp' 'makeprg' 'mp' string (デフォルト: "make") グローバルまたはバッファローカル global-local ":make" コマンドで使用するプログラム。:make_makeprg を参照してください。このオプションには、'%' および '#' 文字 ( :_% および :_# を参照) を含めることができ、これらは現在のファイル名と代替ファイル名に展開されます。ファイル名に特殊文字が含まれる場合に備えて、::S を使用してエスケープしてください。環境変数が展開されます (:set_env を参照)。スペースとバックスラッシュの含め方については、option-backslash を参照してください。'|' は、":set" 用とコマンドの解釈用の2回エスケープする必要があることに注意してください。"myfilter" という名前のフィルターを使用する場合は、次のようにしてください。
set makeprg=gmake\ \\\|\ myfilter
プレースホルダー "$*" を指定して (複数回でも可)、引数が含まれる場所を指定できます。例:
set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'matchpairs' 'mps' 'matchpairs' 'mps' string (デフォルト: "(:),{:},[:]") バッファローカル ペアを形成する文字。% コマンドは、一方から他方へジャンプします。異なる文字のペアのみが許可されているため、2つの二重引用符の間をジャンプすることはできません。文字はコロンで区切る必要があります。ペアはコンマで区切る必要があります。(HTML 用) '<' および '>' を含める例:
set mps+=<:>
より特殊な例として、CやJavaなどの言語で便利な、代入の '=' と ';' の間をジャンプする例:
au FileType c,cpp,java set mps+==:;
"%" のより高度な使い方については、$VIMRUNTIME/plugin ディレクトリにある matchit.vim プラグインを参照してください。add-local-help
'matchtime' 'mat' 'matchtime' 'mat' number (デフォルト: 5) グローバル 'showmatch' が設定されている場合に、一致する括弧を表示する時間(秒の1/10)。これは、時間を設定する他のオプションのようにミリ秒単位ではないことに注意してください。これは Nvi との互換性を保つためです。
'maxfuncdepth' 'mfd' 'maxfuncdepth' 'mfd' number (デフォルト: 100) グローバル ユーザー関数の関数呼び出しの最大深度。これは通常、無限再帰をキャッチします。より深い再帰関数を使用する場合は、'maxfuncdepth' をより大きな数値に設定します。ただし、これによりメモリの使用量が増加し、メモリが枯渇すると失敗する危険性があります。この制限を 200 以上に増やすと、Ex コマンドの再帰の最大値も変更されます。E169 を参照してください。:function も参照してください。コールバック関数の最大深度にも使用されます。
'maxmapdepth' 'mmd' E223 'maxmapdepth' 'mmd' number (デフォルト: 1000) グローバル マッピングが文字の使用に至らずに行われる最大回数。これは通常、":map x y" と ":map y x" のような無限マッピングをキャッチします。次のマッピングが行われる前に 'w' が使用されるため、":map g wg" はキャッチしません。key-mapping も参照してください。
'maxmempattern' 'mmp' 'maxmempattern' 'mmp' number (デフォルト: 1000) グローバル パターンマッチングに使用する最大メモリ量(キロバイト単位)。最大値は約 2000000 です。制限なしで動作させるにはこれを使用してください。E363
Vim が制限に達すると、エラーメッセージが表示され、ほとんどの場合 CTRL-C が入力されたかのように動作します。制限に達することは、多くの場合、パターンが非常に非効率的であるか、複雑すぎることを意味します。これは、非常に長い行のパターン "\(.\)*" で既に発生する可能性があります。".*" の方がはるかにうまく機能します。構文ルールが複雑なテキスト構造を照合しようとすると、再描画でも発生する可能性があります。Vim が 'maxmempattern' の制限に達する前にメモリ不足になる可能性があり、その場合は代わりに "Out of memory" エラーが表示されます。
'menuitems' 'mis' 'menuitems' 'mis' number (デフォルト: 25) グローバル メニューで使用する項目の最大数。例えば、バッファメニューなど、項目のリストから生成されるメニューに使用されます。このオプションを変更しても直接的な効果はなく、最初にメニューを更新する必要があります。
'mkspellmem' 'msm' 'mkspellmem' 'msm' string (デフォルト: "460000,2000,500") グローバル :mkspell のパラメータ。これにより、単語ツリーを圧縮し始めるタイミングを調整します。単語が多い場合、圧縮には時間がかかる可能性がありますが、メモリ不足を回避するために必要です。単語ごとに使用されるメモリの量は、単語がどれだけ似ているかによって大きく異なるため、この調整は複雑です。
コンマで区切られた3つの数値があります。
{start},{inc},{added}
ほとんどの言語では、圧縮されていない単語ツリーはメモリに収まります。{start} は、圧縮を行う前に使用できるメモリの量をキロバイト単位で示します。Vim で使用できるメモリ量よりも少し小さくする必要があります。
{start} 制限を超えると、{inc} 数値は、別の圧縮が行われる前に割り当てることができるメモリ量をキロバイト単位で指定します。数値が小さいと、より少ない単語が追加された後に圧縮が行われるため、速度が低下します。数値が大きいと、より多くのメモリが割り当てられます。
圧縮後、{added} に 1024 を掛けた単語数を追加すると、{inc} 制限が無視され、追加のメモリが必要になったときに圧縮が行われます。数値が小さいと、{inc} 制限に達する可能性が低くなり、メモリの使用量は少なくなりますが、速度は遅くなります。
これらの数値が重要な言語は、イタリア語とハンガリー語です。デフォルトは、約 512 Mbyte のメモリがある場合に機能します。1 Gbyte のメモリがある場合は、次のように使用できます。
set mkspellmem=900000,3000,800
512 Mbyte 未満のメモリしかない場合は、'mkspellmem' をどのように設定しても、一部の言語で :mkspell が失敗する可能性があります。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'modeline' 'ml' 'nomodeline' 'noml' 'modeline' 'ml' boolean (デフォルト: on (root の場合は off)) バッファローカル 'modeline' がオンの場合、'modelines' は set コマンドがチェックされる行数を示します。'modeline' がオフの場合、または 'modelines' がゼロの場合、行はチェックされません。モデル行を参照してください。
'modelineexpr' 'mle' 'nomodelineexpr' 'nomle' 'modelineexpr' 'mle' boolean (デフォルト: off) グローバル オンにすると、モデル行で式である一部のオプションを設定できます。'modelineexpr' の影響を受けるかどうかについては、オプションを確認してください。モデル行も参照してください。このオプションは、セキュリティ上の理由から、モデル行またはサンドボックスから設定することはできません。
'modelines' 'mls' 'modelines' 'mls' number (デフォルト: 5) グローバル 'modeline' がオンの場合、'modelines' は set コマンドがチェックされる行数を示します。'modeline' がオフの場合、または 'modelines' がゼロの場合、行はチェックされません。モデル行を参照してください。
'modifiable' 'ma' 'nomodifiable' 'noma' E21 'modifiable' 'ma' ブール値 (デフォルト: オン) バッファローカル。オフの場合、バッファの内容は変更できません。'fileformat' および 'fileencoding' オプションも変更できません。起動時に -M コマンドライン引数でリセットできます。
'modified' 'mod' 'nomodified' 'nomod' 'modified' 'mod' ブール値 (デフォルト: オフ) バッファローカル ローカル-非グローバル オンの場合、バッファは変更されたと見なされます。このオプションは、以下の場合に設定されます。1. 最後に書き込まれてからテキストが変更された場合。 undo コマンドで元のテキストに戻ると、オプションはリセットされます。しかし、バッファを書き込む前に変更した内容をアンドゥすると、テキストが書き込まれたときと異なるため、オプションが再度設定されます。2. 'fileformat' または 'fileencoding' が元の値と異なる場合。元の値は、バッファが読み込まれたときまたは書き込まれたときに設定されます。「:set nomodified」コマンドも元の値を現在の値にリセットし、'modified' オプションがリセットされます。同様に、'eol' および 'bomb' についても同様です。このオプションは、BufNewFile、BufRead/BufReadPost、BufWritePost、FileAppendPost、または VimLeave 自動コマンドイベントの結果としてバッファが変更された場合には設定されません。説明については、gzip-example を参照してください。'buftype' が "nowrite" または "nofile" の場合、このオプションを設定できますが、無視されます。たとえば、"A" に対して "rA" を使用する場合など、テキストが実際には同じである可能性があることに注意してください。'modified' が設定されます。
'more' 'nomore' 'more' ブール値 (デフォルト: オン) グローバル。オンの場合、リスト表示は画面全体が埋まると一時停止します。more-prompt が表示されます。このオプションがオフの場合、一時停止はなく、リスト表示は終了するまで続行されます。
'mouse'
'mouse' 文字列 (デフォルト: "nvi") グローバル。マウスサポートを有効にします。たとえば、ノーマルモードとビジュアルモードでマウスを有効にするには、次のようにします。
set mouse=nv
マウスサポートを一時的に無効にするには、マウスを使用中に Shift キーを押したままにします。
マウスサポートは、さまざまなモードで有効にできます。n: ノーマルモード, v: ビジュアルモード, i: インサートモード, c: コマンドラインモード, h: ヘルプファイルを編集しているときの前のすべてのモード, a: 前のすべてのモード, r: hit-enter および more-prompt プロンプト
テキストバッファの任意の場所を左クリックすると、カーソルがそこに移動します。これはオペレーターでも機能します。たとえば、d と入力してから左クリックすると、現在のカーソル位置からクリックした位置までのテキストが削除されます。
ステータスラインまたはウィンドウの垂直セパレータをドラッグして、サイズを変更します。
"v" (ビジュアルモード) で有効になっている場合、ダブルクリックすると単語単位で選択、トリプルクリックすると行単位で選択、クワドラプルクリックすると長方形のブロック単位で選択されます。
マウスホイールでのスクロールについては、scroll-mouse-wheel を参照してください。
注: ターミナルでマウスを有効にすると、コピー/ペーストは可能な場合は「*」レジスタを使用します。'clipboard' も参照してください。
関連オプション: 'mousefocus' マウスポインタが指すウィンドウにフォーカスを移動する, 'mousemodel' マウスボタンがどのアクションを実行するか, 'mousehide' テキスト入力中にマウスポインタを非表示にする, 'selectmode' セレクトモードまたはビジュアルモードを起動するかどうか
'mousefocus' 'mousef' 'nomousefocus' 'nomousef' 'mousefocus' 'mousef' ブール値 (デフォルト: オフ) グローバル。マウス ポインタが置かれているウィンドウが自動的にアクティブになります。ウィンドウのレイアウトやウィンドウのフォーカスを別の方法で変更する場合、マウスポインタはキーボードフォーカスのあるウィンドウに移動します。ポインタの移動により意図せずにウィンドウがアクティブになる可能性があるため、プルダウンメニューを使用する際に少し不便になるため、オフがデフォルトです。
'mousehide' 'mh' 'nomousehide' 'nomh' 'mousehide' 'mh' ブール値 (デフォルト: オン) GUIでのみグローバル。オンの場合、文字が入力されるとマウスポインタが非表示になります。マウスポインタは、マウスが移動すると復元されます。
'mousemodel' 'mousem' 'mousemodel' 'mousem' 文字列 (デフォルト: "popup_setpos") グローバル。マウスに使用するモデルを設定します。名前は主に、右マウスボタンが何に使用されるかを指定します。extend: 右マウスボタンで選択範囲を拡張します。これは xterm と同様に機能します。popup: 右マウスボタンでメニューがポップアップします。Shift + 左マウスボタンで選択範囲を拡張します。これは Microsoft Windows と同様に機能します。popup_setpos: 「popup」と同様ですが、カーソルはマウスがクリックされた位置に移動するため、選択された操作はクリックされたオブジェクトに対して実行されます。選択範囲内をクリックした場合、その選択範囲が操作対象となり、カーソルは移動しません。これはもちろん、選択範囲外を右クリックすると、ビジュアルモードが終了することを意味します。各モデルでどのボタンが何をするかの概要
mouse extend popup(_setpos)
左クリック カーソルを移動 カーソルを移動 左ドラッグ 選択を開始 選択を開始 Shift+左クリック 単語を検索 選択を拡張 右クリック 選択を拡張 ポップアップメニュー (カーソルを移動) 右ドラッグ 選択を拡張 - 中クリック ペースト ペースト
"popup" モデルでは、右マウスボタンでポップアップメニューが表示されます。Nvim はデフォルトの ポップアップメニューを作成しますが、再定義できます。
マッピングを使用すると、ボタンの意味をさらに詳細に調整できることに注意してください。mouse-overview を参照してください。ただし、マッピングはモードレス選択には使用されません。
map <S-LeftMouse>     <RightMouse>
map <S-LeftDrag>      <RightDrag>
map <S-LeftRelease>   <RightRelease>
map <2-S-LeftMouse>   <2-RightMouse>
map <2-S-LeftDrag>    <2-RightDrag>
map <2-S-LeftRelease> <2-RightRelease>
map <3-S-LeftMouse>   <3-RightMouse>
map <3-S-LeftDrag>    <3-RightDrag>
map <3-S-LeftRelease> <3-RightRelease>
map <4-S-LeftMouse>   <4-RightMouse>
map <4-S-LeftDrag>    <4-RightDrag>
map <4-S-LeftRelease> <4-RightRelease>
CTRL 修飾子を必要とするマウスコマンドは、マウスを使用する前に "g" キーを入力することでシミュレートできます。"g<LeftMouse>" は "<C-LeftMouse>" (マウス クリックの下にあるタグにジャンプ) であり、"g<RightMouse>" は "<C-RightMouse>" ("CTRL-T") です。
'mousemoveevent' 'mousemev' 'nomousemoveevent' 'nomousemev' 'mousemoveevent' 'mousemev' ブール値 (デフォルト: オフ) グローバル。オンの場合、マウス移動イベントが入力キューに配信され、マッピングで使用可能になります。デフォルトのオフでは、必要な場合を除き、マウスの移動によるオーバーヘッドを回避します。警告: このオプションを設定すると、マウスが移動されたときに保留中のマッピングが中断される可能性があります。
'mousescroll' E5080 'mousescroll' 文字列 (デフォルト: "ver:3,hor:6") グローバル。このオプションは、マウスホイールでスクロールする際のスクロール行数/列数を制御します (scroll-mouse-wheel)。オプションは、カンマ区切りのリストです。各部分は、次のように方向とカウントで構成されます: direction:count,direction:count。方向は、"hor" または "ver" のいずれかです。"hor" は水平スクロールを制御し、"ver" は垂直スクロールを制御します。カウントは、指定された方向でスクロールする量を設定します。0 以上の整数である必要があります。各方向は、最大で 1 回設定する必要があります。方向が省略された場合は、デフォルト値が使用されます (水平スクロールの場合は 6、垂直スクロールの場合は 3)。カウントに 0 を使用すると、マウススクロールを無効にできます。
set mousescroll=ver:5,hor:2
これにより、Nvim は垂直にスクロールするときは一度に 5 行、水平にスクロールするときは一度に 2 列スクロールするようになります。
'mousetime' 'mouset' 'mousetime' 'mouset' 数値 (デフォルト: 500) グローバル。2 回目のクリックがマルチクリックとして認識されるために、2 回のマウス クリックの間隔の最大時間 (ミリ秒) を定義します。
'nrformats' 'nf' 'nrformats' 'nf' 文字列 (デフォルト: "bin,hex") バッファローカル。これは、数値の加算と減算にそれぞれ CTRL-A および CTRL-X コマンドを使用するときに、Vim が数値のベースと見なすものを定義します。これらのコマンドの詳細については、CTRL-A を参照してください。alpha: 含める場合、アルファベット 1 文字がインクリメントまたはデクリメントされます。これは、文字インデックス a)、b) などを含むリストに役立ちます。octal-nrformats
octal: 含める場合、0 で始まる数値は 8 進数と見なされます。例: "007" に対して CTRL-A を使用すると、"010" になります。hex: 含める場合、"0x" または "0X" で始まる数値は 16 進数と見なされます。例: "0x100" に対して CTRL-X を使用すると、"0x0ff" になります。bin: 含める場合、"0b" または "0B" で始まる数値は 2 進数と見なされます。例: "0b1000" に対して CTRL-X を使用すると、1 が減算されて "0b0111" になります。unsigned: 含める場合、数値は符号なしとして認識されます。したがって、先頭のダッシュまたは負の符号は、数値の一部とは見なされません。例: "9-2020" で "2020" に対して CTRL-X を使用すると、"9-2019" になります (「unsigned」がない場合は "9-2021" になります)。"9-2020" で "2020" に対して CTRL-A を使用すると、"9-2021" になります (「unsigned」がない場合は "9-2019" になります)。"0" に対して CTRL-X を使用するか、"18446744073709551615" (2^64 - 1) に対して CTRL-A を使用しても効果はありません。オーバーフローは防止されます。blank: 含める場合、先行する空白に基づいて数値を符号付きまたは符号なしとして扱います。先頭にダッシュが付いた数値のダッシュの直前に空白文字以外の文字 (タブまたは " " ではない) がある場合、負の符号は数値の一部とは見なされません。例: "Carbon-14" で "14" に対して CTRL-A を使用すると、"Carbon-15" になります (「blank」がない場合は "Carbon-13" になります)。"Carbon -8" で "8" に対して CTRL-X を使用すると、"Carbon -9" になります (-8 の前に空白があるため。「unsigned」が設定されている場合は、"Carbon -7" になります)。この形式が含まれている場合、「unsigned」が設定されているかのようにオーバーフローが防止されます。この形式と「unsigned」の両方が含まれている場合、「unsigned」が優先されます。
1~9 の範囲の数字で始まる数値は、常に 10 進数と見なされます。これは、8 進数または 16 進数として認識されない数値にも当てはまります。
'number' 'nu' 'nonumber' 'nonu' 'number' 'nu' 真偽値 (デフォルト: オフ) ウィンドウローカル 各行の先頭に行番号を表示します。 'n' オプションが 'cpoptions' から除外されている場合、折り返された行は行番号の列を使用しません。'numberwidth' オプションを使用して、行番号のための領域を調整します。長い折り返し行が最初の文字で始まらない場合、番号の前に '-' 文字が置かれます。ハイライトについては、hl-LineNrhl-CursorLineNr、および :sign-define の "numhl" 引数を参照してください。number_relativenumber
'relativenumber' オプションは、表示される番号をカーソルからの相対的なものに変更します。'number' と合わせて、次の4つの組み合わせがあります (カーソルは3行目)。
'nonu' 'nu' 'nonu' 'nu' 'nornu' 'nornu' 'rnu' 'rnu'
|apple          |  1 apple      |  2 apple      |  2 apple
|pear           |  2 pear       |  1 pear       |  1 pear
|nobody         |  3 nobody     |  0 nobody     |3   nobody
|there          |  4 there      |  1 there      |  1 there
'numberwidth' 'nuw' 'numberwidth' 'nuw' 数値 (デフォルト: 4) ウィンドウローカル 行番号に使用する最小の列数。 'number' または 'relativenumber' オプションが設定されている場合、または行番号付きで行を印刷する場合にのみ関連します。番号とテキストの間には常に1つのスペースがあるため、番号自体には1つ少ない文字数しかありません。この値は最小幅です。バッファ内の最大行番号、またはウィンドウ内の行数に合わせて、より大きな幅が使用されます。これは、'number' または 'relativenumber' のどちらが設定されているかによって異なります。したがって、Vim のデフォルト値である 4 では、最大 999 までの行番号に対応できます。バッファに 1000 行ある場合は、5 列が使用されます。最小値は 1、最大値は 20 です。
'omnifunc' 'ofu' 'omnifunc' 'ofu' 文字列 (デフォルト: "") バッファローカル このオプションは、挿入モードのオムニ補完で CTRL-X CTRL-O を使用する関数を指定します。i_CTRL-X_CTRL-O 関数の呼び出し方と返す内容の説明については、complete-functions を参照してください。値は、関数の名前、lambda、または Funcref にすることができます。詳細については、option-value-function を参照してください。このオプションは通常、ファイルタイププラグインによって設定されます: :filetype-plugin-on このオプションは、セキュリティ上の理由から modeline または sandbox から設定することはできません。
'operatorfunc' 'opfunc' 'operatorfunc' 'opfunc' 文字列 (デフォルト: "") グローバル このオプションは、g@ 演算子によって呼び出される関数を指定します。詳細と例については、:map-operator を参照してください。値は、関数の名前、lambda、または Funcref にすることができます。詳細については、option-value-function を参照してください。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'packpath' 'pp' 'packpath' 'pp' 文字列 (デフォルトは 'runtimepath' を参照) グローバル パッケージの検索に使用されるディレクトリ。 packages および packages-runtimepath を参照してください。このオプションは、セキュリティ上の理由から modeline または sandbox から設定することはできません。
'paragraphs' 'para' 'paragraphs' 'para' 文字列 (デフォルト: "IPLPPPQPP TPHPLIPpLpItpplpipbp") グローバル 段落を区切る nroff マクロを指定します。これらは2文字のペアです (object-motions を参照)。
'patchexpr' 'pex' 'patchexpr' 'pex' 文字列 (デフォルト: "") グローバル ファイルにパッチを適用し、結果として得られるファイルの新しいバージョンを生成するために評価される式。diff-patchexpr を参照してください。このオプションは、セキュリティ上の理由から modeline または sandbox から設定することはできません。
'patchmode' 'pm' E205 E206 'patchmode' 'pm' 文字列 (デフォルト: "") グローバル 空でない場合、ファイルの最も古いバージョンが保持されます。これは、ソースディストリビューションでファイルを変更する場合に、ファイルの元のバージョンを保持するために使用できます。ファイルが最初に書き込まれるときにのみ、元のファイルのコピーが保持されます。コピーの名前は、'patchmode' オプションの文字列が追加された元のファイルの名前です。このオプションはドットで始まる必要があります。 ".orig" や ".org" のような文字列を使用します。これが機能するためには、'backupdir' が空であってはなりません(詳細: バックアップファイルは、新しいファイルが正常に書き込まれた後に patchmode ファイルに名前が変更されます。そのため、バックアップファイルを書き込むことができる必要があります)。バックアップするファイルがない場合は、空のファイルが作成されます。'backupskip' パターンが一致する場合、patchmode ファイルは作成されません。圧縮ファイルに 'patchmode' を使用すると、拡張子が末尾に追加されるため (例: "file.gz.orig")、結果の名前は常に圧縮ファイルとして認識されるとは限りません。通常のファイル名文字のみを使用でき、/\*?[|<> は無効です。
'path' 'pa' E343 E345 E347 E854 'path' 'pa' 文字列 (デフォルト: ".,,") グローバルまたはバッファローカル global-local これは、gf、[f, ]f、^Wf、:find:sfind:tabfind、およびその他のコマンドを使用する場合に検索されるディレクトリのリストです。ただし、検索対象のファイルに相対パス ("/"、"./"、または "../" で始まらないパス) がある場合に限ります。'path' オプションのディレクトリは、相対パスまたは絶対パスにすることができます。
ディレクトリ名を区切るにはコンマを使用します。
set path=.,/usr/local/include,/usr/include
スペースを使用してディレクトリ名を区切ることもできます。ディレクトリ名にスペースを含めるには、余分なバックスラッシュを前に付け、スペースをエスケープします。
set path=.,/dir/with\\\ space
ディレクトリ名にコンマを含めるには、余分なバックスラッシュを前に付けます。
set path=.,/dir/with\\,comma
現在のファイルのディレクトリを基準に検索するには、次を使用します。
set path=.
現在のディレクトリを検索するには、2つのコンマの間に空の文字列を使用します。
set path=,,
ディレクトリ名の末尾は ':' または '/' にすることができます。
環境変数は:set_envで展開されます。
netrw.vim を使用する場合、URL を使用できます。たとえば、"https://www.vim.org" を追加すると、":find index.html" が機能します。
ディレクトリツリーを上向きおよび下向きに検索するには、"*"、"**"、および ";" を使用します。情報と構文については、file-searching を参照してください。
'\' 文字には注意が必要です。オプションで 1 つを取得するには 2 つ入力します。
set path=.,c:\\include
または代わりに '/' を使用します。
set path=.,c:/include
"." を忘れないでください。そうしないと、ファイルはファイルと同じディレクトリ内でも見つかりません! 最大長には制限があります。その量はシステムによって異なりますが、ほとんどの場合 256 文字または 1024 文字程度です。'path' の値を使用して、すべてのインクルードファイルが見つかったかどうかを確認できます。:checkpath を参照してください。リストからディレクトリを追加または削除する場合は、:set+= および :set-= を使用することをお勧めします。これにより、将来のバージョンで別のデフォルトが使用された場合の問題が回避されます。現在のディレクトリを削除するには、次を使用します。
set path-=
現在のディレクトリを追加するには、次を使用します。
set path+=
環境変数を使用するには、区切り文字を置き換える必要がある場合があります。次に、ディレクトリ名がセミコロンで区切られている $INCL を追加する例を示します。
let &path = &path .. "," .. substitute($INCL, ';', ',', 'g')
';' を ':' または使用されている区切り文字で置き換えます。 $INCL にコンマまたは空白が含まれている場合は、これは機能しないことに注意してください。
'preserveindent' 'pi' 'nopreserveindent' 'nopi' 'preserveindent' 'pi' 真偽値 (デフォルト: オフ) バッファローカル 現在行のインデントを変更するとき、インデント構造をできるだけ維持します。通常、インデントは、必要に応じて一連のタブとスペースで置き換えられます ('expandtab' が有効になっている場合は、スペースのみが使用されます)。このオプションを有効にすると、インデントではインデントするために既存の文字をできるだけ多く保持し、必要に応じてタブまたはスペースを追加するだけになります。'expandtab' は保持された空白には適用されません。タブはタブのままです。注: ">>" を複数回使用すると、結果のインデントはタブとスペースの混在になります。これは気に入らないかもしれません。'copyindent' も参照してください。空白を整理するには :retab を使用します。
'previewheight' 'pvh' 'previewheight' 'pvh' 数値 (デフォルト: 12) グローバル プレビューウィンドウのデフォルトの高さ。:ptag および関連するコマンドに使用されます。カウントが指定されていない場合は、CTRL-W_} に使用されます。
'previewwindow' 'pvw' 'nopreviewwindow' 'nopvw' E590 'previewwindow' 'pvw' 真偽値 (デフォルト: オフ) ウィンドウローカル local-noglobal プレビューウィンドウを識別します。このオプションを設定できるウィンドウは1つだけです。通常は直接設定されず、:ptag:pedit などのコマンドのいずれかを使用して設定されます。
'pumblend' 'pb' 'pumblend' 'pb' 数値 (デフォルト: 0) グローバル ポップアップメニュー の擬似的な透明度を有効にします。有効な値は、完全に不透明なポップアップメニュー (無効) の 0 から、完全に透明な背景の 100 の範囲です。通常、0~30 の間の値が最も役立ちます。
highlight-blend を使用して、ポップアップメニュー内の個々のハイライトのレベルを上書きすることができます。たとえば、透明度を有効にするが、現在選択されている要素を完全に不透明にするには、次のようにします。
set pumblend=15
hi PmenuSel blend=0
UI依存です。RGBカラーで最適に動作します。'termguicolors'
'pumheight' 'ph' 'pumheight' 'ph' 数値 (デフォルト 0) グローバル ポップアップメニューに表示する最大項目数 (ins-completion-menu)。 0 は「利用可能な画面スペースを使用」を意味します。
'pumwidth' 'pw' 'pumwidth' 'pw' 数値 (デフォルト 15) グローバル ポップアップメニューの最小幅 (ins-completion-menu)。カーソル列 + 'pumwidth' が画面幅を超える場合、ポップアップメニューは画面に収まるように調整されます。
'pyxversion' 'pyx' 'pyxversion' 'pyx' 数値 (デフォルト 3) グローバル pyx* 関数とコマンド python_x で使用される Python のバージョンを指定します。Python 3 のみがサポートされているため、これは常に 3 の値になります。他の値を設定するとエラーになります。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'quickfixtextfunc' 'qftf' 'quickfixtextfunc' 'qftf' 文字列 (デフォルト "") グローバル このオプションは、クイックフィックスウィンドウとロケーションリストウィンドウに表示するテキストを取得するために使用する関数を指定します。これは、対応するクイックフィックスリストまたはロケーションリストの各エントリに対して、クイックフィックスまたはロケーションウィンドウに表示される情報をカスタマイズするために使用できます。関数の書き方と例については、quickfix-window-function を参照してください。値は、関数名、lambda、または Funcref にすることができます。詳細については、option-value-function を参照してください。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'quoteescape' 'qe' 'quoteescape' 'qe' 文字列 (デフォルト "\") バッファーローカル 文字列内の引用符をエスケープするために使用される文字。a'、a"、a` などのオブジェクトに使用されます a'。このオプションの文字のいずれかが文字列内で見つかった場合、次の文字はスキップされます。デフォルト値では、テキスト "foo\"bar\\" は1つの文字列と見なされます。
'readonly' 'ro' 'noreadonly' 'noro' 'readonly' 'ro' 真偽値 (デフォルト off) バッファーローカル local-noglobal オンにすると、「!」を使用しない限り、書き込みは失敗します。誤ってファイルを上書きするのを防ぎます。Vim が読み取り専用モード ("vim -R") で起動された場合、または実行可能ファイルが "view" と呼ばれた場合、デフォルトでオンになります。":w!" を使用すると、'cpoptions' に 'Z' フラグがない限り、現在のバッファーの 'readonly' オプションはリセットされます。":view" コマンドを使用すると、新しく編集されたバッファーの 'readonly' オプションが設定されます。バッファーへの変更を禁止する場合は、'modifiable' を参照してください。
'redrawdebug' 'rdb' 'redrawdebug' 'rdb' 文字列 (デフォルト "") グローバル デバッグ目的で、再描画の動作を変更するためのフラグ。 'writedelay' が適切な値に設定されている場合に最も役立ちます。次のフラグをサポートします。 compositor 再描画タイプを示す色で、再描画された領域を一時的に点滅させることで、コンポジターによって処理された各再描画イベントを示します。これらは、使用されるハイライトグループ(およびデフォルトの色)です。 RedrawDebugNormal gui=reverse 通常の再描画が渡されました RedrawDebugClear guibg=Yellow クリアイベントが渡されました RedrawDebugComposed guibg=Green コンポジターによって変更された再描画イベント(グリッドの重複などによる) RedrawDebugRecompose guibg=Red グリッドの移動または削除により、コンポジター自体によって生成された再描画。 line 画面に描画された各行の後に遅延を導入します。TUI または別のシングルグリッド UI を使用している場合、「compositor」の方がより多くの情報を提供するため、優先する必要があります(すべての行はコンポジターによって個別のイベントとして処理されます) flush 各「フラッシュ」イベントの後に遅延を導入します。 nothrottle メッセージグリッドのスロットリングをオフにします。これは、メッセージ領域を描画するときに、多くの小さなスクロールを1つの大きなスクロールに結合する最適化です('display' msgsep フラグがアクティブな場合)。 invalid 内部画面状態の不整合のより厳密なチェック(中止)を有効にします。これは、デバッガー(およびテストスイート)内で nvim を実行する場合に最も役立ちます。 nodelta 内部で再描画されたすべてのセルを、すでに表示されている状態から変更されていない場合でも、UI に送信します。
'redrawtime' 'rdt' 'redrawtime' 'rdt' 数値 (デフォルト 2000) グローバル 表示を再描画するための時間(ミリ秒単位)。'hlsearch''inccommand':match のハイライト表示と構文ハイライトに適用されます。再描画にこの時間より長くかかる場合、それ以上のマッチングはハイライト表示されません。構文ハイライトの場合、時間はウィンドウごとに適用されます。制限を超えると、CTRL-L が使用されるまで、構文ハイライトが無効になります。これは、非常に複雑なパターンを使用する場合に Vim がハングするのを防ぐために使用されます。
'regexpengine' 're' 'regexpengine' 're' 数値 (デフォルト 0) グローバル これにより、デフォルトの正規表現エンジンが選択されます。 two-engines 可能な値は次のとおりです。 0 自動選択 1 旧エンジン 2 NFA エンジン NFA エンジンを使用しており、パターンにサポートされていないものが含まれている場合、パターンは一致しないことに注意してください。これは、正規表現エンジンをデバッグする場合にのみ役立ちます。自動選択を使用すると、デフォルトのエンジンが高コストになった場合に Vim がエンジンを切り替えることができます。たとえば、NFA エンジンが過剰な状態を使用する場合などです。これにより、複雑なパターンと長いテキストの組み合わせで Vim がハングするのを防ぐ必要があります。
'relativenumber' 'rnu' 'norelativenumber' 'nornu' 'relativenumber' 'rnu' 真偽値 (デフォルト off) ウィンドウローカル 各行の先頭にカーソルがある行からの相対行番号を表示します。相対行番号は、いくつかの垂直移動コマンド (例: j k + -) に先行させることができる count を自分で計算する必要なく使用するのに役立ちます。他のコマンド (例: y d c < > gq gw =) と組み合わせて特に役立ちます。 'n' オプションが 'cpoptions' から除外されている場合、折り返し行は行番号の列を使用しません。'numberwidth' オプションを使用すると、行番号に使用する領域を設定できます。長く折り返された行が最初の文字で始まらない場合、'-' 文字が数字の前に入力されます。数字に使用されるハイライトについては、hl-LineNr および hl-CursorLineNr を参照してください。
カーソル行の前にある数字は、'number' の値にも依存します。2つのオプションのすべての組み合わせについては、number_relativenumber を参照してください。
'report'
'report' 数値 (デフォルト 2) グローバル 変更された行数を報告するためのしきい値。変更された行数が 'report' より多い場合、ほとんどの ":" コマンドでメッセージが表示されます。常に表示する場合は、'report' を 0 に設定します。":substitute" コマンドの場合、行数ではなく置換数が使用されます。
'revins' 'ri' 'norevins' 'nori' 'revins' 'ri' 真偽値 (デフォルト off) グローバル 挿入モードでの文字の挿入は、逆方向に機能します。「逆方向の入力」ins-reverse を参照してください。このオプションは、'allowrevins' が設定されている場合、挿入モードで CTRL-_ コマンドを使用して切り替えることができます。
'rightleft' 'rl' 'norightleft' 'norl' 'rightleft' 'rl' 真偽値 (デフォルト off) ウィンドウローカル オンにすると、表示方向が右から左になります。つまり、ファイルに保存されている文字は右から左に表示されます。このオプションを使用すると、ヘブライ語やアラビア語など、右から左に書かれる言語のファイルを編集できます。このオプションはウィンドウごとであるため、混合ファイルを同時に編集したり、同じファイルを両方の方法で表示したりできます(右から左と左から右の両方の文字列を含む混合テキストファイルがある場合、両方のセットが異なるウィンドウで正しく表示されるようにする場合に便利です)。rileft.txt も参照してください。
'rightleftcmd' 'rlc' 'rightleftcmd' 'rlc' 文字列 (デフォルト "search") ウィンドウローカル このオプションの各単語により、コマンドライン編集がコマンドのグループに対して右から左モードで機能するようになります。
search "/" および "?" コマンド
これは、ヘブライ語、アラビア語、ペルシア語などの言語に役立ちます。'rightleft' オプションは、'rightleftcmd' を有効にするために設定する必要があります。
'ruler' 'ru' 'noruler' 'noru' 'ruler' 'ru' 真偽値 (デフォルト on) グローバル カーソル位置の行番号と列番号をコンマで区切って表示します。スペースがある場合は、ファイル内の表示テキストの相対位置が右端に表示されます。 Top 最初の行が表示されています Bot 最後の行が表示されています All 最初と最後の行が表示されています 45% ファイル内の相対位置 'rulerformat' が設定されている場合、ルーラーの内容を決定します。各ウィンドウには独自のルーラーがあります。ウィンドウにステータス行がある場合、ルーラーはそこに表示されます。ウィンドウにステータス行がなく、'cmdheight' がゼロの場合、ルーラーは表示されません。それ以外の場合は、画面の最後の行に表示されます。ステータス行が 'statusline' によって与えられている場合 (つまり、空ではない場合)、このオプションは 'ruler' および 'rulerformat' よりも優先されます。表示される文字数がテキストのバイト数と異なる場合(例:TABまたはマルチバイト文字の場合)、テキスト列(バイト数)と画面列の両方が、ダッシュで区切られて表示されます。空の行の場合、「0-1」が表示されます。空のバッファーの場合、行番号もゼロになります。「0,0-1」。ルーラーを常に表示したくないが、自分の位置を知りたい場合は、「g CTRL-Gg_CTRL-G を使用します。
'rulerformat' 'ruf' 'rulerformat' 'ruf' 文字列 (デフォルト "") グローバル このオプションが空でない場合、'ruler' オプションで表示されるルーラ文字列の内容を決定します。このオプションの形式は、'statusline' の形式のようになります。このオプションは、'modelineexpr' がオフの場合、モデルラインに設定できません。
デフォルトのルーラーの幅は 17 文字です。ルーラーの幅を 15 文字にするには、先頭に "%15(" を、末尾に "%)" を入力します。例
set rulerformat=%15(%c%V\ %p%%%)
'runtimepath' 'rtp' vimfiles 'runtimepath' 'rtp' 文字列 (デフォルト "$XDG_CONFIG_HOME/nvim, $XDG_CONFIG_DIRS[1]/nvim, $XDG_CONFIG_DIRS[2]/nvim, … $XDG_DATA_HOME/nvim[-data]/site, $XDG_DATA_DIRS[1]/nvim/site, $XDG_DATA_DIRS[2]/nvim/site, … $VIMRUNTIME, … $XDG_DATA_DIRS[2]/nvim/site/after, $XDG_DATA_DIRS[1]/nvim/site/after, $XDG_DATA_HOME/nvim[-data]/site/after, … $XDG_CONFIG_DIRS[2]/nvim/after, $XDG_CONFIG_DIRS[1]/nvim/after, $XDG_CONFIG_HOME/nvim/after") グローバル これらのランタイムファイルを検索するディレクトリのリスト: filetype.lua ファイルタイプ 新しいファイルタイプ autoload/ 自動的にロードされるスクリプト 自動ロード関数 colors/ カラースキームファイル :colorscheme compiler/ コンパイラファイル :compiler doc/ ドキュメント ローカルヘルプの作成 ftplugin/ ファイルタイププラグイン ファイルタイププラグインの作成 indent/ インデントスクリプト インデント式 keymap/ キーマップファイル mbyte-keymap lang/ メニュー翻訳 :menutrans lua/ Lua プラグイン menu.vim GUIメニュー menu.vim pack/ パッケージ :packadd parser/ treesitter 構文パーサー plugin/ プラグインスクリプト プラグインの作成 queries/ treesitter クエリ rplugin/ リモートプラグイン スクリプト spell/ スペルチェックファイル spell syntax/ 構文ファイル mysyntaxfile tutor/ チュートリアルファイル :Tutor
そして、:runtime コマンドで検索されるその他のファイル。
デフォルトでは、以下の場所を検索するように設定されています。 1. 個人的な設定のためのホームディレクトリ。stdpath("config") で指定されます。$XDG_CONFIG_HOME 2. xdg に従って設定ファイルを含む必要があるディレクトリ ($XDG_CONFIG_DIRS、デフォルトは /etc/xdg)。これにはシステム管理者による設定も含まれます。 3. ユーザーがインストールしたプラグイン用のデータホームディレクトリ。stdpath("data")/site で指定されます。$XDG_DATA_HOME 4. $XDG_DATA_DIRS の各ディレクトリの nvim/site サブディレクトリ。これはシステム管理者によってインストールされたが、Nvim ディストリビューションの一部ではないプラグイン用です。XDG_DATA_DIRS のデフォルトは /usr/local/share/:/usr/share/ であるため、システム管理者はサイトプラグインを /usr/share/nvim/site にインストールすることが想定されます。 5. スワップ、backupdir、viewdir、undodir などの状態データ用のセッション状態ディレクトリ。stdpath("state") で指定されます。$XDG_STATE_HOME 6. Nvim とともに配布されるファイル用の $VIMRUNTIME。after-directory
7, 8, 9, 10. 1、2、3、4 の after/ サブディレクトリで、逆順で。これは、配布されたデフォルトやシステム全体の設定を上書きまたは追加するための設定です (まれに必要な場合)。
packages-runtimepath
"start" パッケージもこれらの後でランタイムファイルのために検索されます(runtime-search-path)が、そのようなパッケージは &runtimepath に明示的に報告されません。ただし、"opt" パッケージは :packadd によって &runtimepath に明示的に追加されます。
'path' とは異なり、"**" のようなワイルドカードは許可されていないことに注意してください。通常のワイルドカードは許可されていますが、ランタイムファイルの検索が大幅に遅くなる可能性があります。速度を上げるには、できるだけ少ない項目を使用し、ワイルドカードを避けてください。:runtime を参照してください。例
set runtimepath=~/vimruntime,/mygroup/vim,$VIMRUNTIME
これは、最初に "~/vimruntime" ディレクトリ (個人的な Nvim ランタイムファイルを含む) を使用し、次に "/mygroup/vim" を使用し、最後に "$VIMRUNTIME" (デフォルトのランタイムファイル) を使用します。配布されたランタイムファイルを置き換えるファイルを見つけるには、$VIMRUNTIME の前にディレクトリを置くことができます。配布されたランタイムファイルに追加するファイルを見つけるには、$VIMRUNTIME の後にディレクトリを置くことができます。
--clean を使用すると、ホームディレクトリのエントリは含まれません。
'scroll' 'scr' 'scroll' 'scr' 数値 (デフォルトはウィンドウの高さの半分) ウィンドウローカル local-noglobal CTRL-U および CTRL-D コマンドでスクロールする行数。ウィンドウサイズが変更されると、ウィンドウ内の行数の半分に設定されます。これは、ステータスラインまたは 'tabline' オプションを 'scroll' オプションを設定した後で有効にした場合に発生する可能性があります。CTRL-U または CTRL-D コマンドにカウントを指定すると、'scroll' の新しい値として使用されます。":set scroll=0" でウィンドウの高さの半分にリセットされます。
'scrollback' 'scbk' 'scrollback' 'scbk' 数値 (デフォルト 10000) バッファローカル 可視画面を超えて保持される行の最大数。新しい行がこの制限を超えると、上部の行が削除されます。最小値は1、最大値は100000です。ターミナルバッファでのみ使用されます。
注: 表示されておらず、スクロールバックに保持されている行は、ターミナルバッファのサイズが水平方向に変更された場合、リフローされません。
'scrollbind' 'scb' 'noscrollbind' 'noscb' 'scrollbind' 'scb' 真偽値 (デフォルトはオフ) ウィンドウローカル スクロールバインディングも参照してください。このオプションが設定されている場合、現在のウィンドウをスクロールすると、他のスクロールバインドウィンドウ (このオプションも設定されているウィンドウ) もスクロールします。このオプションは、ファイルの2つのバージョン間の違いを表示するのに役立ちます。'diff'を参照してください。このオプションをどのように解釈する必要があるかを決定するオプションについては、'scrollopt'を参照してください。このオプションは、別のファイルを編集するためにウィンドウを分割すると、ほとんどリセットされます。つまり、":split | edit file" はスクロールバインディングを持つ2つのウィンドウになりますが、":split file" はそうではありません。
'scrolljump' 'sj' 'scrolljump' 'sj' 数値 (デフォルトは1) グローバル カーソルが画面から外れたときにスクロールする最小行数 (例: "j")。スクロールコマンド (例: CTRL-ECTRL-D) には使用されません。ターミナルのスクロールが非常に遅い場合に便利です。-1 から -100 までの負の数に設定すると、ウィンドウの高さの割合として使用されます。したがって、-50 はウィンドウの高さの半分をスクロールします。
'scrolloff' 'so' 'scrolloff' 'so' 数値 (デフォルト 0) グローバルまたはウィンドウローカル global-local カーソル上下に保持する画面行の最小数。これにより、作業中の場所の周りにいくつかのコンテキストが表示されます。非常に大きな値 (999) に設定すると、カーソル行は常にウィンドウの中央に表示されます (ファイルの先頭または末尾、または長い行が折り返される場合を除く)。ローカル値を使用した後は、次の2つのいずれかでグローバル値に戻ります。
setlocal scrolloff<
setlocal scrolloff=-1
水平スクロールについては、'sidescrolloff' を参照してください。
'scrollopt' 'sbo' 'scrollopt' 'sbo' 文字列 (デフォルト "ver,jump") グローバル これは、'scrollbind' ウィンドウがどのように動作するかを指定する、コンマ区切りの単語のリストです。'sbo' は ScrollBind Options の略です。次の単語が利用可能です: ver 'scrollbind' ウィンドウの垂直スクロールをバインドします hor 'scrollbind' ウィンドウの水平スクロールをバインドします jump 垂直スクロールの2つのウィンドウ間のオフセットに適用されます。このオフセットは、バインドされたウィンドウの最初に表示される行の差です。ウィンドウ内を移動すると、別の 'scrollbind' ウィンドウがバッファの先頭より前または末尾より後の位置に到達する可能性があります。オフセットは変更されませんが、'scrollbind' ウィンドウに戻ると、可能な場合は目的の位置にスクロールしようとします。そのウィンドウを現在のウィンドウにする場合、相対オフセットに対して2つのことを行うことができます。 1. "jump" が含まれていない場合、相対オフセットは新しい現在のウィンドウのスクロール位置に合わせて調整されます。他のウィンドウに戻ると、新しい相対オフセットが使用されます。 2. "jump" が含まれている場合、他のウィンドウは同じ相対オフセットを維持するためにスクロールされます。他のウィンドウに戻ると、同じ相対オフセットが使用されます。スクロールバインディングも参照してください。'diff' モードがアクティブな場合、"ver" がなくても常に垂直スクロールバインディングがあります。
'sections' 'sect' 'sections' 'sect' 文字列 (デフォルト "SHNHH HUnhsh") グローバル セクションを区切る nroff マクロを指定します。これらは2文字のペアです(オブジェクトモーションを参照)。デフォルトでは、nroff マクロ ".SH"、".NH"、".H"、".HU"、".nh" および ".sh" でセクションが開始されます。
'selection' 'sel' 'selection' 'sel' 文字列 (デフォルトは "inclusive") グローバル このオプションは、選択の動作を定義します。ビジュアルモードとセレクトモードでのみ使用されます。可能な値
値 行末を超過 包含
old いいえ はい 包含 はい はい 排他的 はい いいえ 「行末を超過」とは、カーソルが行の最後から1文字先に配置できることを意味します。「包含」とは、選択の最後の文字が操作に含まれることを意味します。たとえば、「x」が選択を削除するために使用される場合です。「old」を使用し、'virtualedit' がカーソルを行末を超えて移動できるようにする場合でも、改行は含まれません。「排他的」が使用され、末尾から逆方向に選択する場合、ノーマルモードで開始し、'virtualedit' が空の場合、行の最後の文字を含めることはできないことに注意してください。
'selectmode' 'slm' 'selectmode' 'slm' 文字列 (デフォルト "") グローバル これは、選択が開始されたときに、ビジュアルモードではなくセレクトモードを開始するタイミングを指定する、コンマ区切りの単語のリストです。可能な値: mouse マウスを使用した場合 key シフトキー付きの特殊キーを使用した場合 cmd "v"、"V"、または CTRL-V を使用した場合 セレクトモードを参照してください。
'sessionoptions' 'ssop' 'sessionoptions' 'ssop' 文字列 (デフォルト "blank,buffers,curdir,folds,help,tabpages,winsize,terminal") グローバル :mksession コマンドの効果を変更します。これは、コンマ区切りの単語のリストです。各単語は、何かを保存および復元できるようにします。
単語 保存と復元
blank 空のウィンドウバッファ、隠されたバッファ、アンロードされたバッファ。カレントディレクトリ内のウィンドウだけでなく、手動で作成された折りたたみ、開閉された折りたたみ、ローカルの折りたたみオプション。globals 大文字で始まり、少なくとも1つの小文字を含むグローバル変数。StringとNumber型のみが保存される。help ヘルプウィンドウ。localoptions ウィンドウまたはバッファにローカルなオプションとマッピング (ローカルオプションのグローバル値ではない)。options すべてのオプションとマッピング (ローカルオプションのグローバル値も含む)。skiprtp 'runtimepath''packpath' をオプションから除外する。resize Vimウィンドウのサイズ: 'lines''columns'。sesdir セッションファイルが置かれているディレクトリがカレントディレクトリになる (異なるシステムからネットワーク経由でアクセスするプロジェクトで便利)。tabpages すべてのタブページ。これがないと、現在のタブページのみが復元されるため、タブページごとにセッションを作成できる。terminal コマンドが復元できるターミナルウィンドウを含める。winpos Vimウィンドウ全体の位置。winsize ウィンドウサイズ。slash 非推奨。常に有効。ファイル名に "/" を使用。unix 非推奨。常に有効。改行に "\n" を使用。
"curdir" と "sesdir" の両方を含めないでください。どちらも含まれていない場合、ファイル名は絶対パスとして保存されます。"options" を省略すると、セッションの復元後に多くのものがうまく動作しません。
'shada' 'sd' E526 E527 E528 'shada' 'sd' string (Win32 のデフォルト: !,'100,<50,s10,h,rA:,rB: その他のデフォルト: !,'100,<50,s10,h) global 空でない場合、shadaファイルはVimの起動時に読み込まれ、終了時に書き込まれます(shada-fileを参照)。文字列は、コンマで区切られたパラメータのリストである必要があり、各パラメータは、特定のパラメータを識別する1つの文字と、そのパラメータの値を指定する数値または文字列で構成されます。特定の文字が省略された場合、そのパラメータにはデフォルト値が使用されます。以下に、識別文字とそれらの値の効果のリストを示します。
文字 値
shada-!
! これが含まれていると、大文字で始まり、小文字を含まないグローバル変数が保存および復元されます。したがって、"KEEPTHIS" と "K_L_M" は保存されますが、"KeepThis" と "_K_L_M" は保存されません。ネストされたListとDictの項目は正しく読み戻されない可能性があり、空の項目になります。shada-quote
" 各レジスタに保存される最大行数。'<' 項目の古い名前で、" の前にバックスラッシュを付ける必要があるという欠点があります。そうしないと、コメントの開始として認識されてしまいます! shada-%
% これが含まれていると、バッファリストが保存および復元されます。Vimがファイル名引数付きで起動された場合、バッファリストは復元されません。Vimがファイル名引数なしで起動された場合、バッファリストはshadaファイルから復元されます。クイックフィックス ('buftype')、リストされていない ('buflisted')、名前のないバッファ、およびリムーバブルメディア上のバッファ (shada-r) は保存されません。数値が続く場合、その数値は保存されるバッファの最大数を指定します。数値がない場合、すべてのバッファが保存されます。shada-'
' マークが記憶される、以前に編集したファイルの最大数。このパラメータは、'shada' が空でない場合は必ず含める必要があります。この項目を含めることは、ジャンプリストチェンジリストがshadaファイルに保存されることも意味します。 shada-/
/ 保存される検索パターン履歴の最大項目数。ゼロ以外の場合、以前の検索パターンと置換パターンも保存されます。含まれていない場合、'history' の値が使用されます。shada-:
: 保存されるコマンドライン履歴の最大項目数。含まれていない場合、'history' の値が使用されます。shada-<
< 各レジスタに保存される最大行数。ゼロの場合、レジスタは保存されません。含まれていない場合、すべての行が保存されます。"'" はこの項目の古い名前です。以下の 's' 項目も参照してください: KiB で指定された制限。shada-@
@ 保存される入力行履歴の最大項目数。含まれていない場合、'history' の値が使用されます。shada-c
c ダミーオプション、互換性のため残されています。実際には効果はありません: ShaDa は常にUTF-8を使用し、'encoding' の値も UTF-8 に固定されています。shada-f
f ファイルマークを保存する必要があるかどうか。ゼロの場合、ファイルマーク ('0' から '9'、'A' から 'Z') は保存されません。存在しない場合、またはゼロ以外の場合は、すべて保存されます。'0' は、現在のカーソル位置に使用されます(終了時、または:wshadaを実行した場合)。shada-h
h shada ファイルのロード時に 'hlsearch' の効果を無効にします。含まれていない場合、最後の検索コマンド以降に ":nohlsearch" が使用されたかどうかによって異なります。shada-n
n shada ファイルの名前。名前は 'n' の直後に続く必要があります。オプションの最後に記述する必要があります! 'shadafile' オプションが設定されている場合、そのファイル名は 'shada' で指定されたものを上書きします。環境変数は、オプションを設定するときではなく、ファイルを開くときに展開されます。shada-r
r リムーバブルメディア。引数は文字列(次の ',' まで)です。このパラメータは複数回指定できます。それぞれがマークが保存されないパスの開始を指定します。これはリムーバブルメディアを避けるためです。Windows の場合は "ra:,rb:" を使用できます。一時ファイルにも使用できます。たとえば、Unix の場合は "r/tmp" です。大文字と小文字は区別されません。shada-s
s KiB単位のアイテム内容の最大サイズ。ゼロの場合、何も保存されません。Vimとは異なり、これはバッファリストとヘッダーを除くすべての項目に適用されます。フルアイテムサイズは、3つの符号なし整数によってオフになります。s10では、最大アイテムサイズは1バイト (タイプ: 7ビット整数) + 9バイト (タイムスタンプ: 最大64ビット整数) + 3バイト (アイテムサイズ: 2^8 < 10240 < 2^16 であるため最大16ビット整数) + 10240バイト (要求された最大アイテム内容サイズ) = 10253バイトになる可能性があります。
set shada='50,<1000,s100,:0,n~/nvim/shada
'50 最後に編集した50ファイルについて、マークが記憶されます。<1000 レジスタの内容 (それぞれ最大1000行) が記憶されます。s100 100 KiBを超える内容を持つアイテムはスキップされます。:0 コマンドライン履歴は保存されません。n~/nvim/shada 使用するファイルの名前は "~/nvim/shada" です。no / '/' が指定されていないため、デフォルトが使用されます。つまり、検索履歴、および以前の検索パターンと置換パターンをすべて保存します。no % バッファリストは保存も読み戻しもされません。no h 'hlsearch' のハイライトは復元されます。
'shada' を空の値から設定するときは、:rshada を使用してファイルの内容をロードできます。これは自動的には行われません。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'shadafile' 'sdf' 'shadafile' 'sdf' string (デフォルト "") global 空でない場合、shada (viminfo) に使用されるファイル名を上書きします。"NONE" と等しい場合は、shada ファイルは読み書きされません。このオプションは、-i コマンドラインフラグで設定できます。--clean コマンドラインフラグは、これを "NONE" に設定します。このオプションは、セキュリティ上の理由から、モデル行またはサンドボックスから設定することはできません。
'shell' 'sh' E91 'shell' 'sh' string (デフォルト $SHELL または "sh", Win32: "cmd.exe") global ! と :! コマンドに使用するシェルの名前。値を変更する場合は、次のオプションも確認してください: 'shellpipe', 'shellslash' 'shellredir', 'shellquote', 'shellxquote' および 'shellcmdflag'。コマンドに引数を指定することもできます。例: "csh -f"。スペースとバックスラッシュを含める方法については、option-backslash を参照してください。環境変数は :set_env で展開されます。
シェルの名前にスペースが含まれている場合は、引用符で囲む必要があります。引用符を使用した例
set shell=\"c:\program\ files\unix\sh.exe\"\ -f
各引用符の前にバックスラッシュ(コメントの開始を避けるため)と、各スペース(オプション値の終了を避けるため)があることに注意してください。したがって、このように:let-&を使用する方が良いでしょう。
let &shell='"C:\Program Files\unix\sh.exe" -f'
" -f" はコマンド名の一部ではないため、引用符の内側にないことにも注意してください。shell-unquoting
引用符に関する規則: 1. オプションは、引用符で囲まれていないスペースとタブ文字で分割されます。「abc def」は、「abc」という名前のシェルを追加の引数「def」で実行します。一方、「"abc def"」は、「abc def」という名前のシェルを追加の引数なしで実行します(ここで、および以下で:追加とは、'shellcmdflag'に追加されるものを意味します)。 2. オプション内の引用符は、任意の位置に任意の数で存在できます。「"abc"」、「"a"bc」、「a"b"c」、「ab"c"」、「"a"b"c"」はすべて、単に「abc」と同等です。 3. 引用符の中で、バックスラッシュの前のバックスラッシュは1つのバックスラッシュを意味します。引用符の前のバックスラッシュは1つの引用符を意味します。それ以外の文字の前のバックスラッシュは、バックスラッシュと次の文字を文字通りに意味します。「"a\\b"」は「a\b」と同じであり、「"a\\"b"」は文字通り「a"b」という名前のシェルを実行し、「"a\b"」は再び「a\b」と同じです。 4. 引用符の外では、バックスラッシュは常にそれ自体を意味し、引用符をエスケープするために使用することはできません。「a\"b"」は「a\b」と同じです。このような処理は、:setが独自のエスケープ解除を行った後に行われるため、正気を保つためには、上記のように:let-&を使用してください。 shell-powershell
PowerShellを使用するには
let &shell = executable('pwsh') ? 'pwsh' : 'powershell'
let &shellcmdflag = '-NoLogo -NonInteractive -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.UTF8Encoding]::new();$PSDefaultParameterValues[''Out-File:Encoding'']=''utf8'';$PSStyle.OutputRendering=''plaintext'';Remove-Alias -Force -ErrorAction SilentlyContinue tee;'
let &shellredir = '2>&1 | %%{ "$_" } | Out-File %s; exit $LastExitCode'
let &shellpipe  = '2>&1 | %%{ "$_" } | tee %s; exit $LastExitCode'
set shellquote= shellxquote=
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'shellcmdflag' 'shcf' 'shellcmdflag' 'shcf' string (デフォルト "-c"; Windows: "/s /c")グローバル 「!」および「:!」コマンドを実行するためにシェルに渡されるフラグ。例えば、bash.exe -c lsまたはcmd.exe /s /c "dir"です。MS-Windowsの場合、デフォルトは、ユーザーがこのオプションを設定する必要性を減らすために、'shell'の値に従って設定されます。 Unixでは、複数のフラグを持つことができます。空白で区切られた各部分は、シェルコマンドへの引数として渡されます。スペースとバックスラッシュの含め方については、option-backslashを参照してください。このオプションを複数の引数に分割する方法については、shell-unquotingを参照してください。このオプションは、セキュリティ上の理由から、modelineまたはsandboxでは設定できません。
'shellpipe' 'sp' 'shellpipe' 'sp' string (デフォルト ">", "| tee", "|& tee" or "2>&1| tee") グローバル ":make"コマンドの出力をエラーファイルに入れるために使用される文字列。:make_makeprgも参照してください。スペースとバックスラッシュの含め方については、option-backslashを参照してください。必要であれば、一時ファイルの名前は"%s"で表すことができます(このオプションの値に%sが表示されない場合、ファイル名は自動的に追加されます)。MS-Windowsの場合、デフォルトは「2>&1| tee」です。stdoutとstderrはファイルに保存され、画面にエコーされます。Unixの場合、デフォルトは「| tee」です。コンパイラのstdoutはファイルに保存され、画面にエコーされます。'shell'オプションが初期化後に「csh」または「tcsh」の場合、デフォルトは「|& tee」になります。'shell'オプションが「sh」、「ksh」、「mksh」、「pdksh」、「zsh」、「zsh-beta」、「bash」、「fish」、「ash」または「dash」の場合、デフォルトは「2>&1| tee」になります。これは、stderrも含まれることを意味します。'shell'オプションを使用する前にパスが削除されるため、「/bin/sh」は「sh」を使用します。このオプションの初期化は、vimrcおよびその他の初期化を読み取った後に行われるため、'shell'オプションがそこで設定されている場合、'shellpipe'オプションは、明示的に設定されていない限り、自動的に変更されます。'shellpipe'が空の文字列に設定されている場合、":make"出力のリダイレクトは行われません。これは、'makeef'に書き込む'makeprg'を使用する場合に役立ちます。パイプ処理を行わず、'makeef'を含めたい場合は、'shellpipe'を単一のスペースに設定します。スペースの前にバックスラッシュを付けることを忘れないでください:":set sp=\ "。将来、パイプはフィルタリングに使用される可能性があり、このオプションは(少なくともUnixでは)廃止されるでしょう。このオプションは、セキュリティ上の理由から、modelineまたはsandboxでは設定できません。
'shellquote' 'shq' 'shellquote' 'shq' string (デフォルト ""; Windowsで、'shell'に「sh」が含まれている場合:「\"」) グローバル 「!」および「:!」コマンドで、シェルに渡されるコマンドを囲む引用符文字。リダイレクトは引用符の外側に保持されます。リダイレクトを含めるには、'shellxquote'を参照してください。両方のオプションを設定することは、おそらく役に立ちません。これはデフォルトでは空の文字列です。MKS Korn ShellやbashなどのWindowsシステムのサードパーティ製シェルでのみ有用であることが知られており、その場合は「\"」である必要があります。デフォルトは、ユーザーがこのオプションを設定する必要性を減らすために、'shell'の値に応じて調整されます。このオプションは、セキュリティ上の理由から、modelineまたはsandboxでは設定できません。
'shellredir' 'srr' 'shellredir' 'srr' string (デフォルト ">", ">&" or ">%s 2>&1") グローバル フィルターコマンドの出力を一時ファイルに入れるために使用される文字列。:!も参照してください。スペースとバックスラッシュの含め方については、option-backslashを参照してください。必要であれば、一時ファイルの名前は"%s"で表すことができます(このオプションの値に%sが表示されない場合、ファイル名は自動的に追加されます)。デフォルトは「>」です。Unixの場合、初期化中に'shell'オプションが「csh」または「tcsh」の場合、デフォルトは「>&」になります。'shell'オプションが「sh」、「ksh」、「mksh」、「pdksh」、「zsh」、「zsh-beta」、「bash」または「fish」の場合、デフォルトは「>%s 2>&1」になります。これは、stderrも含まれることを意味します。Win32の場合、Unixのチェックが行われ、さらに「cmd」がチェックされ、デフォルトが「>%s 2>&1」になります。また、「.exe」が追加された同じ名前もチェックされます。このオプションの初期化は、vimrcおよびその他の初期化を読み取った後に行われるため、'shell'オプションがそこで設定されている場合、'shellredir'オプションは、明示的に設定されていない限り、自動的に変更されます。将来、パイプはフィルタリングに使用される可能性があり、このオプションは(少なくともUnixでは)廃止されるでしょう。このオプションは、セキュリティ上の理由から、modelineまたはsandboxでは設定できません。
'shellslash' 'ssl' 'noshellslash' 'nossl' 'shellslash' 'ssl' boolean (デフォルト off) グローバル MS-Windowsのみ設定されている場合、ファイル名を展開するときにスラッシュが使用されます。これは、cmd.exeの代わりにUnixのようなシェルを使用する場合に便利です。バックスラッシュも入力できますが、Vimによってスラッシュに変更されます。このオプションの設定またはリセットは、既存の一部のファイル名には影響がないため、最良の結果を得るには、このオプションをファイルを開く前に設定する必要があることに注意してください。これは将来変更される可能性があります。'shellslash'は、バックスラッシュをパス区切り文字として使用できる場合にのみ機能します。これを確認するには、以下を使用してください
if exists('+shellslash')
'completeslash'も参照してください。
'shelltemp' 'stmp' 'noshelltemp' 'nostmp' 'shelltemp' 'stmp' boolean (デフォルト on) グローバル オンの場合、シェルコマンドに一時ファイルを使用します。オフの場合、パイプを使用します。パイプの使用が不可能な場合、いずれにしても一時ファイルが使用されます。パイプを使用する利点は、誰も一時ファイルを読み取ることができず、'shell'コマンドがリダイレクトをサポートする必要がないことです。一時ファイルを使用する利点は、ファイルの種類とエンコーディングを検出できることです。FilterReadPreFilterReadPostFilterWritePreFilterWritePostの自動コマンドイベントは、'shelltemp'がオフの場合にはトリガーされません。system()はこのオプションを尊重せず、常にパイプを使用します。
'shellxescape' 'sxe' 'shellxescape' 'sxe' string (デフォルト "") グローバル 'shellxquote'が「(」に設定されている場合、このオプションにリストされている文字は「^」文字でエスケープされます。これにより、cmd.exeでほとんどの外部コマンドを実行できるようになります。このオプションは、セキュリティ上の理由から、modelineまたはsandboxでは設定できません。
'shellxquote' 'sxq' 'shellxquote' 'sxq' string (デフォルト "", Windows: "\"") グローバル 「!」および「:!」コマンドで、シェルに渡されるコマンドを囲む引用符文字。リダイレクトを含みます。リダイレクトを除外するには、'shellquote'を参照してください。両方のオプションを設定することは、おそらく役に立ちません。値が「(」の場合、「)」が追加されます。値が「"(」の場合、「)"」が追加されます。値が「(」の場合は、'shellxescape'も参照してください。このオプションは、セキュリティ上の理由から、modelineまたはsandboxでは設定できません。
'shiftround' 'sr' 'noshiftround' 'nosr' 'shiftround' 'sr' boolean (デフォルト off) グローバル インデントを'shiftwidth'の倍数に丸めます。>および<コマンドに適用されます。挿入モードでのCTRL-TおよびCTRL-Dは、常にインデントを'shiftwidth'の倍数に丸めます(これはVi互換です)。
'shiftwidth' 'sw' 'shiftwidth' 'sw' number (デフォルト 8) バッファローカル (自動)インデントの各ステップに使用するスペースの数。'cindent'>><<などに使用されます。ゼロの場合、'tabstop'値が使用されます。有効なshiftwidth値を取得するには、shiftwidth()関数を使用してください。
'shortmess' 'shm' E1336 'shortmess' 'shm' string (デフォルト "ltToOCF") グローバル このオプションは、ファイルメッセージ(例えば、CTRL-G)によって発生するすべてのhit-enterプロンプトを回避したり、その他のメッセージを回避したりするのに役立ちます。これはフラグのリストです
フラグが存在する場合の意味
l 「999行、888バイト」ではなく、「999L、888B」を使用する shm-l m 「[変更済み]」の代わりに「[+]」を使用する shm-m
r 「[読み取り専用]」の代わりに「[RO]」を使用する shm-r
w ファイル書き込みメッセージに「書き込みました」の代わりに「[w]」を使用する shm-w および「:w >> ファイル」コマンドの「追加しました」の代わりに「[a]」を使用する a 上記のすべての略語 shm-a
ファイル書き込み時の上書きメッセージは、ファイル読み込み時の後続のshm-oメッセージで上書きされます(":wn"や'autowrite'がオンの場合に便利です)。ファイル読み込み時のOメッセージは、以前のshm-Oメッセージを上書きします。クイックフィックスメッセージ(例:":cn")の場合も同様です。sは、「検索がBOTTOMに達し、TOPから継続」や、shm-s「検索がTOPに達し、BOTTOMから継続」といったメッセージを表示しません。検索回数を使用する場合、カウントメッセージの前に"W"を表示しません(下記のshm-Sを参照)。tコマンドラインに収まらないほどファイルメッセージが長すぎる場合、先頭を切り詰めます。shm-t左端の列に"<"が表示されます。Exモードでは無視されます。Tコマンドラインに収まらないほど他のメッセージが長すぎる場合、中央を切り詰めます。shm-T中央に"..."が表示されます。Exモードでは無視されます。Wファイルの書き込み時に「書き込みました」または「[w]」を表示しません。shm-WA既存のshm-Aスワップファイルが見つかったときに「ATTENTION」メッセージを表示しません。I Vim起動時にイントロメッセージを表示しません。shm-I
:introを参照してください。cins-completion-menuメッセージを表示しません。例えば、shm-c
"-- XXX completion (YYY)"、"match 1 of 2"、"The only match"、"Pattern not found"、"Back at original"などのメッセージ。C ins-completionのshm-C項目をスキャン中のメッセージ(例:「scanning tags」)を表示しません。qマクロ記録時に「recording @a」を表示しません。shm-qFファイル編集時にファイル情報を表示しません。例えば、shm-Fコマンドに:silentが使用された場合などです。これは、'autoread'によるリロードのメッセージにも影響します。S検索時に検索回数メッセージ(例:shm-S「[1/5]」)を表示しません。"S"フラグがない場合(例えば検索回数が表示される場合)、"search hit BOTTOM, continuing at TOP"と"search hit TOP, continuing at BOTTOM"のメッセージは、検索回数統計の前に"W"(Mnemonic: Wrapped)の文字で示されるだけです。
これにより、バッファ間の変更で<Enter>を押す必要性を回避しながら、利用可能なスペースに対して可能な限り有用なメッセージを表示できます。'shm'が空の場合に取得できるメッセージ全体を取得するには、":file!"を使用してください。便利な値:shm=メッセージを省略しない。shm=a省略するが、情報を失わない。shm=at省略し、必要に応じてメッセージを切り詰める。
'showbreak' 'sbr' E595 'showbreak' 'sbr'文字列(デフォルト "")ウィンドウに対してグローバルまたはローカルglobal-local折り返された行の先頭に表示する文字列。便利な値は"> "または"+++ "です。
let &showbreak = "> "
let &showbreak = '+++ '
印刷可能な単一セル文字のみが許可され、<Tab>とコンマは除外されます(将来のバージョンでは、コンマが行の末尾と先頭に表示される部分を分離するために使用される可能性があります)。hl-NonTextハイライトグループがハイライトを決定します。showbreak後のタブは異なる表示になることに注意してください。'showbreak'を行番号の間に表示する場合は、'cpoptions'に"n"フラグを追加します。ウィンドウローカルの値はグローバルな値を上書きします。グローバル値が設定されており、現在のウィンドウで値を設定したくない場合は、NONEを使用してください。
setlocal showbreak=NONE
'showcmd' 'sc' 'noshowcmd' 'nosc' 'showcmd' 'sc'ブール値(デフォルトはon)グローバル画面の最終行に(部分的な)コマンドを表示します。端末が遅い場合は、このオプションをオフにしてください。Visualモードでは、選択された領域のサイズが表示されます。
行内で文字を選択する場合、文字数。バイト数が異なる場合は、"2-6"は2文字と6バイトを意味するように表示されます。
複数行を選択する場合、行数。
ブロックを選択する場合、画面文字でのサイズ:{行数}x{列数}。この情報は、'showcmdloc'オプションを使用して別の場所に表示できます。'cmdheight'が0の場合に便利です。
'showcmdloc' 'sloc' 'showcmdloc' 'sloc'文字列(デフォルト"last")グローバルこのオプションを使用して、(部分的に)入力されたコマンドを別の場所に表示できます。可能な値は次のとおりです:last画面の最終行(デフォルト)。statusline現在のウィンドウのステータス行。tabline'showtabline'が有効になっている場合は、画面の1行目。このオプションを"statusline"または"tabline"に設定すると、コマンドが変更されるたびにこれらが再描画されます。これは、キーが押されるたびに発生する可能性があります。'statusline'または'tabline'にテキストを配置するには、%S 'statusline'項目を使用できます。カスタム'statusline'または'tabline'がない場合、便利な場所に表示されます。
'showfulltag' 'sft' 'noshowfulltag' 'nosft' 'showfulltag' 'sft'ブール値(デフォルトはoff)グローバル挿入モードで単語を補完する際(ins-completionを参照)、タグファイルから、タグ名と検索パターンの整理された形式(存在する場合)の両方を、一致候補として表示します。したがって、C関数を照合した場合、必要な引数のテンプレート(コーディングスタイルが許可されている場合)を確認できます。検索パターンからの補完が入力されたテキストと一致しない可能性があるため、これは'completeopt'に"longest"を設定した場合とうまく連携しないことに注意してください。
'showmatch' 'sm' 'noshowmatch' 'nosm' 'showmatch' 'sm'ブール値(デフォルトはoff)グローバル括弧が挿入されたときに、対応する括弧に短時間ジャンプします。ジャンプは、一致が画面に表示される場合にのみ実行されます。一致を表示する時間は、'matchtime'で設定できます。一致がない場合は、ビープ音が鳴ります(一致が表示されるかどうかに関係なく)。'm'フラグが'cpoptions'に含まれていない場合、文字を入力するとカーソルはすぐに元の位置に戻ります。一致を表示する際のカーソルの形状と点滅の設定については、'guicursor'の"sm"フィールドを参照してください。'matchpairs'オプションを使用して、一致を表示する文字を指定できます。'rightleft''revins'は、反対の一致を検索するために使用されます。また、pi_paren.txtの移動時に一致を強調表示するmatchparenプラグインも参照してください。注意: 短い形式の使用はPGに評価されています。
'showmode' 'smd' 'noshowmode' 'nosmd' 'showmode' 'smd'ブール値(デフォルトはon)グローバル挿入、置換、またはVisualモードの場合、最終行にメッセージを表示します。hl-ModeMsgハイライトグループがハイライトを決定します。'cmdheight'がゼロの場合、このオプションは効果がありません。
'showtabline' 'stal' 'showtabline' 'stal'数値(デフォルトは1)グローバルこのオプションの値は、タブページラベルの行を表示するタイミングを指定します:0:表示しない。1:タブページが2つ以上ある場合にのみ表示する。2:常に表示する。これは、タブページ行のGUIおよび非GUI実装の両方に対応しています。タブページの詳細については、tab-pageを参照してください。
'sidescroll' 'ss' 'sidescroll' 'ss'数値(デフォルトは1)グローバル水平方向にスクロールする最小列数。'wrap'オプションがオフで、カーソルが画面外に移動した場合にのみ使用されます。0の場合、カーソルは画面の中央に配置されます。遅い端末を使用する場合は、大きな数値または0に設定してください。"zh"および"zl"コマンドには使用されません。
'sidescrolloff' 'siso' 'sidescrolloff' 'siso'数値(デフォルトは0)グローバルまたはウィンドウに対してローカルglobal-local'nowrap'が設定されている場合、カーソルの左右に維持する画面列の最小数。このオプションを0より大きい値に設定し、'sidescroll'もゼロ以外の値に設定すると、(行の先頭を除いて)水平方向にスクロールしている行にコンテキストが表示されます。このオプションを大きな値(999など)に設定すると、行の先頭に近づきすぎない限り、カーソルがウィンドウの中央に水平方向に配置されるようになります。ローカル値を使用した後は、次のいずれかの方法でグローバル値に戻ります。
setlocal sidescrolloff<
setlocal sidescrolloff=-1
例:'sidescroll'および'listchars'と一緒に次の例のように試して、カーソルが「extends」文字に移動することを許可しないようにします。
set nowrap sidescroll=1 listchars=extends:>,precedes:<
set sidescrolloff=1
'signcolumn' 'scl' 'signcolumn' 'scl'文字列(デフォルトは"auto")ウィンドウに対してローカルサインコラムの描画方法とタイミング。有効な値は次のとおりです: "auto" 表示するサインがある場合にのみ表示する。 "auto:[1-9]" 指定された最大数(最大9)までの複数のサインに対応するようにサイズを変更する。例: "auto:4" "auto:[1-8]-[2-9]" 指定された最小数(最大8)の固定スペースを維持しながら、指定された最大数(最大9)までの複数のサインに対応するようにサイズを変更する。最小数は常に最大数より小さくする必要があります。例: "auto:2-5" "no" 表示しない。 "yes" 常に表示する。 "yes:[1-9]" 常に表示する。指定された最大数(最大9)までのサイン用の固定スペースを使用する。例: "yes:3" "number" 'number'列にサインを表示する。番号列がない場合、"auto"のように動作します。
'smartcase' 'scs' 'nosmartcase' 'noscs' 'smartcase' 'scs'ブール値(デフォルトはoff)グローバル検索パターンに大文字が含まれている場合、'ignorecase'オプションをオーバーライドします。検索パターンが入力され、'ignorecase'オプションがオンの場合にのみ使用されます。"/"、"?"、"n"、"N"、":g"、":s"のコマンドで使用されます。"*"、"#"、"gd"、タグ検索などには使用されません。"*"と"#"の後で、履歴から検索パターンを呼び出して<Enter>を押すことで、'smartcase'を使用できます。
'smartindent' 'si' 'nosmartindent' 'nosi' 'smartindent' 'si' ブール値(デフォルトはオフ) バッファローカル 新しい行を開始するときにスマートな自動インデントを行います。C言語のようなプログラムで動作しますが、他の言語でも使用できます。'cindent'も同様の動作をしますが、ほとんどの場合より優れており、より厳密です。Cインデントを参照してください。'cindent'がオンになっているか、'indentexpr'が設定されている場合、'si'の設定は効果がありません。'indentexpr'はより高度な代替手段です。通常、'smartindent'を使用する場合は、'autoindent'もオンにする必要があります。インデントは自動的に挿入されます
"{”で終わる行の後。
'cinwords'のキーワードで始まる行の後。
“}”で始まる行の前("O"コマンドの場合のみ)。新しい行の最初の文字として'}'を入力すると、その行には対応する"{"と同じインデントが与えられます。新しい行の最初の文字として'#'を入力すると、その行のインデントは削除され、'#'は最初の列に置かれます。インデントは次の行で復元されます。これが必要ない場合は、次のマッピングを使用してください:「:inoremap # X^H#」。ここで、^HはCTRL-V CTRL-Hで入力します。“>>”コマンドを使用する場合、'#'で始まる行は右にシフトされません。
'smarttab' 'sta' 'nosmarttab' 'nosta' 'smarttab' 'sta' ブール値(デフォルトはオン) グローバル オンの場合、行頭の<Tab>'shiftwidth'に従って空白を挿入します。'tabstop'または'softtabstop'は他の場所で使用されます。<BS>は、行頭の'shiftwidth'のスペースを削除します。オフの場合、<Tab>は常に'tabstop'または'softtabstop'に従って空白を挿入します。'shiftwidth'は、テキストを左右にシフトする場合にのみ使用されます。shift-left-right 挿入されるもの(<Tab>かスペースか)は、'expandtab'オプションによって異なります。ins-expandtabも参照してください。'expandtab'が設定されていない場合、スペースの数は<Tab>を使用して最小限に抑えられます。
'smoothscroll' 'sms' 'nosmoothscroll' 'nosms' 'smoothscroll' 'sms' ブール値(デフォルトはオフ) ウィンドウローカル スクロールは画面行で動作します。'wrap'が設定されている場合、ウィンドウの最初の行が折り返されると、ウィンドウの上にあるかのように、一部が表示されない場合があります。最初の行の先頭には「<<<」が表示され、hl-NonTextで強調表示されます。また、最後の行をできるだけ多く表示するには、'display'オプションに「lastline」を追加することもできます。注意:部分的に実装されており、gjgkではまだ動作しません。
'softtabstop' 'sts' 'softtabstop' 'sts' 数値(デフォルトは0) バッファローカル <Tab>の挿入や<BS>の使用など、編集操作を行う際に<Tab>がカウントするスペースの数。実際にはスペースと<Tab>の組み合わせが使用されているにもかかわらず、<Tab>が挿入されているように「感じ」ます。これは、'ts'設定を標準値の8に維持しながら、'sts'に設定されているかのように編集するのに役立ちます。ただし、"x"などのコマンドは、実際の文字に対して機能します。'sts'がゼロの場合、この機能はオフです。'sts'が負の場合、'shiftwidth'の値が使用されます。ins-expandtabも参照してください。'expandtab'が設定されていない場合、スペースの数は<Tab>を使用して最小限に抑えられます。'list'が設定されている場合、'cpoptions'の「L」フラグはタブの使用方法を変更します。
'softtabstop'の値は、'varsofttabstop'が空の文字列以外に設定されている場合は無視されます。
'spell' 'nospell' 'spell' ブール値(デフォルトはオフ) ウィンドウローカル オンの場合、スペルチェックが実行されます。spellを参照してください。言語は'spelllang'で指定します。
'spellcapcheck' 'spc' 'spellcapcheck' 'spc' 文字列(デフォルトは「[.?!]\_[\])'"\t ]\+」) バッファローカル 文の終わりを特定するためのパターン。次の単語は、大文字で始まるかどうかチェックされます。そうでない場合は、SpellCap hl-SpellCapで強調表示されます(単語のスペルも間違っている場合を除く)。このチェックが必要ない場合は、このオプションを空にします。'spell'が設定されている場合にのみ使用されます。特殊文字には注意してください。スペースとバックスラッシュの含めについては、option-backslashを参照してください。言語に応じてこのオプションを自動的に設定するには、set-spc-autoを参照してください。
'spellfile' 'spf' 'spellfile' 'spf' 文字列(デフォルトは"") バッファローカル zgコマンドとzwコマンドで単語を追加する単語リストファイルの名前。末尾は".{encoding}.add"で終わる必要があります。パスを含める必要があり、そうしないとファイルは現在のディレクトリに配置されます。パスには、'isfname'、' '、'、'、'@'、':'の文字を含めることができます。E765
コンマ区切りの名前のリストでも構いません。zgコマンドとzwコマンドの前のカウントを使用して、それぞれにアクセスできます。これにより、個人の単語リストファイルとプロジェクトの単語リストファイルを使用できます。このオプションが空のときに単語が追加されると、Vimによって設定されます。'runtimepath'で書き込み可能な最初のディレクトリを使用します。「spell」ディレクトリがまだない場合は、作成されます。ファイル名には、'spelllang'に表示される最初の言語名が使用され、地域は無視されます。結果の「.spl」ファイルはスペルチェックに使用されます。これは'spelllang'に表示される必要はありません。通常、すべての地域で1つのファイルが使用されますが、必要に応じて地域名を追加できます。ただし、'spellfile'がそれに設定されている場合にのみ使用されます。'spelllang'のエントリの場合、地域名のないファイルのみが見つかります。このオプションは、セキュリティ上の理由から、modelineまたはサンドボックスから設定することはできません。
'spelllang' 'spl' 'spelllang' 'spl' 文字列(デフォルトは"en") バッファローカル 単語リスト名のコンマ区切りリスト。'spell'オプションがオンの場合、これらの言語でスペルチェックが実行されます。例
set spelllang=en_us,nl,medical
これは、米国英語、オランダ語、および医療用語が認識されることを意味します。認識されない単語は強調表示されます。単語リスト名は、英数字、ダッシュ、またはアンダースコアで構成されている必要があります。コンマやドットを含めないでください。2文字の言語名と仕様を区切るには、ダッシュを使用することをお勧めします。したがって、「en-rare」はまれな英語の単語に使用されます。地域名は最後に「_xx」の形式である必要があります。ここで、「xx」は2文字の小文字の地域名です。複数の地域を使用するには、それらをリストします。「en_us,en_ca」は、米国英語とカナダ英語の両方をサポートしていますが、オーストラリア、ニュージーランド、またはイギリスに固有の単語はサポートしていません。(注:現在、en_auおよびen_nzの辞書はen_ca、en_gb、en_usよりも古いです)。名前「cjk」が含まれている場合、東アジアの文字はスペルチェックから除外されます。これは、アジアの単語も含まれるテキストを編集する場合に役立ちます。 「medical」辞書は存在しないことに注意してください。これは長い名前の例にすぎません。E757
特別なケースとして、.splファイルの名前をそのまま指定できます。名前の最初の「_xx」は削除され、地域名として使用されます(_xxはアンダースコア、2文字で、文字以外の文字が続きます)。これは主にテスト目的です。正しいエンコーディングが使用されていることを確認する必要があります。Vimはそれをチェックしません。関連するスペルファイルがどのように見つかるかは、こちらで説明しています:spell-load
spellfile.vimプラグインがアクティブで、Vimが'runtimepath'で.splファイルを見つけられない言語名を使用した場合、プラグインはファイルをダウンロードするかどうかを尋ねます。
このオプションが正常に設定された後、Vimは'runtimepath'の「spell/LANG.vim」ファイルをソースします。「LANG」は、ASCII文字または数字ではなく、ダッシュでもない最初の文字までの'spelllang'の値です。set-spc-autoも参照してください。
'spelloptions' 'spo' 'spelloptions' 'spo' string (デフォルト "") バッファローカル スペルチェックのオプションをカンマ区切りで指定します: camel 単語がキャメルケースの場合、「Cased」を別の単語とみなします。つまり、小文字の後に続く大文字は新しい単語の開始を示します。 noplainbuffer 'syntax' が有効な場合、またはバッファ内に extmark が設定されている場合にのみバッファのスペルチェックを行います。この場合、バッファの指定された領域のみがスペルチェックされます。
'spellsuggest' 'sps' 'spellsuggest' 'sps' string (デフォルト "best") グローバル スペル候補に使用されるメソッドです。z= コマンドと spellsuggest() 関数の両方で使用されます。これはカンマ区切りの項目リストです
best 英語に最適な内部メソッド。 「fast」のような変更を見つけ、類似音スコアリングを使用して順序を改善します。
double 2つのメソッドを使用し、結果を混合する内部メソッド。最初のメソッドは「fast」、もう1つのメソッドは候補が間違った単語とどれだけ似ているかを計算します。これは、言語がサウンドフォールディングを指定している場合にのみ機能します。処理が遅くなる可能性があり、必ずしも良い結果が得られるとは限りません。
fast 文字の挿入/削除/スワップのような単純な変更のみをチェックする内部メソッド。単純な入力ミスに効果的です。
{number} z= で表示される候補の最大数。spellsuggest() では使用されません。候補の数は、'lines' の値から 2 を引いた数を超えることはありません。
timeout:{millisec} 候補の検索時間を {millisec} ミリ秒に制限します。以下のメソッドに適用されます。省略した場合、制限は 5000 です。負の値の場合、制限はありません。
file:{filename} ファイル {filename} を読み込みます。ファイルには、スラッシュで区切られた2つの列が必要です。最初の列には間違った単語、2番目の列には推奨される正しい単語が含まれます。例
theribal/terrible
内部メソッドで候補リストの先頭に表示されない一般的な間違いに使用します。スラッシュのない行は無視されますので、コメントに使用してください。2番目の列の単語は正しくなければなりません。そうでない場合は使用されません。現在スペルミスとしてフラグが立てられている場合は、単語を ".add" ファイルに追加します。このファイルはすべての言語に使用されます。
expr:{expr} 式 {expr} を評価します。スペースの問題を避けるために関数を使用します。引数なしで関数を呼び出すのが最適です。 expr-option-function を参照してください。v:val にはスペルミスの単語が保持されます。式は候補とスコアのリストのリストとして評価される必要があります。例
[[the, 33], [that, 44]]
'verbose' を設定し、z= を使用して、内部メソッドが使用するスコアを確認します。スコアが低いほど良いです。 一時的に 'spellsuggest' を設定して "expr:" 部分を除外すると、spellsuggest() が呼び出される場合があります。エラーは、'verbose' オプションを 0 以外の値に設定しない限り、黙って無視されます。
"best"、"double"、"fast" のいずれか 1 つのみを使用できます。その他は、任意の順序で複数回出現できます。例
set sps=file:~/.config/nvim/sugg,best,expr:MySuggest()
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'splitbelow' 'sb' 'nosplitbelow' 'nosb' 'splitbelow' 'sb' boolean (デフォルト off) グローバル オンにすると、ウィンドウを分割するときに新しいウィンドウが現在のウィンドウの下に配置されます。:split
'splitkeep' 'spk' 'splitkeep' 'spk' string (デフォルト "cursor") グローバル このオプションの値は、水平分割を開閉またはサイズ変更するときのスクロール動作を決定します。
指定できる値は次のとおりです。 cursor 相対カーソル位置を維持します。 screen 同じ画面行にテキストを維持します。 topline 最上行を維持します。
"screen" および "topline" の値の場合、必要に応じてカーソル位置が変更されます。この場合、ジャンプリストには前のカーソル位置が入力されます。"screen" の場合、'wrap' が有効になっていると、テキストを常に同じ画面行に維持できるとは限りません。
'splitright' 'spr' 'nosplitright' 'nospr' 'splitright' 'spr' boolean (デフォルト off) グローバル オンにすると、ウィンドウを分割するときに新しいウィンドウが現在のウィンドウの右側に配置されます。:vsplit
'startofline' 'sol' 'nostartofline' 'nosol' 'startofline' 'sol' boolean (デフォルト off) グローバル "on" の場合、以下に示すコマンドはカーソルを行の最初の非空白文字に移動します。off の場合、カーソルは(可能な場合)同じ列に保持されます。これは以下のコマンドに適用されます。
CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M", "L", "gg"
行指向の演算子を使用した "d"、"<<"、"=="、">>" (operator-resulting-pos)
カウント付きの "%"
バッファ変更コマンド (CTRL-^, :bnext, :bNext など)
":25" または ":+" のような、行番号のみを持つ Ex コマンド。バッファ変更コマンドの場合、カーソルは最後にバッファが編集されたときの列に配置されます。
'statuscolumn' 'stc' 'statuscolumn' 'stc' string (デフォルト "") ウィンドウローカル 空でない場合、このオプションは、通常は折りたたみ、記号、および数値列を含む、ウィンドウの側面にある領域の内容を決定します。このオプションの形式は、'statusline' の形式に似ています。
'statusline' 形式の一部の項目は、'statuscolumn' では異なります。
%l 現在描画されている行の行番号列 %s 現在描画されている行の記号列 %C 現在描画されている行の折りたたみ列
'statuscolumn' の幅は、デフォルトの列の幅に従い、'numberwidth''signcolumn'、および 'foldcolumn' のオプション値に合わせて調整されます(記号と折りたたみ項目が存在するかどうかに関係なく)。さらに、'statuscolumn' は、評価された形式文字列のサイズに応じて、(デフォルトの折りたたみ、記号、および数値列の最大サイズに従って)増加します。縮小が発生するのは、バッファ内の行数が変更された場合、または 'statuscolumn' オプションが設定された場合のみです。
v:lnum 変数には、描画される行番号が保持されます。v:relnum 変数には、描画される相対行番号が保持されます。v:virtnum 変数は、仮想行を描画するときは負の値、実際のバッファ行を描画するときは 0、バッファ行の折り返し部分を描画するときは正の値になります。
v:relnum を使用する場合、'relativenumber' が設定されていない限り、カーソル移動自体では 'statuscolumn' が更新されないことに注意してください。
注: %@ クリック実行関数項目もサポートされていますが、指定された関数は同じ列の各行で同じになります。動的な 'statuscolumn' 形式で切り替えることはできません。ハンドラーはこれを念頭に置いて作成する必要があります。
例:
" Line number with bar separator and click handlers:
set statuscolumn=%@SignCb@%s%=%T%@NumCb@%l│%T
" Line numbers in hexadecimal for non wrapped part of lines:
let &stc='%=%{v:virtnum>0?"":printf("%x",v:lnum)} '
" Human readable line numbers with thousands separator:
let &stc='%{substitute(v:lnum,"\\d\\zs\\ze\\'
           . '%(\\d\\d\\d\\)\\+$",",","g")}'
" Both relative and absolute line numbers with different
" highlighting for odd and even relative numbers:
let &stc='%#NonText#%{&nu?v:lnum:""}' .
 '%=%{&rnu&&(v:lnum%2)?"\ ".v:relnum:""}' .
 '%#LineNr#%{&rnu&&!(v:lnum%2)?"\ ".v:relnum:""}'
警告: この式は画面の行ごとに評価されるため、コストのかかる式を定義すると、レンダリングパフォーマンスに悪影響を与える可能性があります。
'statusline' 'stl' E540 E542 'statusline' 'stl' string (デフォルト "") グローバルまたはウィンドウローカル global-local 空でない場合、このオプションはステータスラインの内容を決定します。 ステータスラインも参照してください。
このオプションは、通常のテキストが散在する printf スタイルの '%' 項目で構成されます。各ステータスライン項目は、%-0{minwid}.{maxwid}{item} の形式です。{item} 以外のすべてのフィールドはオプションです。単一のパーセント記号は "%%" として指定できます。
オプションが "%!" で始まる場合、式として使用され、評価され、結果がオプションの値として使用されます。例
set statusline=%!MyStatusLine()
g:statusline_winid 変数には、ステータスラインが属するウィンドウの ウィンドウID が設定されます。結果には、評価される %{} 項目を含めることができます。 "%!" 式は現在のウィンドウとバッファのコンテキストで評価されるのに対し、%{} 項目はステータスラインが属するウィンドウのコンテキストで評価されることに注意してください。
オプションの評価中にエラーが発生した場合、それ以上のエラーを回避するために空にされます。それ以外の場合は、画面の更新がループします。結果に印刷できない文字が含まれている場合、結果は予測できません。
このオプションが設定されている場合(および 'laststatus' が 2 または 3 の場合)、'ruler' の唯一の効果は CTRL-G の出力を制御することであることに注意してください。
フィールドの意味
- 項目を左揃えにします。デフォルトでは、minwid が項目の長さよりも大きい場合、右揃えになります。0 数値項目の先頭に 0 を追加します。 "-" によって上書きされます。minwid 項目の最小幅。 "-" および "0" で設定されたように埋められます。値は 50 以下である必要があります。maxwid 項目の最大幅。テキスト項目の場合、左側に "<" を付けて切り捨てが発生します。数値項目の場合、maxwid-2 桁にシフトされ、その後に ">"number が続きます。number は指数表記のように欠落している桁数です。item 以下に説明する 1 文字コード。
以下は、可能なステータスライン項目の説明です。"item" の 2 番目の文字は、タイプを示します。N は数値、S は文字列、F は以下に説明するフラグです。
該当なし
項目の意味
f S バッファ内のファイルへのパス。入力されたもの、または現在のディレクトリからの相対パス。 F S バッファ内のファイルのフルパス。 t S バッファ内のファイルのファイル名(末尾部分)。 m F 変更フラグ。テキストは「[+]」。'modifiable' がオフの場合は「[-]」。 M F 変更フラグ。テキストは「,+」または「,-」。 r F 読み取り専用フラグ。テキストは「[RO]」。 R F 読み取り専用フラグ。テキストは「,RO」。 h F ヘルプバッファフラグ。テキストは「[help]」。 H F ヘルプバッファフラグ。テキストは「,HLP」。 w F プレビューウィンドウフラグ。テキストは「[Preview]」。 W F プレビューウィンドウフラグ。テキストは「,PRV」。 y F バッファ内のファイルの種類。例えば、「[vim]」。'filetype' を参照。 Y F バッファ内のファイルの種類。例えば、「,VIM」。'filetype' を参照。 q S 「[Quickfix List]」、「[Location List]」、または空。 k S 'keymap' が設定されている時、または :lmap マッピングが使用されている場合の "b:keymap_name" の値: "<keymap>"。 n N バッファ番号。 b N カーソル下の文字の値。 B N 上記と同じ(16進数表記)。 o N ファイル内のカーソル下のバイトのバイト番号。最初のバイトは 1。ニーモニック: ファイルの先頭からのオフセット(1 が加算されている)。 O N 上記と同じ(16進数表記)。 l N 行番号。 L N バッファ内の行数。 c N 列番号(バイトインデックス)。 v N 仮想列番号(画面上の列)。 V N 仮想列番号。-{数値} の形式。'c' と同じ場合は表示されません。 p N CTRL-G で表示されるファイル内の行のパーセンテージ。 P S 表示ウィンドウのファイル内のパーセンテージ。'ruler' で説明されているパーセンテージと同様。翻訳されていない限り、常に3文字の長さ。 S S 'showcmd' の内容。'showcmdloc' を参照。 a S デフォルトのタイトルにある引数リストの状態。({current}/{max})引数ファイル数がゼロまたは1の場合は空。 { NF "%{"と"}"の間の式を評価し、結果を代入。末尾の "}" の前に "%" がないことに注意。式に "}" 文字を含めることはできません。その回避策として関数を呼び出してください。stl-%{ を参照。 {% - これは "{" とほぼ同じですが、式の評価結果はステータスラインの書式文字列として再評価されます。したがって、式の戻り値に "%" 項目が含まれている場合、それらは展開されます。式には "}" 文字を含めることができ、式の終わりは "%}" で示されます。例:
func! Stl_filename() abort
    return "%t"
endfunc
stl=%{Stl_filename()} の結果は "%t"stl=%{%Stl_filename()%} の結果は "現在のファイルの名前"。 %} - "{%" 式の終了 ( - 項目グループの開始。セクションの幅と配置を設定するために使用できます。どこかに %) が続く必要があります。 ) - 項目グループの終了。幅フィールドは使用できません。 T N 'tabline' 用: タブページ N のラベルの開始。ラベルを終了するには %T または %X を使用します。このラベルを左マウスボタンでクリックすると、指定したタブページに切り替わり、中マウスボタンでクリックすると、指定したタブページが閉じます。 X N 'tabline' 用: タブ N を閉じるラベルの開始。ラベルを終了するには %X または %T を使用します。例えば: %3Xclose%X。 「現在のタブを閉じる」ラベルの場合は %999X を使用します。このラベルを左マウスボタンでクリックすると、指定したタブページが閉じます。 @ N 関数実行ラベルの開始。ラベルを終了するには %X または %T を使用します。例えば: %10@[email protected]%X。このラベルをクリックすると、指定した関数が実行されます。例では、「foo.c」を左マウスボタンでクリックすると、SwitchBuffer(10, 1, 'l', ' ') 式が実行されます。指定した関数は、次の引数を順番に受け取ります。1. minwid フィールドの値(N が指定されていない場合はゼロ)。2. 複数クリックを検出するためのマウスのクリック回数。3. 使用されたマウスボタン: 左ボタンの場合は "l"、右ボタンの場合は "r"、中ボタンの場合は "m"。3 番目の引数が "l"、"r"、または "m" のみであると依存すべきではありません。他のマウスボタンには、ASCII 小文字のみを含む他の空でない文字列の値が想定されます。4. 押された修飾キー: シフトキーが押された場合は "s"、コントロールキーが押された場合は "c"、Alt キーが押された場合は "a"、メタキーが押された場合は "m" を含む文字列。現在、修飾キーが押されていない場合、文字列には代わりにスペースが含まれますが、スペースの存在や修飾キーの特定の順序に依存すべきではありません。修飾キーが存在するかどうかをテストするには stridx() を使用します。文字列には ASCII 文字とスペースのみが含まれていることが保証されており、修飾キーごとに1文字です。"?" 修飾キーも存在する場合があり、これはバグを示しており、このラベルのマウスクリックに対応するコードを変更せずに新しいマウスボタン認識が追加されたことを示します。getmousepos().winid を指定した関数で使用して、クリックされた項目の対応するウィンドウ ID を取得します。 < - 行が長すぎる場合に切り捨てる場所。デフォルトでは先頭。幅フィールドは使用できません。 = - 配置セクション間の区切り点。各セクションは、同じ数のスペースで区切られます。%= が1つある場合、その後に続くものは右揃えになります。%= が2つある場合、中央部分があり、その左右に空白スペースがあります。幅フィールドは使用できません。 # - ハイライトグループを設定します。名前を後に続け、その後に # を再度付けます。したがって、ハイライトグループ HLname には %#HLname# を使用します。同じハイライトは、現在のウィンドウ以外のウィンドウのステータスラインにも使用されます。 * - ハイライトグループを User{N} に設定します。ここで {N} は minwid フィールドから取得されます。例えば %1*。%* または %0* で通常のハイライトに戻します。User{N} と StatusLine の違いは、現在のウィンドウ以外のステータスラインの場合、StatusLineNC に適用されます。数値 N は 1 から 9 の間である必要があります。hl-User1..9 を参照。
フラグを表示するとき、そのフラグがプレーンテキストの直後にある場合、Vim は先頭のカンマ(もしあれば)を削除します。これにより、以下の例のようにフラグを使用すると、見やすい表示になります。
グループ内のすべての項目が空の文字列になった場合(つまり、設定されていないフラグ)、グループに minwid が設定されていない場合、グループ全体が空になります。これにより、次の例のようなグループは、フラグが設定されていない場合はステータスラインから完全に消えます。
set statusline=...%(\ [%M%R%H]%)...
式は、ステータスラインが表示されるたびに評価されることに注意してください。stl-%{ g:actual_curbuf g:actual_curwin %{} を評価している間、現在のバッファと現在のウィンドウは、ステータスラインが描画されているウィンドウ(とバッファ)のものに一時的に設定されます。式はこのコンテキストで評価されます。変数 "g:actual_curbuf" は、実際の現在のバッファの bufnr() 数に設定され、"g:actual_curwin" は実際の現在のウィンドウの ウィンドウID に設定されます。これらの値は文字列です。
'statusline' オプションは、モデルラインから設定された場合、sandbox で評価されます。sandbox-option を参照してください。このオプションは、'modelineexpr' がオフの場合、モデルラインでは設定できません。
'statusline' textlock を評価している間、テキストを変更したり、別のウィンドウにジャンプしたりすることは許可されていません。
ステータスラインが更新されない場合(例えば、式で使用される変数を設定した後)、:redrawstatus を使用して強制的に更新できます。
すべての数字の結果は、表示目的の数値と見なされます。それ以外の場合、結果はフラグテキストとして扱われ、上記のルールが適用されます。
式のエラーに注意してください。それらは Vim を使用不能にする可能性があります!行き詰まった場合は、':' または 'Q' を押し続けてプロンプトを表示し、次に終了し、"vim --clean" を使用して vimrc などを編集して修正してください。
例: 'ruler' が設定された標準のステータスラインをエミュレート
set statusline=%<%f\ %h%w%m%r%=%-14.(%l,%c%V%)\ %P
同様ですが、カーソル下の文字の ASCII 値("ga" のように)を追加
set statusline=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P
バイト数とバイト値を表示し、変更フラグを赤で表示
set statusline=%<%f%=\ [%1*%M%*%n%R%H]\ %-19(%3l,%02c%03V%)%O'%02b'
hi User1 term=inverse,bold cterm=inverse,bold ctermfg=red
圧縮ファイルがロードされている場合は、,GZ フラグを表示
set statusline=...%r%{VarExists('b:gzflag','\ [GZ]')}%h...
:autocmd 内で
let b:gzflag = 1
そして
unlet b:gzflag
この関数を定義します
function VarExists(var, val)
    if exists(a:var) | return a:val | else | return '' | endif
endfunction
'suffixes' 'su' 'suffixes' 'su' string (default ".bak,~,.o,.h,.info,.swp,.obj") global これらの接尾辞を持つファイルは、複数のファイルがワイルドカードに一致する場合、優先度が低くなります。suffixes を参照してください。カンマを使用して、接尾辞を区切ることができます。カンマの後のスペースは無視されます。ドットも接尾辞の開始と見なされます。ドットまたはカンマが区切り文字として認識されないようにするには、バックスラッシュで先行します(スペースとバックスラッシュを含めることについては option-backslash を参照してください)。ファイルを完全に無視するには、'wildignore' を参照してください。リストから接尾辞を追加または削除する場合は、:set+=:set-= を使用することをお勧めします。これにより、将来のバージョンで別のデフォルトが使用された場合の問題を回避できます。
'suffixesadd' 'sua' 'suffixesadd' 'sua' string (default "") バッファローカル。 "gf"、"[I" などのコマンドでファイルを検索するときに使用される、カンマ区切りの接尾辞のリスト。例:
set suffixesadd=.java
'swapfile' 'swf' 'noswapfile' 'noswf' 'swapfile' 'swf' boolean (default on) バッファローカル。バッファにスワップファイルを使用します。このオプションは、特定のバッファにスワップファイルが必要ない場合にリセットできます。例えば、ルートでさえアクセスできない機密情報の場合。注意: すべてのテキストがメモリに保存されます。
大きなファイルにはこれを使用しないでください。
リカバリは不可能になります!スワップファイルは、'updatecount' がゼロ以外で 'swapfile' が設定されている場合にのみ存在します。'swapfile' がリセットされると、現在のバッファのスワップファイルはすぐに削除されます。'swapfile' が設定されていて、'updatecount' がゼロ以外の場合、スワップファイルがすぐに作成されます。swap-file も参照してください。スワップファイルを作成せずに新しいバッファを開きたい場合は、:noswapfile 修飾子を使用してください。スワップファイルが作成される場所については、'directory' を参照してください。
このオプションは、'bufhidden' および 'buftype' と組み合わせて、特別な種類のバッファを指定するために使用されます。special-buffers を参照してください。
'switchbuf' 'swb' 'switchbuf' 'swb' string (default "uselast") グローバル。このオプションは、バッファを切り替えるときの動作を制御します。このオプションは、次のときにチェックされます。
クイックフィックスコマンド(:cc, :cn, :cp など)を使用してエラーにジャンプするとき。
:stag コマンドを使用してタグにジャンプするとき。
CTRL-W_f または CTRL-W_F コマンドを使用してファイルを開くとき。
バッファ分割コマンド(例::sbuffer:sbnext、または :sbrewind)を使用してバッファにジャンプするとき。指定可能な値(カンマ区切りリスト): useopen を含めると、指定されたバッファを含む現在のタブページの最初の開いているウィンドウにジャンプします(存在する場合)。それ以外の場合:他のウィンドウを調べない。 usetab "useopen" と同様ですが、他のタブページのウィンドウも考慮します。 split を含めると、エラーを表示する クイックフィックス コマンドのバッファをロードする前に、現在のウィンドウを分割します。それ以外の場合:分割しない、現在のウィンドウを使用する(クイックフィックスウィンドウで使用される場合:以前に使用したウィンドウまたは他のウィンドウがない場合は分割)。 vsplit "split" と同様ですが、垂直に分割します。 newtab "split" と同様ですが、新しいタブページを開きます。両方が存在する場合は、"split" を上書きします。 uselast を含めると、クイックフィックスコマンドでエラーにジャンプするときに、以前に使用したウィンドウにジャンプします。ウィンドウで 'winfixbuf' が有効になっている場合、'switchbuf' は現在、分割されたウィンドウには適用されません。
'synmaxcol' 'smc' 'synmaxcol' 'smc' 数値 (デフォルト 3000) バッファローカル。構文項目の検索を行う最大カラム数です。長い行では、このカラム以降のテキストはハイライトされません。また、構文状態がクリアされるため、後続の行が正しくハイライトされない場合があります。これは、1行が非常に長いXMLファイルでの非常に遅い再描画を回避するのに役立ちます。制限を解除するには、ゼロに設定します。
'syntax' 'syn' 'syntax' 'syn' 文字列 (デフォルト "") バッファローカル local-noglobal このオプションが設定されている場合、":syntax off"で構文ハイライトが無効になっていない限り、この名前の構文がロードされます。それ以外の場合、このオプションは現在の構文を常に反映するわけではありません (b:current_syntax 変数には反映されます)。このオプションは、構文が自動的に認識されないファイルのモデル行で最も役立ちます。例:IDLファイルの場合
/* vim: set syntax=idl : */
値にドットが含まれている場合、これは2つのファイルタイプ名を区切ります。例:
/* vim: set syntax=c.doxygen : */
これは最初に "c" 構文を使用し、次に "doxygen" 構文を使用します。2つ目の構文は、追加としてロードできるように準備されている必要があることに注意してください。そうでない場合はスキップされます。複数のドットを含めることができます。現在のファイルの構文ハイライトをオフにするには、次のようにします。
set syntax=OFF
'filetype'オプションの現在の値に従って構文ハイライトをオンにするには、次のようにします。
set syntax=ON
'syntax'オプションを設定すると、実際にはSyntax自動コマンドイベントが、引数としてその値とともにトリガーされます。このオプションは、'cpoptions'の's'または'S'フラグに関係なく、別のバッファにはコピーされません。英数字、'.'、'-'、および'_'のみを使用できます。
'tabclose' 'tcl' 'tabclose' 'tcl' 文字列 (デフォルト "") グローバル このオプションは、タブページを閉じる際 (例: :tabcloseを使用) の動作を制御します。空の場合、Vimは次の (右) タブページに移動します。
使用可能な値 (コンマ区切りのリスト): left これが含まれている場合、次のタブページではなく前のタブページに移動します。uselast これが含まれている場合、可能であれば以前に使用したタブページに移動します。このオプションは他のオプションよりも優先されます。
'tabline' 'tal' 'tabline' 'tal' 文字列 (デフォルト "") グローバル 空でない場合、このオプションはVimウィンドウの上部にあるタブページラインの内容を決定します。空の場合、Vimはデフォルトのタブページラインを使用します。詳細については、setting-tablineを参照してください。
タブページラインは、'showtabline'オプションで指定されている場合にのみ表示され、GUIタブラインがない場合にのみ表示されます。'guioptions'に'e'が含まれていて、GUIがタブラインをサポートしている場合は、代わりに'guitablabel'が使用されます。2つのタブページラインは大きく異なることに注意してください。
値は'statusline'と同様に評価されます。tabpagenr()tabpagewinnr()、およびtabpagebuflist()を使用して、表示するテキストを判別できます。最初のラベルには"%1T"、2番目のラベルには"%2T"などを使用します。ラベルを閉じるには"%X"アイテムを使用します。
'tabline'で使用されているもので、更新をトリガーしないものを変更する場合は、:redrawtablineを使用します。このオプションは、'modelineexpr'がオフの場合、モデル行で設定できません。
タブページのうち1つだけが現在のページであり、他のページは非表示であり、それらのウィンドウにジャンプすることはできないことに注意してください。
'tabpagemax' 'tpm' 'tabpagemax' 'tpm' 数値 (デフォルト 50) グローバル -pコマンドライン引数または":tab all"コマンドで開かれるタブページの最大数。tabpage
'tabstop' 'ts' 'tabstop' 'ts' 数値 (デフォルト 8) バッファローカル ファイル内の<Tab>が占めるスペースの数。:retabコマンド、および'softtabstop'オプションも参照してください。
注: 'tabstop'を8以外の値に設定すると、ファイルが多くの場所で正しく表示されない可能性があります。値は0より大きく、10000未満である必要があります。
Vimでタブを使用する方法は主に5つあります。1.常に'tabstop'を8に保ち、'softtabstop''shiftwidth'を4 (または3または好きな値) に設定し、'noexpandtab'を使用します。すると、Vimはタブとスペースを組み合わせて使用しますが、<Tab><BS>の入力は、タブが4 (または3) 文字ごとに表示されるように動作します。これは推奨される方法で、ファイルは他のツールやターミナルでの表示でも同じように見えます。2.'softtabstop''shiftwidth'を好きな値に設定し、'expandtab'を使用します。こうすると、常にスペースが挿入されます。'tabstop'が変更されても、フォーマットが乱れることはありません (念のため8のままにしておきます)。ファイルは少し大きくなります。ファイルにタブが存在しないことを確認する必要があります。まず'expandtab'を設定し、%retab!を使用することで、それらを削除できます。'tabstop'の値が正しく設定されていることを確認してください。3.'tabstop''shiftwidth'を好きな値に設定し、'expandtab'を使用します。こうすると、常にスペースが挿入されます。'tabstop'が変更されても、フォーマットが乱れることはありません。上記と同様に、ファイルにタブが存在しないことを確認する必要があります。4.'tabstop''shiftwidth'を好きな値に設定し、モデル行を使用して、ファイルを再び編集するときにこれらの値を設定します。Vimを使用してファイルを編集する場合にのみ機能し、他のツールではタブストップは8スペースに相当すると想定されます。5.常に'tabstop''shiftwidth'を同じ値に設定し、'noexpandtab'を設定します。これにより、人々が使用するすべてのタブストップ設定に対して (最初のインデントでのみ) 機能するはずです。ただし、これを行う場合は、最初の空白以外の後にタブをスペースとして挿入すると良いかもしれません。そうしないと、'tabstop'が変更されたときに、揃えられたコメントが正しくなくなります。
'vartabstop'が空の文字列以外のものに設定されている場合、'tabstop'の値は無視されます。
'tagbsearch' 'tbs' 'notagbsearch' 'notbs' 'tagbsearch' 'tbs' ブール値 (デフォルト オン) グローバル タグを検索するとき (例: :taコマンド)、Vimはタグファイル内でバイナリ検索または線形検索を使用できます。バイナリ検索はタグの検索を非常に高速化しますが、線形検索はタグファイルが正しくソートされていない場合により多くのタグを見つけます。Vimは通常、タグファイルがソートされているか、ソートされていないことを示すと想定します。そうでない場合にのみ、'tagbsearch'オプションをオフにする必要があります。
'tagbsearch'がオンの場合、バイナリ検索がタグファイルで最初に実行されます。特定の状況では、Vimは特定のファイルに対して代わりに線形検索を実行するか、すべてのファイルを線形検索で再試行します。'tagbsearch'がオフの場合、線形検索のみが実行されます。
ファイルがソートされていないことを示す行をファイルの先頭でVimが見つけた場合、いずれにしても、1つのファイルに対して線形検索が実行されます。
!_TAG_FILE_SORTED        0        /some comment/
[ '0' の前後の空白は、単一の<Tab>である必要があります ]
バイナリ検索が実行され、'tags'にリストされているどのファイルにも一致するものが見つからず、大文字小文字が無視されるか、通常のタグ名の代わりにパターンが使用されている場合、線形検索で再試行されます。ソートされていないタグファイル内のタグ、および大文字小文字が異なる一致は、再試行でのみ見つかります。
タグファイルが大文字小文字を区別しないソートであることを示している場合、大文字小文字が無視されるときに2番目の線形検索を回避できます。このためには、"!_TAG_FILE_SORTED"行に'2'の値を使用します。タグファイルは、ほとんどのUnixで "sort" コマンドに -f スイッチを使用することで、大文字小文字を区別しないソートにできます。例: "sort -f -o tags tags" のコマンドのように。Universal ctagsおよびExuberant ctagsバージョン5.x以降 (少なくとも5.5) の場合は、--sort=foldcaseスイッチもこれに使用できます。大文字小文字を区別しないようにするには、大文字に変換する必要があることに注意してください。
デフォルトでは、タグ検索は大文字と小文字を区別します。大文字小文字は、'ignorecase'が設定されていて'tagcase'が "followic" の場合、または'tagcase'が "ignore" の場合に無視されます。'tagcase'が "followscs" で、'smartcase'が設定されている場合、または'tagcase'が "smart" で、パターンに小文字のみが含まれている場合も無視されます。
'tagbsearch'がオフの場合、完全一致が存在する場合はタグ検索が遅くなりますが、完全一致が存在しない場合は高速になります。ソートされていないタグファイル内のタグは、'tagbsearch'がオフの場合にのみ見つかる可能性があります。タグファイルがソートされていない場合、または間違った方法で (ASCIIバイト値でソートされていない) ソートされている場合、'tagbsearch'はオフにするか、上記の行をタグファイルに含める必要があります。このオプションは、一致するすべてのタグを見つけるコマンド (例: コマンドライン補完と":help") には影響しません。
'tagcase' 'tc' 'tagcase' 'tc' 文字列 (デフォルト "followic") グローバルまたはバッファローカル global-local このオプションは、タグファイルを検索する際の大文字と小文字の処理方法を指定します: followic 'ignorecase'オプションに従う followscs 'smartcase''ignorecase'オプションに従う ignore 大文字小文字を無視する match 大文字小文字を区別する smart 大文字が使用されている場合を除き、大文字小文字を無視する
'tagfunc' 'tfu' 'tagfunc' 'tfu' 文字列(デフォルト "")バッファローカル このオプションは、タグ検索を実行するために使用される関数を指定します。関数はタグパターンを取得し、一致するタグのリストを返す必要があります。関数の記述方法と例については、tag-function を参照してください。値には、関数名、lambda、または Funcref を指定できます。詳細については、option-value-function を参照してください。このオプションは、セキュリティ上の理由から、モデル行サンドボックス から設定することはできません。
'taglength' 'tl' 'taglength' 'tl' 数値(デフォルト 0)グローバル ゼロ以外の値の場合、タグはこの文字数までが有効になります。
'tagrelative' 'tr' 'notagrelative' 'notr' 'tagrelative' 'tr' 真偽値(デフォルト on)グローバル オンで、別のディレクトリにあるタグファイルを使用する場合、そのタグファイル内のファイル名は、そのタグファイルがあるディレクトリからの相対パスになります。
'tags' 'tag' E433 'tags' 'tag' 文字列(デフォルト "./tags;,tags")グローバルまたはバッファローカル global-local タグコマンドのファイル名。スペースまたはカンマで区切ります。ファイル名にスペースまたはカンマを含めるには、バックスラッシュで前に付けてください(スペース/カンマとバックスラッシュの扱いについては、option-backslash を参照)。ファイル名が "./" で始まる場合、'.' は現在のファイルのパスに置き換えられます。ただし、'cpoptions' に 'd' フラグが含まれていない場合のみです。環境変数は :set_env で展開されます。また、tags-option も参照してください。"*"、"**"、その他のワイルドカードを使用して、ディレクトリツリー内のタグファイルを検索できます。file-searching を参照してください。たとえば、"/lib/**/tags" は "/lib" の下にある "tags" という名前のすべてのファイルを見つけます。ファイル名自体にワイルドカードを含めることはできません。そのまま使用されます。たとえば、"/lib/**/tags?" は "tags?" という名前のファイルを見つけます。実際に使用されているファイル名のリストを取得するには、tagfiles() 関数を使用できます。リストにファイル名を追加または削除する場合は、:set+= および :set-= を使用することをお勧めします。これにより、将来のバージョンで別のデフォルトが使用された場合に問題が発生するのを防ぐことができます。
'tagstack' 'tgst' 'notagstack' 'notgst' 'tagstack' 'tgst' 真偽値(デフォルト on)グローバル オンの場合、tagstack は通常どおり使用されます。オフの場合、引数付きの ":tag" または ":tselect" コマンドは、タグを tagstack にプッシュしません。引数なしの続く ":tag"、":pop" コマンド、または tagstack を使用するその他のコマンドは、変更されていない tagstack を使用しますが、アクティブなエントリへのポインターは変更します。このオプションのリセットは、tagstack を変更すべきでないマッピングで ":tag" コマンドを使用する場合に役立ちます。
'termbidi' 'tbidi' 'notermbidi' 'notbidi' 'termbidi' 'tbidi' 真偽値(デフォルト off)グローバル ターミナルは、(Unicode で指定された)テキストの双方向性を担当します。また、一部の言語(アラビア語など)で必要な整形を行うことも期待されています。このオプションを設定すると、'arabic' が設定されている場合、'rightleft' が設定されず、'arabicshape' の値が無視されることを意味します。'termbidi' を設定すると、'arabicshape' が無視されるという即時的な効果がありますが、'rightleft' は自動的に変更されないことに注意してください。詳細については、arabic.txt を参照してください。
'termguicolors' 'tgc' 'notermguicolors' 'notgc' 'termguicolors' 'tgc' 真偽値(デフォルト off)グローバル TUI で 24 ビット RGB カラーを有効にします。"cterm" 属性の代わりに "gui" :highlight 属性を使用します。guifg には ISO-8613-3 互換のターミナルが必要です。
Nvim は、ホストターミナルが 24 ビットカラーをサポートしているかどうかを自動的に判断しようとし、サポートしている場合は(ユーザーが明示的に無効にしない限り)このオプションを有効にします。
'termpastefilter' 'tpf' 'termpastefilter' 'tpf' 文字列(デフォルト "BS,HT,ESC,DEL")グローバル ターミナルウィンドウに貼り付けられたテキストから削除する制御文字を指定するためのオプションのカンマ区切りリスト。サポートされている値は次のとおりです。
BS バックスペース
HT TAB
FF 改ページ
ESC エスケープ
DEL DEL
C0 その他の制御文字。改行とキャリッジリターンを除く < ' '
C1 制御文字 0x80...0x9F
'termsync' 'notermsync' 'termsync' 真偽値(デフォルト on)グローバル ホストターミナルがサポートしている場合、再描画サイクル中に行われたすべての画面更新をバッファリングして、各画面がターミナルに一度に表示されるようにします。これにより、ターミナルが Nvim の再描画よりも速く更新される場合に、ティアリングやちらつきを防ぐことができます。
'textwidth' 'tw' 'textwidth' 'tw' 数値(デフォルト 0)バッファローカル 挿入中のテキストの最大幅。これより長い行は、この幅になるように空白の後で分割されます。ゼロの値はこれを無効にします。'textwidth' がゼロの場合、'wrapmargin' が使用される場合があります。また、'formatoptions' および ins-textwidth も参照してください。'formatexpr' が設定されている場合は、行を分割するために使用されます。
'thesaurus' 'tsr' 'thesaurus' 'tsr' 文字列(デフォルト "")グローバルまたはバッファローカル global-local 同義語補完コマンド i_CTRL-X_CTRL-T で単語を検索するために使用される、カンマで区切られたファイル名のリスト。 compl-thesaurus を参照してください。
このオプションは、バッファまたはグローバルで 'thesaurusfunc' が設定されている場合は使用されません。
ファイル名にカンマを含めるには、バックスラッシュで前に付けてください。カンマ後のスペースは無視され、それ以外のスペースはファイル名に含まれます。バックスラッシュの使用については、option-backslash を参照してください。リストにディレクトリを追加または削除する場合は、:set+= および :set-= を使用することをお勧めします。これにより、将来のバージョンで別のデフォルトが使用された場合に問題が発生するのを防ぐことができます。セキュリティ上の理由から、バッククォートはこのオプションでは使用できません。
'thesaurusfunc' 'tsrfu' 'thesaurusfunc' 'tsrfu' 文字列(デフォルト "")グローバルまたはバッファローカル global-local このオプションは、CTRL-X CTRL-T を使用した同義語補完に使用する関数を指定します。i_CTRL-X_CTRL-T compl-thesaurusfunc を参照してください。値には、関数名、lambda、または Funcref を指定できます。詳細については、option-value-function を参照してください。
このオプションは、セキュリティ上の理由から モデル行 または サンドボックス から設定することはできません。
'tildeop' 'top' 'notildeop' 'notop' 'tildeop' 'top' 真偽値(デフォルト off)グローバル オンの場合、チルダコマンド "~" は演算子のように動作します。
'timeout' 'to' 'notimeout' 'noto' 'timeout' 'to' 真偽値(デフォルト on)グローバル このオプションと 'timeoutlen' は、マッピングされたキーシーケンスの一部を受信した場合の動作を決定します。たとえば、<c-f> が押され、'timeout' が設定されている場合、Nvim はマッピングで <c-f> に続く可能性のあるキーを 'timeoutlen' ミリ秒待機します。
'timeoutlen' 'tm' 'timeoutlen' 'tm' 数値(デフォルト 1000)グローバル マッピングされたシーケンスが完了するのを待機する時間(ミリ秒単位)。
'title' 'notitle' 'title' 真偽値(デフォルト off)グローバル オンの場合、ウィンドウのタイトルは、'titlestring' の値(空でない場合)または次の値に設定されます。filename [+=-] (path) - Nvim 各項目の意味は次のとおりです。filename 編集中のファイルの名前 - ファイルが変更できないことを示します('ma' オフ)。+ ファイルが変更されたことを示します。= ファイルが読み取り専用であることを示します。=+ ファイルが読み取り専用で変更されていることを示します。(path) は、編集中のファイルのパスです。
Nvim サーバー名 v:servername または "Nvim"
'titlelen'
'titlelen' 数値(デフォルト 85)グローバル ウィンドウタイトルの長さに使用する 'columns' のパーセンテージを指定します。タイトルが長い場合は、パス名の末尾のみが表示されます。これを示すために、パス名の前に '<' 文字が使用されます。パーセンテージを使用すると、ウィンドウの幅に合わせて調整されます。ただし、実際に使用できる文字数は、使用されているフォントやタイトルバーのその他の要素にも依存するため、完全に機能するわけではありません。'titlelen' がゼロの場合、フルパスが使用されます。それ以外の場合は、1〜30000 パーセントの値を使用できます。'titlelen' は、'titlestring' オプションにも使用されます。
'titleold'
'titleold' 文字列(デフォルト "")グローバル 空でない場合、このオプションは終了時にウィンドウタイトルを設定するために使用されます。'title' が有効になっている場合に限ります。このオプションは、セキュリティ上の理由から、モデル行サンドボックス から設定することはできません。
'titlestring'
'titlestring' 文字列(デフォルト "")グローバル このオプションが空でない場合、ウィンドウのタイトルに使用されます。これは、'title' オプションがオンの場合にのみ発生します。
このオプションに printf スタイルの '%' 項目が含まれている場合、'statusline' に使用されるルールに従って展開されます。無効な '%' 形式が含まれている場合、値はそのまま使用され、値の設定時にエラーや警告は表示されません。このオプションは、'modelineexpr' がオフの場合はモデル行で設定できません。
auto BufEnter * let &titlestring = hostname() .. "/" .. expand("%:p")
set title titlestring=%<%F%=%l/%L-%P titlelen=70
'titlelen' の値は、利用可能なスペースの中央または右側に項目を揃えるために使用されます。ファイル名を最初に表示したい人もいます。
set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:~:.:h\")})%)%(\ %a%)
ファイル名を除いたファイルのパスを取得するために "%{ }" と式を使用していることに注意してください。 "%( %)" 構造は、必要な場合にのみ区切りスペースを追加するために使用されます。 注: 'titlestring' 内の特殊文字の使用は、表示が文字化けする可能性があります(例: CR または NL 文字が含まれている場合)。
'ttimeout' 'nottimeout' 'ttimeout' boolean (デフォルト: on) グローバル このオプションと 'ttimeoutlen' は、キーコードシーケンスの一部が TUI によって受信された場合の動作を決定します。
たとえば、<Esc> ( \x1b バイト) が受信され、'ttimeout' が設定されている場合、Nvim は端末がキーコードシーケンスを完了するまで 'ttimeoutlen' ミリ秒待機します。タイムアウト前に何も入力がない場合、単一の <Esc> が想定されます。多くの TUI カーソルキーコードは <Esc> で始まります。
非常に遅いシステムでは、これが失敗し、カーソルキーが時々動作しない可能性があります。この問題を発見した場合は、":set ttimeoutlen=9999" と設定できます。Nvim は <Esc> の後に次の文字が到着するのを待ちます。
'ttimeoutlen' 'ttm' 'ttimeoutlen' 'ttm' number (デフォルト: 50) グローバル キーコードシーケンスが完了するまで待機する時間(ミリ秒単位)。コマンドの一部が入力された場合の CTRL-\ CTRL-N および CTRL-\ CTRL-G にも使用されます。
'undodir' 'udir' E5003 'undodir' 'udir' string (デフォルト: "$XDG_STATE_HOME/nvim/undo//") グローバル カンマで区切られたアンドゥファイル用のディレクトリ名のリスト。形式の詳細については、'backupdir' を参照してください。「.」はファイルのディレクトリを使用することを意味します。"file.txt" のアンドゥファイル名は ".file.txt.un~" です。他のディレクトリの場合、ファイル名は編集されたファイルのフルパスであり、パス区切り文字は "%" に置き換えられます。書き込み時: 存在する最初のディレクトリが使用されます。「.」は常に機能し、「.」の後のディレクトリは書き込みには使用されません。どのディレクトリも存在しない場合、Nvim はリストの最後のディレクトリを作成しようとします。読み取り時、すべてのアンドゥファイルを検索するためにすべてのエントリが試行されます。最初に存在するアンドゥファイルが使用されます。読み取ることができない場合はエラーが表示され、それ以上のエントリは使用されません。undo-persistence を参照してください。セキュリティ上の理由から、このオプションは modeline または sandbox から設定することはできません。
'directory' および 'backupdir' とは異なり、'undodir' は常に末尾のスラッシュが存在するかのように動作することに注意してください(これが意味することについては 'backupdir' を参照してください)。
'undofile' 'udf' 'noundofile' 'noudf' 'undofile' 'udf' boolean (デフォルト: off) バッファーローカル オンの場合、Vim はバッファーをファイルに書き込むときにアンドゥ履歴をアンドゥファイルに自動的に保存し、バッファーの読み取り時に同じファイルからアンドゥ履歴を復元します。アンドゥファイルが保存されるディレクトリは、'undodir' によって指定されます。この機能の詳細については、undo-persistence を参照してください。'undoreload' によって、リロード前のバッファーがアンドゥのために保存される場合、アンドゥファイルは読み取られません。'undofile' がオフの場合、アンドゥファイルは削除されません。
'undolevels' 'ul' 'undolevels' 'ul' number (デフォルト: 1000) グローバルまたはバッファーローカル global-local アンドゥできる変更の最大数。アンドゥ情報はメモリに保持されるため、数が多いほどより多くのメモリが使用されます。それにもかかわらず、単一の変更で既に大量のメモリを使用する可能性があります。Vi の互換性のために 0 に設定します: 1 レベルのアンドゥで、「u」はそれ自体をアンドゥします。
set ul=0
ただし、'cpoptions' に 'u' フラグを含めることで Vi の互換性を取得することもでき、CTRL-R を使用してアンドゥを繰り返すこともできます。undo-two-ways も参照してください。アンドゥをまったく行わない場合は -1 に設定します。現在のバッファーでのみこれを行うこともできます。
setlocal ul=-1
これは、単一の変更でメモリが不足した場合に役立ちます。
グローバル値を使用する場合は、ローカル値が -123456 に設定されます。
clear-undo も参照してください。
'undoreload' 'ur' 'undoreload' 'ur' number (デフォルト: 10000) グローバル リロード時にアンドゥのためにバッファー全体を保存します。これは、":e!" コマンド、および Vim の外部でバッファーが変更された場合にリロードする場合に適用されます。FileChangedShell 保存は、このオプションが負の場合、または行数がこのオプションの値よりも小さい場合にのみ行われます。リロードのアンドゥを無効にするには、このオプションをゼロに設定します。
リロードのためにアンドゥを保存する場合、アンドゥファイルは読み取られません。
これにより、バッファー全体がメモリに保存されることに注意してください。メモリが不足する場合は、このオプションをより低い値に設定します。
'updatecount' 'uc' 'updatecount' 'uc' number (デフォルト: 200) グローバル この文字数を入力した後、スワップファイルがディスクに書き込まれます。ゼロの場合、スワップファイルはまったく作成されません(リカバリに関する章 crash-recovery を参照してください)。'updatecount' は、Vim を "-n" オプションで起動することによりゼロに設定されます。startup を参照してください。読み取り専用モードで編集する場合、このオプションは 10000 に初期化されます。スワップファイルは 'swapfile' を使用してバッファーごとに無効にすることができます。'updatecount' がゼロからゼロ以外に設定されている場合、'swapfile' が設定されているすべてのバッファーに対してスワップファイルが作成されます。'updatecount' がゼロに設定されている場合、既存のスワップファイルは削除されません。このオプションは、'buftype' が "nofile" または "nowrite" のバッファーでは意味がありません。
'updatetime' 'ut' 'updatetime' 'ut' number (デフォルト: 4000) グローバル このミリ秒の間、何も入力がない場合、スワップファイルがディスクに書き込まれます(crash-recovery を参照)。CursorHold 自動コマンドイベントにも使用されます。
'varsofttabstop' 'vsts' 'varsofttabstop' 'vsts' string (デフォルト: "") バッファーローカル 編集中に <Tab> が数えるスペースの数のリスト。たとえば、<Tab> の挿入や <BS> の使用などです。実際にはスペースと <Tab> の混合が使用されている間、可変幅の <Tab> が挿入されているように「感じ」られます。タブ幅はコンマで区切られ、最後の値は後続のすべてのタブに適用されます。
たとえば、ステートメントが 9 列目、コメントが 41 列目で始まるアセンブリ言語ファイルを編集する場合、以下を使用すると便利な場合があります。
set varsofttabstop=8,32,8
これにより、ソフトタブストップが 8 と 8 + 32 スペースで設定され、その後すべての列でさらに 8 スペースが設定されます。
'varsofttabstop' が設定されている間、'softtabstop' の値は無視されることに注意してください。
'vartabstop' 'vts' 'vartabstop' 'vts' string (デフォルト: "") バッファーローカル ファイル内の <Tab> が数えるスペースの数のリスト。コンマで区切られています。各値は 1 つのタブに対応し、最後の値は後続のすべてのタブに適用されます。例:
set vartabstop=4,20,10,8
これにより、最初のタブは 4 スペース幅、2 番目のタブは 20 スペース幅、3 番目のタブは 10 スペース幅になり、後続のすべてのタブは 8 スペースになります。
'vartabstop' が設定されている間、'tabstop' の値は無視されることに注意してください。
'verbose' 'vbs' 'verbose' 'vbs' number (デフォルト: 0) グローバル 詳細度を設定します。-V および :verbose によっても設定されます。
Lua スクリプトでのオプション、マッピングなどへの代入のトレースはレベル 1 で有効になります。パフォーマンスのために、'verbose' が 0 の場合、Lua スクリプトはトレースされません。
指定されたレベル以上の場合、Nvim は次のメッセージを生成します。
レベル メッセージ
---------------------------------------------------------------------- 1 Lua トレースを有効にします (上記参照)。メッセージは生成しません。2 ファイルが ":source" された場合、または shada ファイルが読み書きされた場合。3 UI 情報、端末機能。4 シェルコマンド。5 検索されたすべてのタグファイルとインクルードファイル。8 自動コマンドのグループが実行されるファイル。9 実行された自動コマンド。11 パス内のアイテムの検索。12 Vimscript 関数呼び出し。13 例外がスロー、キャッチ、完了、または破棄された場合。14 ":finally" 句で保留中のもの。15 スクリプトからの Ex コマンド (200 文字で切り捨て)。16 Ex コマンド。
'verbosefile' が設定されている場合、詳細メッセージは表示されません。
'verbosefile' 'vfile' 'verbosefile' 'vfile' string (デフォルト: "") グローバル 空でない場合、すべてのメッセージはこの名前のファイルに書き込まれます。ファイルが存在する場合、メッセージは追加されます。ファイルへの書き込みは、Vim が終了するか、'verbosefile' が空になったときに終了します。書き込みはバッファリングされるため、しばらく表示されない場合があります。'verbosefile' を新しい値に設定することは、最初に空にすることと同じです。:redir との違いは、'verbosefile' が設定されている場合、詳細メッセージは表示されないことです。セキュリティ上の理由から、このオプションは modeline または sandbox から設定することはできません。
'viewdir' 'vdir' 'viewdir' 'vdir' string (デフォルト: "$XDG_STATE_HOME/nvim/view//") グローバル :mkview のファイルを保存するディレクトリの名前。セキュリティ上の理由から、このオプションは modeline または sandbox から設定することはできません。
'viewoptions' 'vop' 'viewoptions' 'vop' string (デフォルト: "folds,cursor,curdir") グローバル :mkview コマンドの効果を変更します。これは、コンマで区切られた単語のリストです。各単語は、何かを保存および復元することを有効にします。
単語 保存と復元
カーソル ファイル内およびウィンドウ内のカーソル位置 カレントディレクトリ :lcd で設定されている場合、ローカルカレントディレクトリ 手動で作成された折りたたみ、開閉された折りたたみ、およびローカル折りたたみオプション オプション ウィンドウまたはバッファーにローカルなオプションとマッピング (ローカルオプションのグローバル値ではない) localoptions "options" と同じ スラッシュ 非推奨 常に有効。ファイル名に "/" を使用します。unix 非推奨 常に有効。行末に "\n" を使用します。
'virtualedit' 've' 'virtualedit' 've' 文字列 (デフォルト "") グローバルまたはウィンドウローカル グローバル-ローカル 次の単語をコンマで区切ったリスト: block ビジュアルブロックモードでの仮想編集を許可します。 insert インサートモードでの仮想編集を許可します。 all 全てのモードでの仮想編集を許可します。 onemore カーソルを行末の直後まで移動することを許可します。 none ローカル値として使用した場合、グローバル値が設定されていても仮想編集を許可しません。グローバル値として使用した場合、"none" は "" と同じです。 NONE "none" の別のスペル。
仮想編集とは、実際には文字が存在しない場所にカーソルを配置できることを意味します。これは、タブの中間や行末を超える場所にカーソルを置くことができるということです。ビジュアルモードで長方形を選択したり、表を編集したりするのに便利です。"onemore" は同じではなく、カーソルを行末の最後の文字の直後に移動させるだけです。これにより、いくつかのコマンドの一貫性が向上します。以前は、行が空の場合、カーソルは常にその行の末尾を超えていました。しかし、これは Vi との互換性が低いものでした。また、いくつかのプラグインや Vim スクリプトが壊れる可能性もあります。たとえば、l はカーソルを最後の文字の後に移動させることができます。注意して使用してください!$ コマンドを使用すると、カーソルは行末の文字に移動し、その先には移動しません。これにより、カーソルが左に移動することがあります!g$ コマンドは、画面行の末尾に移動します。"all" を "onemore" と組み合わせることは意味がありませんが、警告は表示されません。他の単語と組み合わせた場合、"none" は無視されます。
'visualbell' 'vb' 'novisualbell' 'novb' 'visualbell' 'vb' 真偽値 (デフォルト off) グローバル ビープ音の代わりに視覚ベルを使用します。'errorbells' も参照してください。
'warn' 'nowarn' 'warn' 真偽値 (デフォルト on) グローバル バッファが変更された状態でシェルコマンドが使用された場合に警告メッセージを表示します。
'whichwrap' 'ww' 'whichwrap' 'ww' 文字列 (デフォルト "b,s") グローバル カーソルが各行の最初/最後の文字にあるときに、カーソルを左/右に移動させる指定されたキーが前/次の行に移動できるようにします。これらのキーを有効にするには、文字を連結してください
文字 キー モード
b <BS> ノーマルおよびビジュアル s <Space> ノーマルおよびビジュアル h "h" ノーマルおよびビジュアル (推奨されません) l "l" ノーマルおよびビジュアル (推奨されません) < <Left> ノーマルおよびビジュアル > <Right> ノーマルおよびビジュアル ~ "~" ノーマル [ <Left> インサートおよび置換 ] <Right> インサートおよび置換 たとえば
set ww=<,>,[,]
カーソルキーが使用された場合にのみラップを許可します。移動キーが削除または変更演算子と組み合わせて使用される場合、<EOL> も文字としてカウントされます。これにより、カーソルが行末を越える場合、"3h" は "3dh" と異なります。これは、"x" および "X" も "dl" および "dh" と同じ動作をするため、当てはまります。これを使用する場合は、":map <BS> X" マッピングを使用して、バックスペースでカーソルの前にある文字を削除するようにすることもできます。'l' が含まれていて、(空行ではない) 行末の演算子の後に使用した場合、次の行に移動しません。これにより、"dl"、"cl"、"yl" などは正常に動作します。
'wildchar' 'wc' 'wildchar' 'wc' 数値 (デフォルト <Tab>) グローバル コマンドラインで、'wildmode' で指定されたワイルドカード展開を開始するためにタイプする必要がある文字。詳細はこちら: cmdline-completion。マクロ内で使用されている場合、この文字は認識されません。'wildcharm' を参照してください。CTRL-C<CR>、Enter など、一部のキーは機能しません。<Esc> は使用できますが、連続して 2 回押すと、安全策としてコマンドラインが終了します。'wc' は数値オプションですが、数値、単一の文字、キー表記 (例: <Up><C-F>)、またはキャレットで始まる文字 (例: ^FCTRL-F) として指定できます。
:set wc=27
:set wc=X
:set wc=^I
set wc=<Tab>
'wildcharm' 'wcm' 'wildcharm' 'wcm' 数値 (デフォルト 0) グローバル 'wildcharm' は、マクロ内で使用されている場合に認識される点を除いて、'wildchar' とまったく同じように動作します。ex-edit-index を参照することで、このオプションに適した「予備」のコマンドラインキーを見つけることができます。通常、'wildcharm' を実際に入力することはありません。自動的に補完モードを呼び出すマッピングで使用するだけです。例:
set wcm=<C-Z>
cnoremap ss so $vim/sessions/*.vim<C-Z>
次に、:ss と入力した後、CTRL-P および CTRL-N を使用できます。
'wildignore' 'wig' 'wildignore' 'wig' 文字列 (デフォルト "") グローバル ファイルパターンのリスト。これらのパターンのいずれかと一致するファイルは、ワイルドカード を展開したり、ファイル名またはディレクトリ名を補完したりするときに無視されます。また、expand()glob() および globpath() の結果にも影響を与えます。ただし、この機能を無効にするフラグが渡された場合は除きます。パターンは :autocmd と同じように使用されます。autocmd-pattern を参照してください。'suffixes' も参照してください。例
set wildignore=*.o,*.obj
リストからパターンを追加または削除する場合は、:set+= および :set-= の使用をお勧めします。これにより、将来のバージョンで別のデフォルトが使用された場合に問題が発生するのを防ぐことができます。
'wildignorecase' 'wic' 'nowildignorecase' 'nowic' 'wildignorecase' 'wic' 真偽値 (デフォルト off) グローバル 設定されている場合、ファイル名とディレクトリを補完するときに大文字と小文字が無視されます。'fileignorecase' が設定されている場合は無効です。シェルを使用してワイルドカードを展開する場合、特殊文字がある場合は適用されません。
'wildmenu' 'wmnu' 'nowildmenu' 'nowmnu' 'wildmenu' 'wmnu' 真偽値 (デフォルト on) グローバル 'wildmenu' がオンの場合、コマンドライン補完は拡張モードで動作します。'wildchar' (通常は <Tab>) を押して補完を起動すると、考えられる一致が表示されます。'wildoptions' に "pum" が含まれている場合、補完の一致がポップアップメニューに表示されます。それ以外の場合は、コマンドラインの真上に表示され、最初の一致が強調表示されます (ステータスラインがある場合は、ステータスラインを上書きします)。<Tab> または CTRL-P/CTRL-N など、前/次の一致を表示するキーを押すと、強調表示が該当の一致に移動します。'wildmode' は "full" を指定する必要があります。"longest" および "list" は 'wildmenu' モードを開始しません。wildmenumode() で現在のモードを確認できます。補完の選択に使用されないキーが押されると、メニューはキャンセルされます。
メニューがアクティブな間、これらのキーには特別な意味があります: CTRL-P - 前のエントリに移動 CTRL-N - 次のエントリに移動 <Left> <Right> - 前/次の一致を選択 (CTRL-P/CTRL-N と同様) <PageUp> - いくつかのエントリ前に一致を選択 <PageDown> - いくつかのエントリ先に一致を選択 <Up> - ファイル名/メニュー名補完の場合: 親ディレクトリまたは親メニューに移動。 <Down> - ファイル名/メニュー名補完の場合: サブディレクトリまたはサブメニューに移動。 <CR> - メニュー補完の場合、カーソルがドットの直後にある場合: サブメニューに移動。 CTRL-E - 補完を終了し、一致を選択する前の状態に戻ります。 CTRL-Y - 現在選択されている一致を受け入れて、補完を停止します。
<Left><Right> を別のマッチを選択するのではなく、カーソルを移動させる場合は、これを使用してください
cnoremap <Left> <Space><BS><Left>
cnoremap <Right> <Space><BS><Right>
hl-WildMenu は、現在の一致を強調表示します。
'wildmode' 'wim' 'wildmode' 'wim' 文字列 (デフォルト "full") グローバル 'wildchar' で指定された文字に使用される補完モード。これは、最大 4 つの部分からなるコンマ区切りのリストです。各部分は、'wildchar' を連続して使用するたびに何をするかを指定します。最初の部分は、'wildchar' の最初の使用時の動作を指定します。2 番目の部分は、2 番目の使用時の動作を指定します。など。
各部分は、コロンで区切られたリストで構成され、次の可能な値が含まれます: "" 最初の一致のみを完了します。 "full" 次の完全一致を完了します。最後の一致の後、元の文字列が使用され、その後最初の一致が再度使用されます。有効になっている場合は、'wildmenu' も開始します。 "longest" 最も長い共通文字列まで完了します。これにより長い文字列にならない場合は、次の部分を使用します。 "list" 複数の一致がある場合は、すべての一致を一覧表示します。 "lastused" バッファ名を補完していて、複数の一致がある場合は、最後に使用された時間でバッファを並べ替えます (現在のバッファを除く)。一致が 1 つしかない場合は、すべての場合に完全に完了します。
コロンで区切られた便利な値の例: "longest:full" "longest" と同様ですが、有効になっている場合は 'wildmenu' も開始します。次の完全一致を完了しません。 "list:full" 複数の一致がある場合は、すべての一致を一覧表示し、最初の一致を完了します。 "list:longest" 複数の一致がある場合は、すべての一致を一覧表示し、最も長い共通文字列まで完了します。 "list:lastused" 複数のバッファが一致する場合は、すべての一致を一覧表示し、最後に使用した時間 (現在のバッファを除く) でバッファをソートします。
例:
set wildmode=full
最初の一致、次の完全一致などを完了します (デフォルト)
set wildmode=longest,full
最も長い共通文字列を完了し、次に各完全一致を完了します
set wildmode=list:full
すべての一致を一覧表示し、各完全一致を完了します
set wildmode=list,full
まず、完了せずにすべての一致をリスト表示し、次に完全一致をリスト表示します。
set wildmode=longest,list
最長共通文字列を完了させ、次に代替案をリスト表示します。詳細はこちら: cmdline-completion
'wildoptions' 'wop' 'wildoptions' 'wop' string (デフォルト "pum,tagfile") global cmdline-completion の実行方法を変更する単語のリスト。次の値がサポートされています: fuzzy ファジーマッチング を使用して、補完の一致を見つけます。この値が指定されている場合、補完にワイルドカード展開は使用されません。一致はアルファベット順にソートされるのではなく、「最良の一致」でソートされます。これにより、ワイルドカード展開よりも多くの一致が見つかります。現在、ファイル名とディレクトリ名に基づくファジーマッチングによる補完はサポートされておらず、代わりにワイルドカード展開が使用されます。pum ins-completion-menu と同じスタイルでポップアップメニューを使用して補完の一致を表示します。tagfile 一致するタグをリスト表示するために CTRL-D を使用する場合、タグの種類とタグのファイルがリスト表示されます。1 行に表示される一致は 1 つだけです。よく使用されるタグの種類は次のとおりです。d #define f function
'winaltkeys' 'wak' 'winaltkeys' 'wak' string (デフォルト "menu") global Win32 でのみ使用されます。一部の GUI バージョンでは、メニュー内で下線付きで表示される文字と ALT キーを組み合わせて使用することで、メニューエントリにアクセスできます。これは、マッピングと特殊文字の入力に ALT キーを使用することと競合します。このオプションは、何を行うかを指示します: no メニューに ALT キーを使用しません。ALT キーの組み合わせはマッピングできますが、自動処理はありません。yes ALT キー処理はウィンドウシステムによって行われます。ALT キーの組み合わせはマッピングできません。menu メニューショートカットキーである文字と組み合わせて ALT を使用すると、ウィンドウシステムによって処理されます。他のキーはマッピングできます。 'guioptions' から 'm' を除外してメニューが無効になっている場合、ALT キーはメニューには使用されません。このオプションは、Win32 での <F10> には使用されません。
'winbar' 'wbr' 'winbar' 'wbr' string (デフォルト "") global またはウィンドウローカル global-local 空でない場合、このオプションはウィンドウバーを有効にし、その内容を決定します。ウィンドウバーは、有効になっているすべてのウィンドウの上部に表示されるバーです。 'winbar' の値は、 'statusline' と同様に評価されます。
'winbar' で使用されている内容を変更しても更新がトリガーされない場合は、 :redrawstatus を使用してください。
フローティングウィンドウは、 'winbar' のグローバル値を使用しません。フローティングウィンドウにウィンドウバーを表示するには、 'winbar' のウィンドウローカル値を設定する必要があります。
'modelineexpr' がオフの場合、このオプションはモデルラインで設定できません。
'winblend' 'winbl' 'winblend' 'winbl' number (デフォルト 0) ウィンドウローカル フローティングウィンドウの疑似透過性を有効にします。有効な値の範囲は、完全に不透明なウィンドウ (無効) の 0 から、完全に透明な背景の 100 です。通常、0 ~ 30 の値が最も便利です。
UI依存です。RGBカラーで最適に動作します。'termguicolors'
'window' 'wi' 'window' 'wi' number (デフォルト 画面の高さ - 1) global ウィンドウが 1 つしかなく、値が 'lines' - 1 より小さい場合に、 CTRL-FCTRL-B に使用されるウィンドウの高さ。画面は、最小値 1 で、 'window' から 2 行を引いた行数だけスクロールします。 'window''lines' - 1 と等しい場合、CTRL-FCTRL-B は、折り返し行を考慮して、よりスマートな方法でスクロールします。Vim ウィンドウのサイズを変更するときに、値が 1 より小さいか、 'lines' 以上の場合、 'lines' - 1 に設定されます。 注意: これを Vim ウィンドウの高さと混同しないでください。その場合は 'lines' を使用してください。
'winfixbuf' 'wfb' 'nowinfixbuf' 'nowfb' 'winfixbuf' 'wfb' boolean (デフォルト off) ウィンドウローカル 有効にすると、ウィンドウと表示されているバッファがペアになります。たとえば、 :edit でバッファを変更しようとしても失敗します。 :cnext など、ウィンドウのバッファを変更する他のコマンドも、 'winfixbuf' が有効になっているウィンドウはすべてスキップします。ただし、Ex コマンドに "!" 修飾子がある場合は、強制的にバッファを切り替えることができます。
'winfixheight' 'wfh' 'nowinfixheight' 'nowfh' 'winfixheight' 'wfh' boolean (デフォルト off) ウィンドウローカル local-noglobal ウィンドウを開いたり閉じたりするときにウィンドウの高さを維持し、 'equalalways' が設定されている場合は、ウィンドウの高さを維持します。 CTRL-W_= の場合も同様です。 プレビューウィンドウクイックフィックスウィンドウでは、デフォルトで設定されています。スペースが不足した場合、高さは変更される場合があります。
'winfixwidth' 'wfw' 'nowinfixwidth' 'nowfw' 'winfixwidth' 'wfw' boolean (デフォルト off) ウィンドウローカル local-noglobal ウィンドウを開いたり閉じたりするときにウィンドウの幅を維持し、 'equalalways' が設定されている場合は、ウィンドウの幅を維持します。 CTRL-W_= の場合も同様です。スペースが不足した場合、幅は変更される場合があります。
'winheight' 'wh' E591 'winheight' 'wh' number (デフォルト 1) global 現在のウィンドウの最小行数。これは厳密な最小値ではなく、十分なスペースがない場合は、Vim はより少ない行数を使用します。フォーカスがより小さなウィンドウに移ると、他のウィンドウの高さを犠牲にして、そのサイズが拡大されます。通常の編集の場合は、 'winheight' を小さい数値に設定します。現在のウィンドウを画面のほとんどを埋めるようにするには、999 に設定します。他のウィンドウは 'winminheight' の高さのみになります。これには、":all" が 2 つのウィンドウのみを作成するという欠点があります。"vim -o 1 2 3 4" で 2 つのウィンドウのみが作成されないようにするには、 VimEnter イベントを使用して、起動完了後にオプションを設定します。
au VimEnter * set winheight=999
最小値は 1 です。現在のウィンドウの高さを変更するコマンドの 1 つの後に、高さは調整されません。 'winheight' は、現在のウィンドウに適用されます。他のウィンドウの最小の高さを設定するには、 'winminheight' を使用します。
'winhighlight' 'winhl' 'winhighlight' 'winhl' string (デフォルト "") ウィンドウローカル ウィンドウローカルのハイライト。コンマ区切りのハイライト グループ名 ペア "{hl-from}:{hl-to},..."。ここで、各 {hl-from} は、ウィンドウの {hl-to} グループでオーバーライドされる ハイライトグループ項目です。
注意: ハイライト名前空間は、 'winhighlight' よりも優先されます。 nvim_win_set_hl_ns() および nvim_set_hl() を参照してください。
垂直セパレータのハイライトは、セパレータの左側のウィンドウによって決定されます。タブページの 'tabline' ハイライトは、タブページの最後にフォーカスされたウィンドウによって決定されます。ポップアップメニューのハイライトは、現在のウィンドウによって決定されます。メッセージ領域のハイライトはオーバーライドできません。
例: 現在のウィンドウでないウィンドウに別の色を表示します
set winhighlight=Normal:MyNormal,NormalNC:MyNormalNC
'winminheight' 'wmh' 'winminheight' 'wmh' number (デフォルト 1) global 現在のウィンドウではない場合のウィンドウの最小高さ。これは厳密な最小値であり、ウィンドウがこれより小さくなることはありません。ゼロに設定すると、ウィンドウは必要に応じてゼロ行 (つまり、ステータスバーのみ) に「潰される」可能性があります。アクティブになったときには、少なくとも 1 行に戻ります (カーソルを移動する必要があるため)。現在のウィンドウの最小高さを設定するには、 'winheight' を使用します。このオプションは、ウィンドウを小さくするときにのみチェックされます。大きな数値を使用しないでください。これにより、複数のウィンドウを開くとエラーが発生します。0 ~ 3 の値が妥当です。
'winminwidth' 'wmw' 'winminwidth' 'wmw' number (デフォルト 1) global 現在のウィンドウではない場合のウィンドウの最小幅。これは厳密な最小値であり、ウィンドウがこれより小さくなることはありません。ゼロに設定すると、ウィンドウは必要に応じてゼロ列 (つまり、垂直セパレータのみ) に「潰される」可能性があります。アクティブになったときには、少なくとも 1 行に戻ります (カーソルを移動する必要があるため)。現在のウィンドウの最小幅を設定するには、 'winwidth' を使用します。このオプションは、ウィンドウを小さくするときにのみチェックされます。大きな数値を使用しないでください。これにより、複数のウィンドウを開くとエラーが発生します。0 ~ 12 の値が妥当です。
'winwidth' 'wiw' E592 'winwidth' 'wiw' number (デフォルト 20) global 現在のウィンドウの最小列数。これは厳密な最小値ではなく、十分なスペースがない場合は、Vim はより少ない列数を使用します。現在のウィンドウがより小さい場合、他のウィンドウの幅を犠牲にして、そのサイズが拡大されます。現在のウィンドウを常に画面いっぱいにするには、999 に設定します。通常の編集の場合は、小さい数値に設定します。現在のウィンドウの幅を変更するコマンドの 1 つの後に、幅は調整されません。 'winwidth' は、現在のウィンドウに適用されます。他のウィンドウの最小幅を設定するには、 'winminwidth' を使用します。
'wrap' 'nowrap' 'wrap' boolean (デフォルト on) ウィンドウローカル このオプションは、テキストの表示方法を変更します。バッファ内のテキストは変更されません。その場合は 'textwidth' を参照してください。オンの場合、ウィンドウの幅よりも長い行は折り返され、次の行に表示が続きます。オフの場合、行は折り返されず、長い行の一部のみが表示されます。カーソルが表示されていない部分に移動すると、画面が水平方向にスクロールします。必要に応じて、行は単語の途中で分割されます。単語の境界で分割するには、 'linebreak' を参照してください。水平方向のスクロールを少し便利にするには、これを試してください
set sidescroll=5
set listchars+=precedes:<,extends:>
sidescrolllistchars、およびwrap-offを参照してください。このオプションは、modelineからdiffオプションがオンの場合に設定することはできません。
wrapmargin wm wrapmargin wm 数値 (デフォルト 0) バッファーローカル ウィンドウの右端から何文字目で折り返しを開始するか。この制限を超えてテキストを入力すると、<EOL> が挿入され、次の行に挿入が続きます。numberfoldcolumnなど、マージンを追加するオプションは、テキスト幅をさらに縮小させます。textwidthがゼロ以外の場合、このオプションは使用されません。formatoptionsおよびins-textwidthも参照してください。
wrapscan ws nowrapscan nows E384 E385 wrapscan ws ブール値 (デフォルト: オン) グローバル 検索がファイルの末尾で折り返します。]sおよび[s、スペルミスの検索にも適用されます。
write nowrite write ブール値 (デフォルト: オン) グローバル ファイルの書き込みを許可します。設定されていない場合、ファイルの書き込みは許可されません。テキストの変更は許可されるビュー専用モードで使用できます。-mまたは-Mコマンドライン引数でリセットできます。テキストのフィルタリングは、一時ファイルの書き込みが必要な場合でも可能です。
writeany wa nowriteany nowa writeany wa ブール値 (デフォルト: オフ) グローバル 「!」オーバーライドの必要なく、任意のファイルへの書き込みを許可します。
writebackup wb nowritebackup nowb writebackup wb ブール値 (デフォルト: オン) グローバル ファイルを上書きする前にバックアップを作成します。backupオプションもオンでない限り、ファイルが正常に書き込まれた後にバックアップは削除されます。警告: このオプションをオフにすると、Vimがバッファーを正しく書き込めず、何らかの理由でVimが終了した場合、元のファイルと書き込み中の内容の両方が失われます。ファイルシステムがほぼいっぱいになり、書き込みに失敗する場合のみ、このオプションをリセットしてください(書き込みが成功するまでVimを終了しないようにしてください)。別の説明については、backup-tableを参照してください。backupskipパターンが一致する場合は、バックアップは作成されません。 backupcopyによっては、バックアップは新しいファイルになるか、元のファイルが名前変更されます(そして新しいファイルが書き込まれます)。
writedelay wd writedelay wd 数値 (デフォルト: 0) グローバル redrawdebugと一緒に使用した場合のみ有効です。各行または各フラッシュ後に待機するミリ秒数
メイン
コマンドインデックス
クイックリファレンス