@@ -39,8 +39,7 @@ Vim script を書いて、それを多くの人に使ってもらうことがで
39
39
す。ファイルが `vim9script ` コマンドで始まることを確認してください。
40
40
41
41
42
- 名前
43
- -----
42
+ ☆名前
44
43
45
44
最初にプラグインの名前を決めなければなりません。プラグインが提供する機能が名前
46
45
から分かるようにしてください。また、他の人が作ったプラグインと名前がかぶらない
@@ -55,8 +54,7 @@ Vim script を書いて、それを多くの人に使ってもらうことがで
55
54
に示します。
56
55
57
56
58
- ボディ
59
- ------
57
+ ☆ボディ
60
58
61
59
まずはプラグインの本体部分を見てみましょう。行番号は実際の番号です: >
62
60
@@ -72,7 +70,7 @@ Vim script を書いて、それを多くの人に使ってもらうことがで
72
70
ください。
73
71
74
72
75
- 最初の行
73
+ ☆ 最初の行
76
74
>
77
75
1 vim9script noclear
78
76
@@ -84,8 +82,7 @@ Vim script を書いて、それを多くの人に使ってもらうことがで
84
82
"noclear" 引数を使用します。詳しくは | vim9-reload | をご覧ください。
85
83
86
84
87
- ヘッダー
88
- ------
85
+ ☆ヘッダー
89
86
90
87
新しい単語を追加していくと、プラグインには複数のバージョンが存在することになり
91
88
ます。ファイルを配布したとき、それを使った人は、誰がこの素晴らしいプラグインを
@@ -129,8 +126,7 @@ Vim script を書いて、それを多くの人に使ってもらうことがで
129
126
で囲むよりもはるかに高速です。
130
127
131
128
132
- マップ
133
- ------
129
+ ☆マップ
134
130
135
131
さて、プラグインをもっと魅力あるものに仕上げましょう。マップを追加して、カーソ
136
132
ルの下の単語に対する修正を追加できるようにします。単純にキーを選んでマップを設
@@ -167,8 +163,7 @@ Note: 上記のコマンドでは <unique> が使われています。これは
167
163
すると、マップのキーとして ",c" が使われます。"_a" や "\a" は使われません。
168
164
169
165
170
- ピース
171
- ------
166
+ ☆ピース
172
167
173
168
スクリプトが大きくなると、それを部品ごとに分けたくなります。それには関数やマッ
174
169
プを使います。しかし、そうすると関数やマップが他のスクリプトのものと衝突する可
@@ -258,8 +253,7 @@ Note: 28 行目では ":noremap" を使って、他のマップでトラブル
258
253
マップの中からスクリプトローカル関数を呼び出すことができます。
259
254
260
255
261
- ユーザー定義コマンド
262
- ------------------
256
+ ☆ユーザー定義コマンド
263
257
264
258
修正を追加するためのユーザー定義コマンドを追加します: >
265
259
@@ -276,8 +270,7 @@ Note: 28 行目では ":noremap" を使って、他のマップでトラブル
276
270
verbose command Correct
277
271
278
272
279
- スクリプト変数
280
- --------------
273
+ ☆スクリプト変数
281
274
282
275
先頭に "s:" が付いた変数はスクリプト変数です。これはスクリプトの中だけで使えま
283
276
す。スクリプトの外からは見えません。同じ名前の変数を複数のスクリプトで使ってし
@@ -312,8 +305,7 @@ Note: 28 行目では ":noremap" を使って、他のマップでトラブル
312
305
らず、関数が定義されたスクリプトのローカル変数を使用します。
313
306
314
307
315
- まとめ
316
- ------
308
+ ☆まとめ
317
309
318
310
例題の完成形は以下のようになります: >
319
311
@@ -362,8 +354,7 @@ Note: 28 行目では ":noremap" を使って、他のマップでトラブル
362
354
ても動作は同じです。
363
355
364
356
365
- ドキュメント *write-local-help*
366
- ------------
357
+ ☆ドキュメント *write-local-help*
367
358
368
359
プラグインのドキュメントを書くのは良いアイデアです。ユーザーが動作を変更できる
369
360
ような場合には特に重要です。| add-local-help | ではどのようにしてドキュメントが
@@ -402,8 +393,7 @@ Note: 28 行目では ":noremap" を使って、他のマップでトラブル
402
393
ルプの関連した部分を参照することができます。
403
394
404
395
405
- 要約 *plugin-special*
406
- -----
396
+ ☆要約 *plugin-special*
407
397
408
398
プラグインで使用する特有事項の要約を示します:
409
399
@@ -438,8 +428,7 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
438
428
ファに対してのみ機能するということが最も大切です。
439
429
440
430
441
- 無効化
442
- ------
431
+ ☆無効化
443
432
444
433
ファイルタイププラグインを書いて多くの人に使ってもらおうとするなら、プラグイン
445
434
を無効化できるようにしておく必要があります。プラグインの先頭に次のような記述を
@@ -475,8 +464,7 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
475
464
を設定しますが、しかしここではそれを無視しています。
476
465
477
466
478
- オプション
479
- ----------
467
+ ☆オプション
480
468
481
469
ファイルタイププラグインでは、カレントバッファの設定だけを変更するため、次のコ
482
470
マンドを使ってオプションを設定してください: >
@@ -496,8 +484,7 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
496
484
setlocal formatoptions& formatoptions+=ro
497
485
498
486
499
- マップ
500
- ------
487
+ ☆マッピング
501
488
502
489
カレントバッファの中だけで機能するマップを作るには次のコマンドを使います: >
503
490
@@ -541,25 +528,22 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
541
528
| g:no_mail_maps | "mail" ファイルタイプのマップを無効化
542
529
543
530
544
- ユーザー定義コマンド
545
- --------------------
531
+ ☆ユーザー定義コマンド
546
532
547
533
ファイルタイプ用のユーザー定義コマンドを追加して、それを一つのバッファの中だけ
548
534
で使えるようにするには、| :command | の引数に "-buffer" を指定します。例: >
549
535
550
536
command -buffer Make make %:r.s
551
537
552
538
553
- 変数
554
- -----
539
+ ☆変数
555
540
556
541
ファイルタイププラグインは対応するすべてのバッファに対して実行されます。スクリ
557
542
プトローカル変数はすべての実行で共有されます。バッファごとの変数を使いたい場合
558
543
はバッファローカル変数 | b:var | を使ってください。
559
544
560
545
561
- 関数
562
- -----
546
+ ☆関数
563
547
564
548
関数は一度だけ定義すれば十分です。しかし、ファイルタイププラグインは対応する
565
549
ファイルが開かれるたびに読み込まれます。次のようにすると関数が一度だけ定義され
@@ -575,8 +559,7 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
575
559
ドに "noclear" を使用することを忘れないでください。
576
560
577
561
578
- アンドゥ *undo_indent* *undo_ftplugin*
579
- --------
562
+ ☆アンドゥ *undo_indent* *undo_ftplugin*
580
563
581
564
ユーザーが ":setfiletype xyz" としたとき、それ以前のファイルタイプの効果は無効
582
565
になるべきです。b:undo_ftplugin 変数にコマンドを設定し、ファイルタイププラグイ
@@ -594,8 +577,7 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
594
577
これら両方の変数は旧来のスクリプトの文法で使われ、| Vim9 | の文法では使いません。
595
578
596
579
597
- ファイル名
598
- ----------
580
+ ☆ファイル名
599
581
600
582
ファイルタイププラグインのファイル名にはファイルタイプ名が含まれていなければな
601
583
りません | ftplugin-name | 。次の三つのうちのどれかにしてください:
@@ -607,8 +589,7 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
607
589
"stuff" はファイルタイプ名、"foo" と "bar" は任意の名前です。
608
590
609
591
610
- ファイルタイプの認識 *plugin-filetype*
611
- --------------------
592
+ ☆ファイルタイプの認識 *plugin-filetype*
612
593
613
594
ファイルタイプが Vim によって認識されない場合は、別ファイルにファイルタイプを
614
595
認識するためにコードを作成する必要があります。通常は、自動コマンドを使って、
@@ -624,8 +605,7 @@ exists(":Cmd") ユーザー定義コマンドが既にあるかどうかをチ
624
605
判定したりできます。| new-filetype | も参照。
625
606
626
607
627
- 要約 *ftplugin-special*
628
- -----
608
+ ☆要約 *ftplugin-special*
629
609
630
610
ファイルタイププラグインの特有事項を要約します:
631
611
0 commit comments