Skip to content

Commit b43cfd8

Browse files
authored
Merge pull request #1101 from tsuyoshicho/update/20220602/usr41andother
Update usr_{41,45,51,46->52,90,toc}.{txt,jax}
2 parents e64d0cf + 6d782d3 commit b43cfd8

File tree

14 files changed

+1963
-1831
lines changed

14 files changed

+1963
-1831
lines changed

doc/usr_41.jax

Lines changed: 12 additions & 872 deletions
Large diffs are not rendered by default.

doc/usr_45.jax

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
*usr_45.txt* For Vim バージョン 8.2. Last change: 2020 Jun 11
1+
*usr_45.txt* For Vim バージョン 8.2. Last change: 2022 May 13
22

33
VIM USER MANUAL - by Bram Moolenaar
44

55
言語を選択する (ロケール)
66

77

8-
Vim のメッセージは言語を変更できます。本章では、言語を変更する方法を説明しま
8+
Vim のメッセージは言語を変更できます。この章では、言語を変更する方法を説明しま
99
す。様々な言語で書かれたファイルを取り扱う方法も説明します。
1010

1111
|45.1| メッセージの言語
@@ -14,7 +14,7 @@ Vim のメッセージは言語を変更できます。本章では、言語を
1414
|45.4| 異なるエンコーディングのファイルを編集する
1515
|45.5| 言語のテキストを入力する
1616

17-
次章: |usr_46.txt| Vim9 script でプラグインを作る
17+
次章: |usr_50.txt| 高度な Vim script の書き方
1818
前章: |usr_44.txt| 構文ファイルを作成する
1919
目次: |usr_toc.txt|
2020

@@ -402,6 +402,6 @@ Method, IM) を使います。インプットメソッドを使うには、目
402402

403403
==============================================================================
404404

405-
次章: |usr_46.txt| Vim9 script でプラグインを作る
405+
次章: |usr_50.txt| 高度な Vim script の書き方
406406

407407
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

doc/usr_50.jax

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
*usr_50.txt* For Vim バージョン 8.2. Last change: 2022 May 13
2+
3+
VIM USER MANUAL - by Bram Moolenaar
4+
5+
高度な Vim script の書き方
6+
7+
8+
TODO - この章はいずれ書きます
9+
10+
|50.1| 執筆活動
11+
12+
次章: |usr_51.txt| プラグインを作る
13+
前章: |usr_45.txt| 言語を選択する (ロケール)
14+
目次: |usr_toc.txt|
15+
16+
==============================================================================
17+
*50.1* 執筆活動
18+
19+
TODO
20+
21+
==============================================================================
22+
23+
Next chapter: |usr_51.txt| プラグインを作る
24+
25+
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

doc/usr_51.jax

Lines changed: 888 additions & 0 deletions
Large diffs are not rendered by default.

doc/usr_46.jax renamed to doc/usr_52.jax

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*usr_46.txt* For Vim バージョン 8.2. Last change: 2020 Jun 14
1+
*usr_52.txt* For Vim バージョン 8.2. Last change: 2022 May 21
22

33
VIM USER MANUAL - by Bram Moolenaar
44

@@ -9,17 +9,17 @@ Vim9 script 言語はプラグイン、とりわけ複数のファイルから
99
に使えます。この章ではプラグインをモジュールとして分割し、アイテムをインポート
1010
やエクスポートして局所性を維持する方法を解説します。
1111

12-
|46.1| 導入
13-
|46.2| 変数の宣言
14-
|46.3| 関数と型
15-
|46.?| 旧来のスクリプトから Vim9 script を使う
12+
|52.1| 導入
13+
|52.2| 変数の宣言
14+
|52.3| 関数と型
15+
|52.4| 旧来のスクリプトから Vim9 script を使う
1616

1717
次章: |usr_90.txt| Vim のインストール
18-
前章: |usr_45.txt| 言語を選択する (ロケール)
18+
前章: |usr_51.txt| プラグインを作る
1919
目次: |usr_toc.txt|
2020

2121
==============================================================================
22-
*46.1* 導入 *vim9-script-intro*
22+
*52.1* 導入 *vim9-script-intro*
2323

