1
- *builtin.txt* For Vim バージョン 8.2 . Last change: 2022 Mar 08
1
+ *builtin.txt* For Vim バージョン 9.0 . Last change: 2022 Apr 25
2
2
3
3
4
4
VIMリファレンスマニュアル by Bram Moolenaar
@@ -173,7 +173,8 @@ exists_compiled({expr}) 数値 変数{var}がコンパイル時に存在した
173
173
exp({expr} ) 浮動小数点数 {expr} の指数
174
174
expand({expr} [, {nosuf} [, {list} ]])
175
175
任意 {expr} 内の特別なキーワードを展開
176
- expandcmd({expr} ) 文字列 `:edit ` のように{expr} を展開
176
+ expandcmd({string} [, {options} ])
177
+ 文字列 `:edit ` のように{string} を展開
177
178
extend({expr1} , {expr2} [, {expr3} ])
178
179
リスト/辞書 {expr1} に{expr2} を要素として挿入
179
180
extendnew({expr1} , {expr2} [, {expr3} ])
@@ -311,6 +312,7 @@ insert({object}, {item} [, {idx}])
311
312
リスト {object} に要素{item} を挿入 [{idx} の前]
312
313
interrupt() なし スクリプトの実行を中断する
313
314
invert({expr} ) 数値 ビット反転
315
+ isabsolutepath({path} ) 数値 {path} が絶対パスならば | TRUE |
314
316
isdirectory({directory} ) 数値 {directory} がディレクトリならば| TRUE |
315
317
isinf({expr} ) 数値 {expr} が無限大の値(正または負)かどうか
316
318
を判定する
@@ -354,6 +356,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]])
354
356
モード{mode} でのマッピング{name} の値
355
357
mapcheck({name} [, {mode} [, {abbr} ]])
356
358
文字列 {name} にマッチするマッピングを確認
359
+ maplist([{abbr} ]) リスト 全マッピングのリスト、各要素は辞書
357
360
mapnew({expr1} , {expr2} ) リスト/辞書/Blob/文字列
358
361
| map() | と同様だが新規のリストか辞書を
359
362
作る
@@ -1196,8 +1199,8 @@ bufwinid({buf}) *bufwinid()*
1196
1199
1197
1200
bufwinnr({buf} ) *bufwinnr()*
1198
1201
| bufwinid() | と同様だが、バッファの | window-ID | ではなくウィン
1199
- ドウ番を返す 。バッファ{buf} が存在しないか、ウィンドウが無い場
1200
- 合には -1を返す。例: >
1202
+ ドウ番号を返す 。バッファ{buf} が存在しないか、ウィンドウが無い
1203
+ 場合には -1を返す。例: >
1201
1204
1202
1205
echo "A window containing buffer 1 is " .. (bufwinnr(1))
1203
1206
@@ -1581,14 +1584,15 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
1581
1584
中断した場合、confirm()は0を返す。
1582
1585
1583
1586
例: >
1584
- :let choice = confirm("What do you want?", "&Apples\n&Oranges\n&Bananas", 2)
1585
- :if choice == 0
1586
- : echo "make up your mind!"
1587
- :elseif choice == 3
1588
- : echo "tasteful"
1589
- :else
1590
- : echo "I prefer bananas myself."
1591
- :endif
1587
+ let choice = confirm("What do you want?",
1588
+ \ "&Apples\n&Oranges\n&Bananas", 2)
1589
+ if choice == 0
1590
+ echo "make up your mind!"
1591
+ elseif choice == 3
1592
+ echo "tasteful"
1593
+ else
1594
+ echo "I prefer bananas myself."
1595
+ endif
1592
1596
< GUIのダイアログではボタンが使用される。ボタンの配置は
1593
1597
'guioptions' の 'v' フラグに依存する。もしも 'v' フラグが含ま
1594
1598
れているのなら、ボタンは常に垂直に配置される。そうでなければ水
@@ -1765,7 +1769,9 @@ deepcopy({expr} [, {noref}]) *deepcopy()* *E698*
1765
1769
delete({fname} [, {flags} ]) *delete()*
1766
1770
{flags} を指定しないもしくは{flags} を空で指定した場合: ファイル
1767
1771
{fname} を削除する。
1768
- これは{fname} がシンボリックリンクの時でも動作する。
1772
+
1773
+ これは{fname} がシンボリックリンクの時でも動作し、シンボリック
1774
+ リンクは、それが示すものではなく、リンク自身が削除される。
1769
1775
1770
1776
{flags} が "d" の場合: ディレクトリ{fname} を削除する。
1771
1777
これはディレクトリ{fname} が空でない場合は失敗する。
@@ -1775,9 +1781,6 @@ delete({fname} [, {flags}]) *delete()*
1775
1781
Note: MS-Windowsでは、使用中のディレクトリを削除することはでき
1776
1782
ない。
1777
1783
1778
- シンボリックリンクは、それが示すものではなく、リンク自身が削除
1779
- される。
1780
-
1781
1784
結果は数値であり、削除に成功すれば 0/false、削除に(部分的にで
1782
1785
も)失敗すれば -1/true である。
1783
1786
@@ -2044,9 +2047,8 @@ execute({command} [, {silent}]) *execute()*
2044
2047
*E930*
2045
2048
{command} の中のどこかで`:redir ` を使うことができない。
2046
2049
2047
- 行のリストを得るために、出力に| split() | を使うことができる:
2048
- >
2049
- split(execute('args'), "\n")
2050
+ 行のリストを得るために、出力に| split() | を使うことができる: >
2051
+ execute('args')->split("\n")
2050
2052
2051
2053
< 現在のウィンドウとは別のウィンドウでコマンドを実行するには
2052
2054
`win_execute ()` を使用すること。
@@ -2233,6 +2235,9 @@ expand({string} [, {nosuf} [, {list}]]) *expand()*
2233
2235
同様。
2234
2236
<SID> "<SNR> 123_" ここで "123" は現在のスク
2235
2237
リプトのID | <SID> |
2238
+ <script> 取り込み(source)中のファイル名、あるい
2239
+ は現在の関数が定義されたスクリプトファ
2240
+ イル名
2236
2241
<stack> コールスタック
2237
2242
<cword> カーソル下の単語(word)
2238
2243
<cWORD> カーソル下の単語(WORD)
@@ -2264,6 +2269,8 @@ expand({string} [, {nosuf} [, {list}]]) *expand()*
2264
2269
カレントバッファや代替バッファの名前が未定義のときに '%' や
2265
2270
'#' を使うと空文字列になる。"%:p" を名無しのバッファに使用した
2266
2271
場合、結果はカレントディレクトリに '/' が付加されたものになる。
2272
+ 'verbose' が設定されていると、'%', '#' および <> の項目を展開
2273
+ できない場合、エラーメッセージが表示される。
2267
2274
2268
2275
'%' や '#' や '<' で始まらない{string} は、コマンドラインのファ
2269
2276
イル名と同じように展開される。{nosuf} 引数に| TRUE | を指定しない
@@ -2286,15 +2293,26 @@ expand({string} [, {nosuf} [, {list}]]) *expand()*
2286
2293
| method | としても使用できる: >
2287
2294
Getpattern()->expand()
2288
2295
2289
- expandcmd({string} ) *expandcmd()*
2296
+ expandcmd({string} [, {options} ]) *expandcmd()*
2290
2297
`:edit ` などのExコマンドに対しておこなわれているように、文字列
2291
2298
{string} の特殊な項目を展開する。これは {string} の中のどこで
2292
2299
も、| expand() | のような特殊なキーワードと環境変数を展開する。
2293
2300
"~user" および "~/path" は冒頭でのみ展開される。
2294
- 展開された文字列を返す。例: >
2295
- :echo expandcmd('make %<.o')
2296
2301
2297
- < | method | としても使用できる: >
2302
+ 引数の辞書 {options} は以下の項目をサポートする:
2303
+ errmsg TRUEに設定された場合、展開中に遭遇したエラーの
2304
+ エラーメッセージを表示する。デフォルトでは、エ
2305
+ ラーメッセージは表示されない。
2306
+
2307
+ 展開された文字列を返す。展開中にエラーに遭遇した場合、変更され
2308
+ ていない {string} を返す。
2309
+
2310
+ 例: >
2311
+ :echo expandcmd('make %<.o')
2312
+ make /path/runtime/doc/builtin.o
2313
+ :echo expandcmd('make %<.o', {'errmsg': v:true})
2314
+ <
2315
+ | method | としても使用できる: >
2298
2316
GetCommand()->expandcmd()
2299
2317
<
2300
2318
extend({expr1} , {expr2} [, {expr3} ]) *extend()*
@@ -2387,6 +2405,8 @@ feedkeys({string} [, {mode}]) *feedkeys()*
2387
2405
た場合、最後の呼び出しですべての先行入力が消費される。
2388
2406
'c' 実行時のスクリプトのコンテキストを削除し、旧来のスクリ
2389
2407
プトの構文が適用され、"s:var" が動作しないようにする。
2408
+ Note 使用しているキーがスクリプトのコンテキストを設定
2409
+ していてもこれは適用される。
2390
2410
'!' 'x' と一緒に使用すると挿入モードを終了しない。タイマー
2391
2411
が少し後で挿入モードを終了するように設定されているとき
2392
2412
にテストで使用できる。CursorHoldIのテストに便利である。
@@ -2724,8 +2744,8 @@ foreground() Vimのウィンドウを前面に移動する。この関数はク
2724
2744
Win32では自分自身のウィンドウを前面に持ってくることが必ずしも
2725
2745
許可されていないので、動作しないかもしれない。そのときは代わり
2726
2746
に| remote_foreground() | を使うこと。
2727
- {Win32, Athena, Motif, GTKいずれかのGUI版とWin32コンソール版で
2728
- のみ利用できる }
2747
+ {Win32, Motif, GTKいずれかのGUI版とWin32コンソール版でのみ利用
2748
+ できる }
2729
2749
2730
2750
fullcommand({name} ) *fullcommand()*
2731
2751
短縮コマンド名から完全なコマンド名を取得する。コマンドの短縮名
@@ -4580,6 +4600,23 @@ invert({expr}) *invert()*
4580
4600
< | method | としても使用できる: >
4581
4601
:let bits = bits->invert()
4582
4602
4603
+ isabsolutepath({directory} ) *isabsolutepath()*
4604
+ 結果は数値で、{path} が絶対パスであれば | TRUE | となる。
4605
+ Unix では、'/' から開始するパスが絶対パスと考えられる。
4606
+ MS-Windows では、ドライブのプリフィックスから開始し '\' か '/'
4607
+ が続くパスが絶対パスと考えられる。UNC パスは常に絶対パスであ
4608
+ る。
4609
+ 例: >
4610
+ echo isabsolutepath('/usr/share/') " 1
4611
+ echo isabsolutepath('./foobar') " 0
4612
+ echo isabsolutepath('C:\Windows') " 1
4613
+ echo isabsolutepath('foobar') " 0
4614
+ echo isabsolutepath('\\remote\file') " 1
4615
+ <
4616
+ | method | としても使用できる: >
4617
+ GetName()->isabsolutepath()
4618
+
4619
+
4583
4620
isdirectory({directory} ) *isdirectory()*
4584
4621
結果は数値で、{directory} という名前のディレクトリが存在すれば
4585
4622
| TRUE | となる。{directory} が存在しないか、存在したとしても
@@ -4749,6 +4786,8 @@ json_encode({expr}) *json_encode()*
4749
4786
NaNとInfinityは値として渡されることに注意すること。これはJSON
4750
4787
標準には存在しないが、いくつかの実装でそれが可能である。そうで
4751
4788
ない場合、エラーが発生する。
4789
+ 非対応の文字を含む文字列の場合、0xfffd を使って文字が置換され
4790
+ る。
4752
4791
4753
4792
| method | としても使用できる: >
4754
4793
GetObject()->json_encode()
@@ -5124,6 +5163,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
5124
5163
{dict} が省略されたかゼロのとき: モード{mode} におけるキーマップ
5125
5164
{name} のrhsを返す。結果の文字列内の特殊文字は、":map" コマンド
5126
5165
でリスト表示した時のように変換される。
5166
+ {dict} が TRUE の場合は辞書が返される。以下を参照。全マッピン
5167
+ グのリストを取得するのは | maplist() | を参照。
5127
5168
5128
5169
{name} というキーマップが存在しない場合、空文字列が返される。
5129
5170
{name} というキーマップが空の場合、"<Nop> " が返される。
@@ -5148,7 +5189,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
5148
5189
とする。
5149
5190
5150
5191
{dict} に| TRUE | が指定されたときはマッピングのすべての情報を含
5151
- んだ辞書が返る:
5192
+ んだ辞書が返る: *mapping-dict*
5152
5193
"lhs" マッピングの {lhs} (入力されたまま)
5153
5194
"lhsraw" マッピングの {lhs} (生のバイト値)
5154
5195
"lhsrawalt" マッピングの {lhs} (生のバイト値の代替形式、
@@ -5220,6 +5261,18 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
5220
5261
GetKey()->mapcheck('n')
5221
5262
5222
5263
5264
+ maplist([{abbr} ]) *maplist()*
5265
+ 全マッピングの | List | を返す。各リストの項目は | Dict |
5266
+ で、| maparg() | で返すものと同じになる。| mapping-dict | を参照。
5267
+ {abbr} が存在し | TRUE | であれば、マッピングの代わりに短縮入力
5268
+ を使う。
5269
+
5270
+ 'MultiMatch' が rhs に含まれる全マッピングを表示する例: >
5271
+ vim9script
5272
+ echo maplist()->filter(
5273
+ (_, m) => match(m.rhs, 'MultiMatch') >= 0)
5274
+
5275
+
5223
5276
mapnew({expr1} , {expr2} ) *mapnew()*
5224
5277
| map() | と同様だが、{expr1} の要素を置き換える代わりに、新しい
5225
5278
リストまたは辞書が作成されて返される。{expr1} は変更されない。
@@ -5465,6 +5518,8 @@ matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
5465
5518
ごとに | Funcref | が呼ばれる。
5466
5519
これは辞書の項目が引数となり、返すテキストがそ
5467
5520
の項目のファジーマッチの結果として受け付ける。
5521
+ limit {list} 内でマッチしたものの返す最大数。0で制限
5522
+ なし。
5468
5523
5469
5524
{str} はリテラルの文字列として扱われ、マッチ用の正規表現はサ
5470
5525
ポートされない。{str} の長さは最大256までサポートされる。
@@ -5475,6 +5530,9 @@ matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
5475
5530
マッチする文字列がないかエラーとなった場合、空のリストが返され
5476
5531
る。{str} の長さが256かそれ以上であるなら、空のリストを返す。
5477
5532
5533
+ {limit} が与えられた場合、matchfuzzy() はその数を上限として
5534
+ {list} 内でマッチするかを探し、その結果をソートして返す。
5535
+
5478
5536
文字列へのファジーマッチについての詳細は | fuzzy-matching | を参
5479
5537
照。
5480
5538
@@ -5898,8 +5956,10 @@ printf({fmt}, {expr1} ...) *printf()*
5898
5956
5899
5957
| method | としても使用でき、ベースは第2引数として渡される: >
5900
5958
Compute()->printf("result: %d")
5959
+ <
5960
+ `call ()` を使うことで、要素をリストとして渡せる。
5901
5961
5902
- < よく使われる変換指示子は次の通り:
5962
+ よく使われる変換指示子は次の通り:
5903
5963
%s 文字列
5904
5964
%6S 6表示幅で右揃えした文字列
5905
5965
%6s 6バイトで右揃えした文字列
@@ -6533,8 +6593,8 @@ remote_foreground({server}) *remote_foreground()*
6533
6593
| method | としても使用できる: >
6534
6594
ServerName()->remote_foreground()
6535
6595
6536
- < {VimのWin32, Athena, Motif, GTKのGUI版とWin32コンソール版での
6537
- み利用可能 }
6596
+ < {VimのWin32, Motif, GTKのGUI版とWin32コンソール版でのみ利用可
6597
+ 能 }
6538
6598
6539
6599
6540
6600
remote_peek({serverid} [, {retvar} ]) *remote_peek()*
@@ -9736,7 +9796,7 @@ footer GUIのフッターをサポート |gui-footer|
9736
9796
fork system()の代わりにfork()/exec()を用いている
9737
9797
gettext 翻訳メッセージをサポート | multi-lang |
9738
9798
gui GUIが有効である
9739
- gui_athena AthenaのGUIが有効である
9799
+ gui_athena AthenaのGUIが有効である (常に false)
9740
9800
gui_gnome Gnomeサポート(gui_gtkも定義される)
9741
9801
gui_gtk GTK+のGUIが有効である
9742
9802
gui_gtk2 GTK+ 2のGUIが有効である (gui_gtkも定義される)
0 commit comments