Skip to content

Commit a660ac3

Browse files
authored
Merge pull request #1471 from mityu/update-builtin
Update builtin.{txt,jax}
2 parents c38bc89 + d357a6b commit a660ac3

File tree

2 files changed

+229
-54
lines changed

2 files changed

+229
-54
lines changed

doc/builtin.jax

Lines changed: 115 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*builtin.txt* For Vim バージョン 9.1. Last change: 2024 Feb 01
1+
*builtin.txt* For Vim バージョン 9.1. Last change: 2024 Mar 29
22

33

44
VIMリファレンスマニュアル by Bram Moolenaar
@@ -279,6 +279,8 @@ getqflist({what}) 辞書 指定したquickfixリストのプロパティ
279279
getreg([{regname} [, 1 [, {list}]]])
280280
文字列/リスト レジスタの中身を取得
281281
getreginfo([{regname}]) 辞書 レジスタについての情報
282+
getregion({pos1}, {pos2} [, {opts}])
283+
リスト {pos1}から{pos2}までのテキストを取得
282284
getregtype([{regname}]) 文字列 レジスタの種類を取得
283285
getscriptinfo([{opts}]) リスト 読み込まれたスクリプトの一覧
284286
gettabinfo([{expr}]) リスト タブページのリスト
@@ -2099,23 +2101,28 @@ diff({fromlist}, {tolist} [, {options}]) *diff()*
20992101

21002102
{options} 辞書引数は diff オプション ('diffopt' と同様) も指定
21012103
し、以下の項目をサポートする:
2104+
algorithm 使用する diff アルゴリズムを指定する辞
2105+
書。サポートされている真偽値項目は
2106+
"myers", "minimal", "patience",
2107+
"histogram"。
2108+
context diff context の長さ。デフォルトは 0。
21022109
iblank 行がすべて空白の変更は無視する。
21032110
icase テキストの大小文字の変更を無視する。
2111+
indent-heuristic 内部 diff ライブラリのインデントヒュー
2112+
リスティックを使用する。
21042113
iwhite 空白の量の変化を無視する。
21052114
iwhiteall すべての空白の変更を無視する。
21062115
iwhiteeol 行末の空白の変更を無視する。
2107-
indent-heuristic 内部 diff ライブラリのインデントヒュー
2108-
リスティックを使用する。
2109-
algorithm 使用する diff アルゴリズムを指定する辞
2110-
書。サポートされている真偽値項目は
2111-
"myers", "minimal", "patience",
2112-
"histogram"。
21132116
これらのオプションの詳細については、'diffopt' を参照。
21142117

2118+
Unified diff を計算するために、{fromlist} のすべての項目は改行
2119+
区切りを用いてひとつの文字列に連結される。{tolist} も同様であ
2120+
る。Unified diff の出力は行番号を用いる。
2121+
21152122
{fromlist} と {tolist} が同一の場合、空のリストまたは文字列を
21162123
返す。
21172124

2118-
例:
2125+
例: >
21192126
:echo diff(['abc'], ['xxx'])
21202127
@@ -1 +1 @@
21212128
-abc
@@ -2125,7 +2132,7 @@ diff({fromlist}, {tolist} [, {options}]) *diff()*
21252132
[{'from_idx': 0, 'from_count': 1, 'to_idx': 0, 'to_count': 1}]
21262133
:echo diff(readfile('oldfile'), readfile('newfile'))
21272134
:echo diff(getbufline(5, 1, '$'), getbufline(6, 1, '$'))
2128-
2135+
<
21292136
その他の例については、|diff-func-examples| を参照
21302137

21312138
|method| としても使用できる: >
@@ -2269,6 +2276,8 @@ empty({expr}) *empty()*
22692276
- ジョブ |Job| は開始に失敗したときは空である。
22702277
- チャネル |Channel| は閉じられていると空である。
22712278
- |Blob| はその長さが0のときは空である。
2279+
- |Object| はオブジェクトの empty() メソッドが (もし存在し) 真
2280+
を返すとき空である。|object-empty()|
22722281

22732282
長いリストに対しては長さを0と比較するよりこちらの方がずっと高
22742283
速である。
@@ -2406,11 +2415,12 @@ exists({expr}) 結果は数値で、変数{expr}が存在すれば|TRUE|とな
24062415
引数{expr}は文字列で次のうちいずれかである。
24072416
varname 内部変数(|internal-variables|)
24082417
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|
24142424
script の関数でも動作する。
24152425
インデックスの評価で無効な式であるとエ
24162426
ラーメッセージが出る可能性があることに
@@ -2539,6 +2549,9 @@ expand({string} [, {nosuf} [, {list}]]) *expand()*
25392549
'%'、'#'、'<' で始まらない限り、存在しないファイル名というの
25402550
は、結果の文字列には含まれない。下記を参照のこと。
25412551

