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