@@ -312,21 +312,20 @@ Vim9 script レベルでは、プリフィックス "s:" の使用はサポー
312
312
313
313
デフォルトでは Vim9 script の再読み込みにより関数と変数がクリアされる ~
314
314
*vim9-reload* *E1149* *E1150*
315
- 旧来の Vim script を2回目に読み込んだときは、何も削除されることはなく、コマン
316
- ドはすでにある変数や関数を置き換えて新しいものを作り、置き換えられなかったもの
317
- はそのまま残しておきます。
315
+ 旧来の Vim script を 2 回目に読み込むと、何も削除されず、コマンドによって既存
316
+ の変数と関数が置き換えられ新しいものが作成され、削除されたものはそのまま残る。
318
317
319
- Vim9 script を2回目に読み込んだときは、存在するすべてのスクリプトローカルの関
320
- 数や変数は削除され、クリーンな状態から開始します。これはプラグインを開発中に、
321
- 新しいバージョンを試す際には便利です。いずれかの名前を変えたとしても、古い名前
322
- が残る心配はありません 。
318
+ Vim9 script を 2 回目に読み込むと、既存のスクリプトローカル関数と変数がすべて
319
+ 削除されるため、クリーンの状態から開始できる。これはプラグインを開発中に新しい
320
+ バージョンを試したい場合に便利である。何かの名前を変更した場合、古い名前が残っ
321
+ ていることを心配する必要はない 。
323
322
324
- 消さずに残すには、以下を使用します : >
323
+ アイテムを保持したい場合は、以下を使用する : >
325
324
vim9script noclear
326
325
327
- これを使用することで、再読み込みの際に任意の場所で `finish ` コマンドにより脱出
328
- することができます 。例えば、バッファローカルオプションが関数に設定され、その関
329
- 数を2回以上定義する必要がないとき : >
326
+ これは、再度読み込まれたときに、どこかの時点で `finish ` コマンドを使用して抜け
327
+ 出すスクリプトで使用することを想定してる 。例えば、バッファローカルなオプション
328
+ が関数に設定されている場合、関数を複数回定義する必要はない : >
330
329
vim9script noclear
331
330
setlocal completefunc=SomeFunc
332
331
if exists('*SomeFunc')
@@ -339,11 +338,10 @@ Vim9 script を2回目に読み込んだときは、存在するすべてのス
339
338
:var、:final や :const で宣言する変数 ~
340
339
*vim9-declaration* *:var* *E1079*
341
340
*E1017* *E1020* *E1054* *E1087* *E1124*
342
- ローカル変数は `:var ` で定義する必要があります。ローカル定数は `:final` または
343
- `:const ` で定義する必要があります。このセクションでは、両者を "変数" と呼ぶこ
344
- とにします。
341
+ ローカル変数は `:var ` で宣言する必要がある。ローカル定数は `:final` または
342
+ `:const ` で宣言する必要がある。このセクションでは、両方を "変数" と呼ぶ。
345
343
346
- 変数はスクリプトローカルや 、関数、コードブロックのスコープで定義できます : >
344
+ 変数はスクリプト 、関数、またはコードブロックに対しローカルにすることができる : >
347
345
vim9script
348
346
var script_var = 123
349
347
def SomeFunc()
@@ -352,16 +350,16 @@ Vim9 script を2回目に読み込んだときは、存在するすべてのス
352
350
var block_var = func_var
353
351
...
354
352
355
- 変数は、定義されたコードブロックか、ネストされた配下のブロックで参照することが
356
- できます。コードブロックが終わったあとの処理から参照することはできません : >
353
+ 変数は、それが定義されているブロックとネストされたブロック内でのみ参照できる。
354
+ ブロックが終了すると変数にはアクセスできなくなる : >
357
355
if cond
358
356
var inner = 5
359
357
else
360
358
var inner = 0
361
359
endif
362
360
echo inner # エラー!
363
361
364
- 参照したい場合には、ブロックよりも前で宣言しなくてはなりません : >
362
+ 宣言は早めに行う必要がある : >
365
363
var inner: number
366
364
if cond
367
365
inner = 5
@@ -370,36 +368,36 @@ Vim9 script を2回目に読み込んだときは、存在するすべてのス
370
368
endif
371
369
echo inner
372
370
373
- こちらの方が単純な値については簡潔で早くはありますが。 : >
371
+ 単純な値の場合は、これは短くて高速である : >
374
372
var inner = 0
375
373
if cond
376
374
inner = 5
377
375
endif
378
376
echo inner
379
377
< *E1025* *E1128*
380
- 意図的に続く処理から変数を隠したいとき、ブロックを使うことができます : >
378
+ 後続のコードから意図的に変数を隠すには、ブロックを使用できる : >
381
379
{
382
380
var temp = 'temp'
383
381
...
384
382
}
385
383
echo temp # エラー!
386
384
387
- これは特にユーザーコマンドで便利です : >
385
+ これはユーザーコマンドで特に役立つ : >
388
386
command -range Rename {
389
387
var save = @a
390
388
@a = 'some expression'
391
389
echo 'do something with ' .. @a
392
390
@a = save
393
391
}
394
392
395
- また、自動コマンドでも便利です : >
393
+ 自動コマンドでの場合 : >
396
394
au BufWritePre *.go {
397
395
var save = winsaveview()
398
396
silent! exe ':%! some formatting command'
399
397
winrestview(save)
400
398
}
401
399
402
- 多分 ` :def ` で定義される関数を使う方が良く動くでしょうが 。
400
+ ただし、 :def 関数を使用する方がおそらくうまく動作する 。
403
401
404
402
*E1022* *E1103* *E1130* *E1131* *E1133*
405
403
*E1134*
0 commit comments