1- *builtin.txt* For Vim バージョン 9.1. Last change: 2023 Nov 20
1+ *builtin.txt* For Vim バージョン 9.1. Last change: 2024 Jan 25
22
33
44 VIMリファレンスマニュアル by Bram Moolenaar
@@ -215,6 +215,9 @@ foldclosedend({lnum}) 数値 {lnum}の折り畳みの最後の行(閉じてい
215215foldlevel({lnum}) 数値 {lnum}の折り畳みレベル
216216foldtext() 文字列 閉じた折り畳みに表示されている行
217217foldtextresult({lnum}) 文字列 {lnum}で閉じている折り畳みのテキスト
218+ foreach({expr1}, {expr2}) リスト/辞書/Blob/文字列
219+ {expr1} の各項目に対して {expr2} を呼
220+ び出す
218221foreground() 数値 Vimウィンドウを前面に移動する
219222fullcommand({name} [, {vim9}]) 文字列 {name} から完全なコマンドを取得
220223funcref({name} [, {arglist}] [, {dict}])
@@ -392,6 +395,9 @@ matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
392395matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
393396 数値 位置を {group} で強調表示する
394397matcharg({nr}) リスト |:match|の引数
398+ matchbufline({buf}, {pat}, {lnum}, {end}, [, {dict})
399+ リスト バッファ {buf} 内のすべての {pat} の
400+ マッチ
395401matchdelete({id} [, {win}]) 数値 {id} で指定されるマッチを削除する
396402matchend({expr}, {pat} [, {start} [, {count}]])
397403 数値 {expr}内で{pat}が終了する位置
@@ -405,6 +411,8 @@ matchlist({expr}, {pat} [, {start} [, {count}]])
405411 リスト {expr}内の{pat}のマッチと部分マッチ
406412matchstr({expr}, {pat} [, {start} [, {count}]])
407413 文字列 {expr}内の{count}番目の{pat}のマッチ
414+ matchstrlist({list}, {pat} [, {dict})
415+ リスト {list} 内のすべての {pat} にマッチ
408416matchstrpos({expr}, {pat} [, {start} [, {count}]])
409417 リスト {expr}内の{count}番目の{pat}のマッチ
410418max({expr}) 数値 {expr}内の要素の最大値
@@ -2995,6 +3003,48 @@ foldtextresult({lnum}) *foldtextresult()*
29953003
29963004 |method| としても使用できる: >
29973005 GetLnum()->foldtextresult()
3006+
3007+ foreach({expr1}, {expr2}) *foreach()*
3008+ {expr1} は |List|, |String|, |Blob| または |Dictionary| でなけ
3009+ ればならない。
3010+ {expr1} の各項目に対して {expr2} を実行する。{expr1} は変更さ
3011+ れない。その値は |:lockvar| 1 と同様に変更されるかもしれない。
3012+ |E741|
3013+ {expr1} を変更するには |map()| および |filter()| を参照。
3014+
3015+ {expr2} は |string| か |Funcref| でなければならない。
3016+
3017+ {expr2} が |string| の場合、{expr2} 内では |v:val| は現在の項
3018+ 目の値を持つ。|Dictionary| の場合、|v:key| は現在の項目のキー
3019+ を持ち、|List| の場合、|v:key| は現在の項目のインデックスを持
3020+ つ。
3021+ |Blob| の場合、|v:key| は現在のバイトインデックスを持つ。
3022+ |String| の場合、|v:key| は現在の文字インデックスを持つ。
3023+
3024+ 例: >
3025+ call foreach(mylist, 'used[v:val] = true')
3026+ < これは {expr1} リスト内の項目を記録する。
3027+
3028+ Note {expr2} は式の結果であり、コマンドとして使用されることに
3029+ 注意。多くの場合、|literal-string| を使用するのが良い。バック
3030+ スラッシュを 2 重にする必要がないようにするためである。
3031+
3032+ {expr2} が |Funcref| の場合 2 つの引数を取る必要がある:
3033+ 1. 現在の項目のキーまたはインデックス。
3034+ 2. 現在の項目の値。
3035+ 旧来のスクリプトの lambda では引数を 1 つだけ受け入れてもエラー
3036+ は発生しないが、Vim9 の lambda では "E1106: One argument too
3037+ many" になり、引数の数は一致する必要がある。
3038+ 関数が値を返した場合、その値は無視される。
3039+
3040+ すべてのケースで {expr1} を返す。
3041+ {expr2} の実行中にエラーが発生した場合、{expr1} 内の項目はそれ
3042+ 以上処理されない。
3043+ {expr2} が Funcref の場合、"abort" フラグを使用して定義されて
3044+ いない限り、関数内のエラーは無視される。
3045+
3046+ |method| としても使用できる: >
3047+ mylist->foreach(expr2)
29983048<
29993049 *foreground()*
30003050foreground() Vimのウィンドウを前面に移動する。この関数はクライアントからVim
@@ -3198,6 +3248,8 @@ getbufinfo([{dict}])
31983248 bufnr バッファ番号。
31993249 changed バッファが変更されている場合はTRUE。
32003250 changedtick バッファに加えられた変更の数。
3251+ command バッファがコマンドラインウィンドウ
3252+ |cmdwin| に属する場合は TRUE。
32013253 hidden バッファが隠されている場合はTRUE。
32023254 lastused バッファが最後に使用されたときの
32033255 |localtime()| のような秒単位のタイムス
@@ -3414,7 +3466,7 @@ getcharmod() *getcharmod()*
34143466 32 マウスのダブルクリック
34153467 64 マウスのトリプルクリック
34163468 96 マウスのクアドラプルクリック (== 32 + 64)
3417- 128 command (Macintosh のみ )
3469+ 128 command (Mac) または super (GTK )
34183470 文字自身に含まれていない修飾キーのみ取得できる。つまり、
34193471 Shift-aは修飾キーなしの "A" となる。修飾なしの場合は 0 を返す。
34203472
@@ -3547,6 +3599,7 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
35473599 help ヘルプ項目
35483600 highlight ハイライトグループ
35493601 history |:history| サブオプション
3602+ keymap キーボードマッピング
35503603 locale ロケール名 (locale -aの出力)
35513604 mapclear バッファ引数
35523605 mapping マッピング名
@@ -5091,8 +5144,12 @@ items({dict}) *items()*
50915144 for [key, value] in items(mydict)
50925145 echo key .. ': ' .. value
50935146 endfor
5147+ <
5148+ リストまたは文字列引数もサポートされている。このようなケースで
5149+ は、items() はインデックスとインデックスの値を含むリストを返
5150+ す。
50945151
5095- < |method| としても使用できる: >
5152+ |method| としても使用できる: >
50965153 mydict->items()
50975154
50985155job_ 関数群はここに文書化されている: |job-functions-details|
@@ -5948,6 +6005,51 @@ matcharg({nr}) *matcharg()*
59486005
59496006 |method| としても使用できる: >
59506007 GetMatch()->matcharg()
6008+ <
6009+ *matchbufline()*
6010+ matchbufline({buf}, {pat}, {lnum}, {end}, [, {dict}])
6011+ バッファ {buf} 内の {lnum} から {end} までの行で、{pat} がマッ
6012+ チした行の |List| を返す。
6013+
6014+ {lnum} と {end} には、行番号または {buf} の最後の行を参照する
6015+ 文字列 "$" を指定できる。
6016+
6017+ {dict} 引数は次の項目をサポートする:
6018+ submatches サブマッチ情報を含める (|/\(|)
6019+
6020+ マッチごとに、次の項目を含む |Dict| が返される:
6021+ byteidx マッチの開始バイトインデックス
6022+ lnum マッチする行番号
6023+ text マッチした文字列
6024+ Note 単一行に複数のマッチが存在する可能性があることに注意。
6025+
6026+ この関数はロードされたバッファに対してのみ機能する。必要であれ
6027+ ば、最初に |bufload()| を呼び出す。
6028+
6029+ {buf} が有効なバッファでない場合、バッファがロードされていない
6030+ 場合、{lnum} または {end} が有効でない場合は、エラー発生し、空
6031+ の |List| が返される。
6032+
6033+ 例: >
6034+ " バッファ 5 の 3 行目に "a" が含まれていると仮定
6035+ :echo matchbufline(5, '\<\k\+\>', 3, 3)
6036+ [{'lnum': 3, 'byteidx': 0, 'text': 'a'}]
6037+ " バッファ 10 の 4 行目に "tik tok" が含まれていると仮定
6038+ :echo matchbufline(10, '\<\k\+\>', 1, 4)
6039+ [{'lnum': 4, 'byteidx': 0, 'text': 'tik'}, {'lnum': 4, 'byteidx': 4, 'text': 'tok'}]
6040+ <
6041+ {submatch} が存在し、v:true の場合、"\1"、"\2" 等のサブマッチ
6042+ も返される。例: >
6043+ " バッファ 2 の 2 行目に "acd" が含まれていると仮定
6044+ :echo matchbufline(2, '\(a\)\?\(b\)\?\(c\)\?\(.*\)', 2, 2
6045+ \ {'submatches': v:true})
6046+ [{'lnum': 2, 'byteidx': 0, 'text': 'acd', 'submatches': ['a', '', 'c', 'd', '', '', '', '', '']}]
6047+ < "submatches" リストには常に 9 個のアイテムが含まれる。サブマッ
6048+ チが見つからない場合、そのサブマッチに対しては空文字列が返され
6049+ る。
6050+
6051+ |method| としても使用できる: >
6052+ GetBuffer()->matchbufline('mypat', 1, '$')
59516053
59526054matchdelete({id}, [, {win}]) *matchdelete()* *E802* *E803*
59536055 |matchadd()| または |:match| で定義したマッチの中で ID が {id}
@@ -6075,6 +6177,40 @@ matchlist({expr}, {pat} [, {start} [, {count}]]) *matchlist()*
60756177
60766178 |method| としても使用できる: >
60776179 GetText()->matchlist('word')
6180+ <
6181+ *matchstrlist()*
6182+ matchstrlist({list}, {pat} [, {dict}])
6183+ {pat} がマッチする {list} 内のマッチの |List| を返す。
6184+ {list} は文字列の |List| である。{list} 内の各文字列に対して
6185+ {pat} がマッチする。
6186+
6187+ {dict} 引数は次の項目をサポートする:
6188+ submatches サブマッチ情報を含める (|/\(|)
6189+
6190+ マッチごとに、次の項目を含む |Dict| が返される:
6191+ byteidx マッチの開始バイトインデックス。
6192+ idx {list} 内のマッチのインデックス。
6193+ text マッチした文字列
6194+ submatches サブマッチのリスト。{dict} で "submatches" が
6195+ v:true に設定されている場合にのみ存在する。
6196+
6197+ 例: >
6198+ :echo matchstrlist(['tik tok'], '\<\k\+\>')
6199+ [{'idx': 0, 'byteidx': 0, 'text': 'tik'}, {'idx': 0, 'byteidx': 4, 'text': 'tok'}]
6200+ :echo matchstrlist(['a', 'b'], '\<\k\+\>')
6201+ [{'idx': 0, 'byteidx': 0, 'text': 'a'}, {'idx': 1, 'byteidx': 0, 'text': 'b'}]
6202+ <
6203+ "submatch" が存在し、v:true の場合、"\1"、"\2" 等のサブマッチ
6204+ も返される。例: >
6205+ :echo matchstrlist(['acd'], '\(a\)\?\(b\)\?\(c\)\?\(.*\)',
6206+ \ #{submatches: v:true})
6207+ [{'idx': 0, 'byteidx': 0, 'text': 'acd', 'submatches': ['a', '', 'c', 'd', '', '', '', '', '']}]
6208+ < "submatches" リストには常に 9 個のアイテムが含まれる。サブマッ
6209+ チが見つからない場合、そのサブマッチに対しては空文字列が返され
6210+ る。
6211+
6212+ |method| としても使用できる: >
6213+ GetListOfStrings()->matchstrlist('mypat')
60786214
60796215matchstr({expr}, {pat} [, {start} [, {count}]]) *matchstr()*
60806216 |match()| と同じだが、マッチした文字列を返す。例: >
@@ -9928,6 +10064,7 @@ type({expr}) {expr}の型を示す数値を返す。
992810064 Blob: 10 |v:t_blob|
992910065 クラス: 12 |v:t_class|
993010066 オブジェクト: 13 |v:t_object|
10067+ 型エイリアス: 14 |v:t_typealias|
993110068 後方互換性のためには、次のような使い方ができる: >
993210069 :if type(myvar) == type(0)
993310070 :if type(myvar) == type("")
0 commit comments