1
- *builtin.txt* For Vim バージョン 9.1. Last change: 2024 Feb 01
1
+ *builtin.txt* For Vim バージョン 9.1. Last change: 2024 Mar 29
2
2
3
3
4
4
VIMリファレンスマニュアル by Bram Moolenaar
@@ -279,6 +279,8 @@ getqflist({what}) 辞書 指定したquickfixリストのプロパティ
279
279
getreg([{regname} [, 1 [, {list}]]])
280
280
文字列/リスト レジスタの中身を取得
281
281
getreginfo([{regname}]) 辞書 レジスタについての情報
282
+ getregion({pos1}, {pos2} [, {opts}])
283
+ リスト {pos1}から{pos2}までのテキストを取得
282
284
getregtype([{regname}]) 文字列 レジスタの種類を取得
283
285
getscriptinfo([{opts}]) リスト 読み込まれたスクリプトの一覧
284
286
gettabinfo([{expr}]) リスト タブページのリスト
@@ -2099,23 +2101,28 @@ diff({fromlist}, {tolist} [, {options}]) *diff()*
2099
2101
2100
2102
{options} 辞書引数は diff オプション ('diffopt' と同様) も指定
2101
2103
し、以下の項目をサポートする:
2104
+ algorithm 使用する diff アルゴリズムを指定する辞
2105
+ 書。サポートされている真偽値項目は
2106
+ "myers", "minimal", "patience",
2107
+ "histogram"。
2108
+ context diff context の長さ。デフォルトは 0。
2102
2109
iblank 行がすべて空白の変更は無視する。
2103
2110
icase テキストの大小文字の変更を無視する。
2111
+ indent-heuristic 内部 diff ライブラリのインデントヒュー
2112
+ リスティックを使用する。
2104
2113
iwhite 空白の量の変化を無視する。
2105
2114
iwhiteall すべての空白の変更を無視する。
2106
2115
iwhiteeol 行末の空白の変更を無視する。
2107
- indent-heuristic 内部 diff ライブラリのインデントヒュー
2108
- リスティックを使用する。
2109
- algorithm 使用する diff アルゴリズムを指定する辞
2110
- 書。サポートされている真偽値項目は
2111
- "myers", "minimal", "patience",
2112
- "histogram"。
2113
2116
これらのオプションの詳細については、'diffopt' を参照。
2114
2117
2118
+ Unified diff を計算するために、{fromlist} のすべての項目は改行
2119
+ 区切りを用いてひとつの文字列に連結される。{tolist} も同様であ
2120
+ る。Unified diff の出力は行番号を用いる。
2121
+
2115
2122
{fromlist} と {tolist} が同一の場合、空のリストまたは文字列を
2116
2123
返す。
2117
2124
2118
- 例:
2125
+ 例: >
2119
2126
:echo diff(['abc'], ['xxx'])
2120
2127
@@ -1 +1 @@
2121
2128
-abc
@@ -2125,7 +2132,7 @@ diff({fromlist}, {tolist} [, {options}]) *diff()*
2125
2132
[{'from_idx': 0, 'from_count': 1, 'to_idx': 0, 'to_count': 1}]
2126
2133
:echo diff(readfile('oldfile'), readfile('newfile'))
2127
2134
:echo diff(getbufline(5, 1, '$'), getbufline(6, 1, '$'))
2128
-
2135
+ <
2129
2136
その他の例については、|diff-func-examples| を参照
2130
2137
2131
2138
|method| としても使用できる: >
@@ -2269,6 +2276,8 @@ empty({expr}) *empty()*
2269
2276
- ジョブ |Job| は開始に失敗したときは空である。
2270
2277
- チャネル |Channel| は閉じられていると空である。
2271
2278
- |Blob| はその長さが0のときは空である。
2279
+ - |Object| はオブジェクトの empty() メソッドが (もし存在し) 真
2280
+ を返すとき空である。|object-empty()|
2272
2281
2273
2282
長いリストに対しては長さを0と比較するよりこちらの方がずっと高
2274
2283
速である。
@@ -2406,11 +2415,12 @@ exists({expr}) 結果は数値で、変数{expr}が存在すれば|TRUE|とな
2406
2415
引数{expr}は文字列で次のうちいずれかである。
2407
2416
varname 内部変数(|internal-variables|)
2408
2417
dict.key |curly-braces-names|, |Dictionary|の要
2409
- list[i] 素、|List|の要素、import要素などに対し
2410
- import.Func ても動作する。
2411
- コンパイルされる |:def| 関数内のローカ
2412
- ル変数には動作しない。
2413
- また関数参照が使用できるため、|Vim9|
2418
+ list[i] 素、|List|の要素、クラスとオブジェクト
2419
+ import.Func のメソッド、import要素などに対しても動
2420
+ class.Func 作する。
2421
+ object.Func コンパイルされる |:def| 関数内のローカ
2422
+ class.varname ル変数には動作しない。
2423
+ object.varname また関数参照が使用できるため、|Vim9|
2414
2424
script の関数でも動作する。
2415
2425
インデックスの評価で無効な式であるとエ
2416
2426
ラーメッセージが出る可能性があることに
@@ -2539,6 +2549,9 @@ expand({string} [, {nosuf} [, {list}]]) *expand()*
2539
2549
'%'、'#'、'<' で始まらない限り、存在しないファイル名というの
2540
2550
は、結果の文字列には含まれない。下記を参照のこと。
2541
2551
2552
+ |:terminal| のウィンドウに対しては、'%' は '!' とそれに続く実
2553
+ 行中のコマンドまたはシェルに展開される。|terminal-bufname|
2554
+
2542
2555
{string} が '%' か '#' か '<' で始まる場合には、展開は
2543
2556
|cmdline-special|のように、変換子を受け付け、それらに関連付け
2544
2557
られた変換が施される。ここに簡単な概略を示す:
@@ -4199,6 +4212,57 @@ getreg([{regname} [, 1 [, {list}]]]) *getreg()*
4199
4212
|method| としても使用できる: >
4200
4213
GetRegname()->getreg()
4201
4214
4215
+ getregion({pos1}, {pos2} [, {opts}]) *getregion()*
4216
+ バッファから、{pos1} から {pos2} までの文字列のリストを返す。
4217
+
4218
+ {pos1} と {pos2} はともに 4 つの整数からなる |List| でな
4219
+ ければならない。このリストの形式については |getpos()| を参照。
4220
+ 他のバッファの位置を指定することができるが、|getregion-notes|
4221
+ にある制限に注意すること。
4222
+
4223
+ オプショナル引数の {opts} は以下の項目をサポートする辞書である:
4224
+
4225
+ type 範囲の選択のタイプを指定する (デフォル
4226
+ ト: "v"):
4227
+ "v" |characterwise| モード
4228
+ "V" |linewise| モード
4229
+ "<CTRL-V>" |blockwise-visual| モード
4230
+
4231
+ exclusive |TRUE| の場合、末尾の位置に排他的な選
4232
+ 択を用いる。
4233
+ (デフォルト: 'selection' に従う)
4234
+
4235
+ |visualmode()| で最後の選択のタイプを取得することができる。
4236
+ ビジュアルモードがアクティブな場合は、現在のビジュアルモードを
4237
+ |mode()| で取得する (例えば、|:vmap| の中)。
4238
+ この関数は、|characterwise-visual| 選択のような、始まりと終わ
4239
+ りが異なる桁のテキストを取得するのに便利である。
4240
+
4241
+ *getregion-notes*
4242
+ Note:
4243
+ - {pos1} と {pos2} の順序は重要ではなく、常に左上の位置から右
4244
+ 下の位置までの内容を返す。
4245
+ - 'virtualedit' が有効で、領域が行末を越える場合、結果の行は空
4246
+ 白で埋められる。
4247
+ - 領域が矩形単位で、複数セル文字の途中で開始または終了する場
4248
+ 合、その文字は含まれないが、その選択された部分は空白で置き換
4249
+ えられる。
4250
+ - {pos1} と {pos2} が同じバッファにない場合は、空のリストが返
4251
+ される。
4252
+ - {pos1} と {pos2} は必ず |bufloaded()| なバッファ上になければ
4253
+ ならない。
4254
+ - これはカレントウィンドウのコンテキストで評価されるので、バッ
4255
+ ファが 'virtualedit' または 'list' の値が異なるウィンドウに
4256
+ 表示される場合に違いが生じる。
4257
+
4258
+ 例: >
4259
+ :xnoremap <CR>
4260
+ \ <Cmd>echow getregion(
4261
+ \ getpos('v'), getpos('.'), #{ type: mode() })<CR>
4262
+ <
4263
+ |method| としても使用できる: >
4264
+ getpos('.')->getregion(getpos("'a"))
4265
+ <
4202
4266
getreginfo([{regname}]) *getreginfo()*
4203
4267
レジスタ {regname} についての詳細情報として次の項目を持つ辞書
4204
4268
を返す:
@@ -5343,7 +5407,9 @@ len({expr}) 結果は数値で、引数{expr}の長さ。{expr}が文字列ま
5343
5407
{expr}がリスト |List| のときは要素数を返す。
5344
5408
{expr}が |Blob| の場合、バイト数を返す。
5345
5409
{expr}が辞書 |Dictionary| のときは要素数を返す。
5346
- それ以外のときはエラーとなり、ゼロを返す。
5410
+ {expr}が |Object| のときは、オブジェクトの len() メソッドを
5411
+ (存在する場合) 呼び出して長さを取得する (|object-len()|)。それ
5412
+ 以外のときはゼロを返す。
5347
5413
5348
5414
|method| としても使用できる: >
5349
5415
mylist->len()
@@ -5946,6 +6012,7 @@ match({expr}, {pat} [, {start} [, {count}]]) *match()*
5946
6012
Note {count}を指定すると、{start}の扱い方が変わってしまう。
5947
6013
前の段落を参照。
5948
6014
6015
+ *match-pattern*
5949
6016
受け付ける正規表現については|pattern|を参照。
5950
6017
オプション 'ignorecase' により、大文字・小文字を区別するかどう
5951
6018
かを設定できる。'smartcase' は適用されない。マッチングは常に
@@ -6086,6 +6153,9 @@ matchbufline({buf}, {pat}, {lnum}, {end}, [, {dict}])
6086
6153
この関数はロードされたバッファに対してのみ機能する。必要であれ
6087
6154
ば、最初に |bufload()| を呼び出す。
6088
6155
6156
+ パターンに対するいくつかのオプション設定の影響については
6157
+ |match-pattern| を参照。
6158
+
6089
6159
{buf} が有効なバッファでない場合、バッファがロードされていない
6090
6160
場合、{lnum} または {end} が有効でない場合は、エラー発生し、空
6091
6161
の |List| が返される。
@@ -6254,6 +6324,9 @@ matchstrlist({list}, {pat} [, {dict}])
6254
6324
submatches サブマッチのリスト。{dict} で "submatches" が
6255
6325
v:true に設定されている場合にのみ存在する。
6256
6326
6327
+ パターンに対するいくつかのオプション設定の影響については
6328
+ |match-pattern| を参照。
6329
+
6257
6330
例: >
6258
6331
:echo matchstrlist(['tik tok'], '\<\k\+\>')
6259
6332
[{'idx': 0, 'byteidx': 0, 'text': 'tik'}, {'idx': 0, 'byteidx': 4, 'text': 'tok'}]
@@ -6879,7 +6952,7 @@ printf({fmt}, {expr1} ...) *printf()*
6879
6952
< 1.414
6880
6953
6881
6954
幅や精度を直接指定することと、位置引数を介して指定することを組
6882
- み合わせることができます : >
6955
+ み合わせることができる : >
6883
6956
6884
6957
echo printf("%1$4.*2$f", 1.4142135, 6)
6885
6958
< 1.414214 >
@@ -6888,6 +6961,9 @@ printf({fmt}, {expr1} ...) *printf()*
6888
6961
echo printf("%1$*2$.*3$f", 1.4142135, 6, 2)
6889
6962
< 1.41
6890
6963
6964
+ フィールド幅もしくは精度が 6400 文字より長い文字列になる場合
6965
+ は、オーバーフローエラー |E1510| を得るだろう。
6966
+
6891
6967
*E1500*
6892
6968
位置引数と非位置引数を混在させることはできない: >
6893
6969
echo printf("%s%1$s", "One", "Two")
@@ -7741,6 +7817,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
7741
7817
マッチが見つかった場合はその行番号を返す。
7742
7818
マッチがない場合は0を返し、カーソルは移動しない。エラーメッ
7743
7819
セージは表示されない。
7820
+ マッチした文字列を得るには、|matchbufline()| を使う。
7744
7821
7745
7822
{flags} は以下のフラグ文字からなる文字列
7746
7823
'b' 後方(上方)に検索する
@@ -8781,7 +8858,7 @@ slice({expr}, {start} [, {end}]) *slice()*
8781
8858
スライス |slice| "expr[start : end]" と同様に使えるが、"end"
8782
8859
を含まない。そして文字列のインデックスは、|vim9script| と同様
8783
8860
にバイトインデックスの代わりに文字インデックスが使われる。ま
8784
- た、合成文字はカウントされない 。
8861
+ た、合成文字は直前の基底文字の一部として扱われる 。
8785
8862
{end} がない場合スライスは最後の項目を含む。
8786
8863
{end} が-1の場合最後の項目を含まない。
8787
8864
{start} または {end} が無効な場合は空の値を返す。
@@ -9168,8 +9245,8 @@ strcharpart({src}, {start} [, {len} [, {skipcc}]]) *strcharpart()*
9168
9245
字のインデックスおよび長さを使用する。
9169
9246
{skipcc} を省略するかゼロにすると、合成文字は別々にカウントさ
9170
9247
れる。
9171
- {skipcc} を 1 にすると、|slice()| と同様に合成文字は無視され
9172
- る 。
9248
+ {skipcc} を 1 にすると、|slice()| と同様に合成文字は直前の基底
9249
+ 文字の一部として扱われる 。
9173
9250
文字インデックスが存在しない文字を指す場合、それは 1 つの文字
9174
9251
としてカウントされるが、戻り値には現れない。例: >
9175
9252
strcharpart('abc', -1, 2)
@@ -9294,12 +9371,19 @@ string({expr}) {expr}を文字列に変換して返す。{expr}が数値、浮
9294
9371
Blob 0z00112233.44556677.8899
9295
9372
リスト [item, item]
9296
9373
辞書 {key: value, key: value}
9297
- クラス クラス SomeName
9298
- オブジェクト オブジェクト SomeName {lnum: 1, col: 3}
9374
+ クラス class SomeName
9375
+ オブジェクト object of SomeName {lnum: 1, col: 3}
9376
+ 列挙型 enum EnumName
9377
+ 列挙値 enum name.value {name: str, ordinal: nr}
9299
9378
9300
9379
リスト |List| や辞書 |Dictionary| に循環参照がある場合、それら
9301
9380
は "[...]" や "{...}" に置き換えられる。その結果に対して eval()
9302
9381
を使用すると失敗する。
9382
+
9383
+ オブジェクトに対しては、string() メソッドを呼び出してオブジェ
9384
+ クトのテキスト表現を取得する。メソッドが存在しない場合は、デ
9385
+ フォルトの表現が用いられる。|object-string()|
9386
+
9303
9387
|method| としても使用できる: >
9304
9388
mylist->string()
9305
9389
@@ -10125,6 +10209,8 @@ type({expr}) {expr}の型を示す数値を返す。
10125
10209
クラス: 12 |v:t_class|
10126
10210
オブジェクト: 13 |v:t_object|
10127
10211
型エイリアス: 14 |v:t_typealias|
10212
+ 列挙型: 15 |v:t_enum|
10213
+ 列挙値: 16 |v:t_enumvalue|
10128
10214
後方互換性のためには、次のような使い方ができる: >
10129
10215
:if type(myvar) == type(0)
10130
10216
:if type(myvar) == type("")
@@ -10487,17 +10573,16 @@ win_screenpos({nr}) *win_screenpos()*
10487
10573
の位置となり、タブラインがある場合は [2, 1] となる。
10488
10574
{nr} にはウィンドウ番号もしくは |window-ID| を指定する。現在の
10489
10575
ウィンドウには0を使う。
10490
- 現在のタブページに対象のウィンドウが見つからない場合、[0, 0]を
10491
- 返す。
10576
+ 対象のウィンドウが見つからない場合、[0, 0] を返す。
10492
10577
10493
10578
|method| としても使用できる: >
10494
10579
GetWinid()->win_screenpos()
10495
10580
<
10496
10581
win_splitmove({nr}, {target} [, {options}]) *win_splitmove()*
10497
- ウィンドウ {nr} をウィンドウ {target} の新しい分割に移動する。
10498
- これは {target} に移動し、|:split| を使用して新しいウィンドウ
10499
- を作成するが、ウィンドウ {nr} と同じ内容を使用してから、{nr}
10500
- を閉じることに似ている 。
10582
+ 一時的にウィンドウ {target} に移り、そしてウィンドウ {nr} を
10583
+ {target} に隣接する新しい分割に移動する。
10584
+ |:split| などのコマンドと異なり、新しいウィンドウは作成されな
10585
+ い (ウィンドウ {nr} の |window-ID| は移動後も変更されない) 。
10501
10586
10502
10587
{nr} と {target} の両方とも、ウィンドウ番号または |window-ID|
10503
10588
である。両方とも現在のタブページになければならない。
@@ -10599,7 +10684,9 @@ winnr([{arg}]) 結果は現在のウィンドウを示す数値。最上位の
10599
10684
$ 最後のウィンドウの番号(ウィンドウ数)
10600
10685
# 最後にアクセスしたウィンドウの番号(|CTRL-W_p|
10601
10686
の行き先)。前のウィンドウがないか、別のタブペー
10602
- ジにある場合は、0が返される。
10687
+ ジにある場合は、0が返される。一部のケース (例
10688
+ えば 'statusline' 式を評価しているとき) では、
10689
+ 現在のウィンドウを参照するかもしれない。
10603
10690
{N}j 現在のウィンドウの下N番目のウィンドウの番号
10604
10691
(|CTRL-W_j| の行き先)。
10605
10692
{N}k 現在のウィンドウの上N番目のウィンドウの番号
0 commit comments