2552+
|:terminal| のウィンドウに対しては、'%' は '!' とそれに続く実
2553+
行中のコマンドまたはシェルに展開される。|terminal-bufname|
2554+
25422555
{string} が '%' か '#' か '<' で始まる場合には、展開は
25432556
|cmdline-special|のように、変換子を受け付け、それらに関連付け
25442557
られた変換が施される。ここに簡単な概略を示す:
@@ -4199,6 +4212,57 @@ getreg([{regname} [, 1 [, {list}]]]) *getreg()*
41994212
|method| としても使用できる: >
42004213
GetRegname()->getreg()
42014214

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+
<
42024266
getreginfo([{regname}]) *getreginfo()*
42034267
レジスタ {regname} についての詳細情報として次の項目を持つ辞書
42044268
を返す:
@@ -5343,7 +5407,9 @@ len({expr}) 結果は数値で、引数{expr}の長さ。{expr}が文字列ま
53435407
{expr}がリスト |List| のときは要素数を返す。
53445408
{expr}が |Blob| の場合、バイト数を返す。
53455409
{expr}が辞書 |Dictionary| のときは要素数を返す。
5346-
それ以外のときはエラーとなり、ゼロを返す。
5410+
{expr}が |Object| のときは、オブジェクトの len() メソッドを
5411+
(存在する場合) 呼び出して長さを取得する (|object-len()|)。それ
5412+
以外のときはゼロを返す。
53475413

53485414
|method| としても使用できる: >
53495415
mylist->len()
@@ -5946,6 +6012,7 @@ match({expr}, {pat} [, {start} [, {count}]]) *match()*
59466012
Note {count}を指定すると、{start}の扱い方が変わってしまう。
59476013
前の段落を参照。
59486014

6015+
*match-pattern*
59496016
受け付ける正規表現については|pattern|を参照。
59506017
オプション 'ignorecase' により、大文字・小文字を区別するかどう
59516018
かを設定できる。'smartcase' は適用されない。マッチングは常に
@@ -6086,6 +6153,9 @@ matchbufline({buf}, {pat}, {lnum}, {end}, [, {dict}])
60866153
この関数はロードされたバッファに対してのみ機能する。必要であれ
60876154
ば、最初に |bufload()| を呼び出す。
60886155

6156+
パターンに対するいくつかのオプション設定の影響については
6157+
|match-pattern| を参照。
6158+
60896159
{buf} が有効なバッファでない場合、バッファがロードされていない
60906160
場合、{lnum} または {end} が有効でない場合は、エラー発生し、空
60916161
の |List| が返される。
@@ -6254,6 +6324,9 @@ matchstrlist({list}, {pat} [, {dict}])
62546324
submatches サブマッチのリスト。{dict} で "submatches" が
62556325
v:true に設定されている場合にのみ存在する。
62566326

6327+
パターンに対するいくつかのオプション設定の影響については
6328+
|match-pattern| を参照。
6329+
62576330
例: >
62586331
:echo matchstrlist(['tik tok'], '\<\k\+\>')
62596332
[{'idx': 0, 'byteidx': 0, 'text': 'tik'}, {'idx': 0, 'byteidx': 4, 'text': 'tok'}]
@@ -6879,7 +6952,7 @@ printf({fmt}, {expr1} ...) *printf()*
68796952
< 1.414
68806953

68816954
幅や精度を直接指定することと、位置引数を介して指定することを組
6882-
み合わせることができます: >
6955+
み合わせることができる: >
68836956

68846957
echo printf("%1$4.*2$f", 1.4142135, 6)
68856958
< 1.414214 >
@@ -6888,6 +6961,9 @@ printf({fmt}, {expr1} ...) *printf()*
68886961
echo printf("%1$*2$.*3$f", 1.4142135, 6, 2)
68896962
< 1.41
68906963

6964+
フィールド幅もしくは精度が 6400 文字より長い文字列になる場合
6965+
は、オーバーフローエラー |E1510| を得るだろう。
6966+
68916967
*E1500*
68926968
位置引数と非位置引数を混在させることはできない: >
68936969
echo printf("%s%1$s", "One", "Two")
@@ -7741,6 +7817,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
77417817
マッチが見つかった場合はその行番号を返す。
77427818
マッチがない場合は0を返し、カーソルは移動しない。エラーメッ
77437819
セージは表示されない。
7820+
マッチした文字列を得るには、|matchbufline()| を使う。
77447821