2424
Vim9 script は大きな Vim script を容易に書けるようにデザインされています。他の
2525
スクリプト言語、特に TypeScript のようになっています。また、処理内の関数はコン
@@ -69,7 +69,7 @@ Vim9 script は大きな Vim script を容易に書けるようにデザイン
6969
とです。これについては次の節で説明します。
7070

7171
==============================================================================
72-
*46.2* 変数の宣言 *vim9-declarations*
72+
*52.2* 変数の宣言 *vim9-declarations*
7373

7474
Vim9 script の変数は一度だけ `:let` もしくは `:const` コマンドによって宣言され
7575
ます。値は `:let` 無しで代入され変数を `:unlet` することはできません。
@@ -106,37 +106,38 @@ Vim9 script の変数は一度だけ `:let` もしくは `:const` コマンド
106106
let word = condition ? 'yes' : 'no'
107107
108108
==============================================================================
109-
*46.3* 関数と型
110-
111-
旧来の Vim script は型のチェックがありましたが、ランタイムつまりコード実行時に
112-
実施していました。そしてそれは寛容で、ときどきエラー報告ではなく処理によって不
113-
明な値となっていました。結果として関数が定義できかつ正常であると思えても、問題
114-
が発覚するのは常に呼び出した後でした: >
115-
let s:collected = ''
116-
func ExtendAndReturn(add)
117-
let s:collected += a:add
118-
return s:collected
109+
*52.3* 関数と型
110+
111+
旧来の Vim script はコード実行時にのみ型のチェックがありました。そしてそれは寛
112+
容で、ときどきエラー報告ではなく処理によって不明な値となっていました。結果とし
113+
て関数が定義できかつ正常であると思えても、問題が通知されるのは常に関数の呼び出
114+
し後でした: >
115+
func Concatenate(base, add)
116+
return a:base + a:add
119117
endfunc
120118
121119
どの箇所に問題があると思いますか? 次を試してください: >
122-
echo ExtendAndReturn('text')
123-
すると0が見えるでしょう。なぜか? それは旧来の Vim script は "+=" が引数を数値
124-
に変換し、そして数値のない任意の文字列では結果が0となるのです!
125-
126-
`:def` だと型チェックが関数のコンパイル時に行われます。それによってあなたは引
127-
数の型と戻り値の型の指定が必要になります。また引数は "a:" のプリフィックス無し
128-
で使われることに注意してください: >
129-
let s:collected = ''
130-
def ExtendAndReturn(add: string): string
131-
s:collected += add
132-
return s:collected
120+
echo Concatenate('base', 'text')
121+
すると0が見えるでしょう。なぜか? それは旧来の Vim script は "+" が引数を数値
122+
に変換し、そして数値のない任意の文字列では結果が0となるのです! これはあなたが
123+
期待したものではありません。
124+
125+
`:def` だと型チェックが関数のコンパイル時に行われます。あなたは引数の型と戻り
126+
値の型の指定が必要になります。また引数の名前は "a:" のプリフィックス無しで使わ
127+
れることに注意してください: >
128+
def Concatenate(base: string, add: string): string
129+
return base + add
133130
enddef
134-
defcompile
131+
defcompile Concatenate
135132
136133
ここでは直ちにコンパイルを実行するために `:defcompile` を使っており、それがな
137-
いなら関数が呼ばれるときにコンパイルされるでしょう。Vim はあなたが間違っている
138-
と警告します: >
139-
E1013: type mismatch, expected number but got string
134+
いなら関数が最初に呼ばれるときにコンパイルされるでしょう。Vim はあなたが間違っ
135+
ていると警告します: >
136+
E1051: Wrong argument type for +
137+
138+
補足: ここでは旧来のスクリプトでの話です。Vim9 script を使う場合はスクリプトの
139+
最後に `:defcompile` を置くことで、定義されるすべての関数の定義によるエラーが
140+
チェックされます。
140141

141142
Vim9 script は厳密で、"+" 演算子は数値か浮動小数点数でしか使えません。文字の結
142143
合であれば ".." を使わなくてはなりません。これが間違いを防ぎ、上にあるような驚
@@ -159,7 +160,7 @@ Vim9 script は厳密で、"+" 演算子は数値か浮動小数点数でしか
159160
enddef
160161
161162
==============================================================================
162-
*46.?* 旧来のスクリプトから Vim9 script を使う *source-vim9-script*
163+
*52.4* 旧来のスクリプトから Vim9 script を使う *source-vim9-script*
163164

164165
いくつかの場合として持っている旧来の Vim script にて Vim9 script のアイテムを
165166
使いたいことがあります。たとえばあなたの .vimrc がプラグインの初期化をする場合

doc/usr_90.jax

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*usr_90.txt* For Vim バージョン 8.2. Last change: 2020 Jun 11
1+
*usr_90.txt* For Vim バージョン 8.2. Last change: 2022 May 13
22

33
VIM USER MANUAL - by Bram Moolenaar
44

@@ -15,7 +15,7 @@ Vim を使うにはまずインストールする必要があります。シス
1515
|90.4| よくある問題
1616
|90.5| アンインストール
1717

18-
前章: |usr_46.txt| Vim9 script でプラグインを作る
18+
前章: |usr_52.txt| Vim9 script でプラグインを作る
1919
目次: |usr_toc.txt|
2020

2121
==============================================================================

doc/usr_toc.jax

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*usr_toc.txt* For Vim バージョン 8.2. Last change: 2020 Jun 15
1+
*usr_toc.txt* For Vim バージョン 8.2. Last change: 2022 May 13
22

33
VIM USER MANUAL - by Bram Moolenaar
44

@@ -43,17 +43,21 @@
4343
|usr_43.txt| ファイルタイプを使う
4444
|usr_44.txt| 構文ファイルを作成する
4545
|usr_45.txt| 言語を選択する (ロケール)
46-
|usr_46.txt| Vim9 script でプラグインを作る
46+
47+
Vim script を書く ~
48+
|usr_50.txt| 高度な Vim script の書き方
49+
|usr_51.txt| プラグインを作る
50+
|usr_52.txt| Vim9 script でプラグインを作る
4751

4852
インストール ~
4953
|usr_90.txt| Vimのインストール
5054

5155

52-
リファレンスマニュアル
56+
リファレンスマニュアル ~
5357
|reference_toc| 全コマンドの詳細情報
5458

55-
シングルファイルで印刷に適した HTML 形式と PDF 形式のユーザーマニュアルが用意
56-
されています:
59+
シングルファイルで印刷に適した HTML 形式と PDF 形式のユーザーマニュアル(古い版
60+
のもの)が用意されています:
5761
http://vimdoc.sf.net
5862

5963
==============================================================================
@@ -303,12 +307,6 @@ Vim の動作を好きなように変更できます。
303307
|41.8| リストと辞書
304308
|41.9| 例外
305309
|41.10| 注意事項
306-
|41.11| プラグインを書く
307-
|41.12| ファイルタイププラグインを書く
308-
|41.13| コンパイラプラグインを書く
309-
|41.14| プラグインを書く (高速ロード版)
310-
|41.15| ライブラリスクリプトを書く
311-
|41.16| Vim script を配布する
312310

313311
|usr_42.txt| 新しいメニューの追加
314312
|42.1| はじめに
@@ -341,11 +339,24 @@ Vim の動作を好きなように変更できます。
341339
|45.4| 異なるエンコーディングのファイルを編集する
342340
|45.5| 言語のテキストを入力する
343341

344-
|usr_46.txt| Vim9 script でプラグインを作る
345-
|46.1| 導入
346-
|46.2| 変数の宣言
347-
|46.3| 関数と型
348-
|46.?| 旧来のスクリプトから Vim9 script を使う
342+
==============================================================================
343+
Vim script を書く ~
344+
345+
|usr_50.txt| TODO
346+
347+
|usr_51.txt| プラグインを作る
348+
|51.1| 一般的なプラグインを書く
349+
|51.2| ファイルタイププラグインを書く
350+
|51.3| コンパイラプラグインを書く
351+
|51.4| プラグインを書く (高速ロード版)
352+
|51.5| ライブラリスクリプトを書く
353+
|51.6| Vim script を配布する
354+
355+
|usr_52.txt| Vim9 script でプラグインを作る
356+
|52.1| 導入
357+
|52.2| 変数の宣言
358+
|52.3| 関数と型
359+
|52.?| 旧来のスクリプトから Vim9 script を使う
349360

350361
==============================================================================
351362
インストール ~

0 commit comments

Comments
 (0)