77457822
{flags} は以下のフラグ文字からなる文字列
77467823
'b' 後方(上方)に検索する
@@ -8781,7 +8858,7 @@ slice({expr}, {start} [, {end}]) *slice()*
87818858
スライス |slice| "expr[start : end]" と同様に使えるが、"end"
87828859
を含まない。そして文字列のインデックスは、|vim9script| と同様
87838860
にバイトインデックスの代わりに文字インデックスが使われる。ま
8784-
た、合成文字はカウントされない
8861+
た、合成文字は直前の基底文字の一部として扱われる
87858862
{end} がない場合スライスは最後の項目を含む。
87868863
{end} が-1の場合最後の項目を含まない。
87878864
{start} または {end} が無効な場合は空の値を返す。
@@ -9168,8 +9245,8 @@ strcharpart({src}, {start} [, {len} [, {skipcc}]]) *strcharpart()*
91689245
字のインデックスおよび長さを使用する。
91699246
{skipcc} を省略するかゼロにすると、合成文字は別々にカウントさ
91709247
れる。
9171-
{skipcc} を 1 にすると、|slice()| と同様に合成文字は無視され
9172-
9248+
{skipcc} を 1 にすると、|slice()| と同様に合成文字は直前の基底
9249+
文字の一部として扱われる
91739250
文字インデックスが存在しない文字を指す場合、それは 1 つの文字
91749251
としてカウントされるが、戻り値には現れない。例: >
91759252
strcharpart('abc', -1, 2)
@@ -9294,12 +9371,19 @@ string({expr}) {expr}を文字列に変換して返す。{expr}が数値、浮
92949371
Blob 0z00112233.44556677.8899
92959372
リスト [item, item]
92969373
辞書 {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}
92999378

93009379
リスト |List| や辞書 |Dictionary| に循環参照がある場合、それら
93019380
は "[...]" や "{...}" に置き換えられる。その結果に対して eval()
93029381
を使用すると失敗する。
9382+
9383+
オブジェクトに対しては、string() メソッドを呼び出してオブジェ
9384+
クトのテキスト表現を取得する。メソッドが存在しない場合は、デ
9385+
フォルトの表現が用いられる。|object-string()|
9386+
93039387
|method| としても使用できる: >
93049388
mylist->string()
93059389

@@ -10125,6 +10209,8 @@ type({expr}) {expr}の型を示す数値を返す。
1012510209
クラス: 12 |v:t_class|
1012610210
オブジェクト: 13 |v:t_object|
1012710211
型エイリアス: 14 |v:t_typealias|
10212+
列挙型: 15 |v:t_enum|
10213+
列挙値: 16 |v:t_enumvalue|
1012810214
後方互換性のためには、次のような使い方ができる: >
1012910215
:if type(myvar) == type(0)
1013010216
:if type(myvar) == type("")
@@ -10487,17 +10573,16 @@ win_screenpos({nr}) *win_screenpos()*
1048710573
の位置となり、タブラインがある場合は [2, 1] となる。
1048810574
{nr} にはウィンドウ番号もしくは |window-ID| を指定する。現在の
1048910575
ウィンドウには0を使う。
10490-
現在のタブページに対象のウィンドウが見つからない場合、[0, 0]を
10491-
返す。
10576+
対象のウィンドウが見つからない場合、[0, 0] を返す。
1049210577

1049310578
|method| としても使用できる: >
1049410579
GetWinid()->win_screenpos()
1049510580
<
1049610581
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| は移動後も変更されない)
1050110586

1050210587
{nr} と {target} の両方とも、ウィンドウ番号または |window-ID|
1050310588
である。両方とも現在のタブページになければならない。
@@ -10599,7 +10684,9 @@ winnr([{arg}]) 結果は現在のウィンドウを示す数値。最上位の
1059910684
$ 最後のウィンドウの番号(ウィンドウ数)
1060010685
# 最後にアクセスしたウィンドウの番号(|CTRL-W_p|
1060110686
の行き先)。前のウィンドウがないか、別のタブペー
10602-
ジにある場合は、0が返される。
10687+
ジにある場合は、0が返される。一部のケース (例
10688+
えば 'statusline' 式を評価しているとき) では、
10689+
現在のウィンドウを参照するかもしれない。
1060310690
{N}j 現在のウィンドウの下N番目のウィンドウの番号
1060410691
(|CTRL-W_j| の行き先)。
1060510692
{N}k 現在のウィンドウの上N番目のウィンドウの番号

0 commit comments

Comments
 (0)