Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 31 additions & 9 deletions doc/eval.jax
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*eval.txt* For Vim バージョン 9.1. Last change: 2025 Sep 15
*eval.txt* For Vim バージョン 9.1. Last change: 2025 Sep 25


VIMリファレンスマニュアル by Bram Moolenaar
Expand Down Expand Up @@ -3054,8 +3054,11 @@ Note: |Vim9| script では、`:let` は使用されない。`:var` は変数宣
の環境変数を区別しない。

:let ${env-name} .= {expr1}
:let ${env-name} ..= {expr1}
環境変数{env-name}に{expr1}を付け加える。その環境変数
が存在しないときは "=" と同様に働く。
`.=` は Vim script バージョン 2 以降ではサポートされて
いない。|vimscript-version| を参照。

:let @{reg-name} = {expr1} *:let-register* *:let-@*
式{expr1}の結果をレジスタ{reg-name}に書きこむ。
Expand All @@ -3072,8 +3075,11 @@ Note: |Vim9| script では、`:let` は使用されない。`:var` は変数宣
ると、いたるところでマッチする。

:let @{reg-name} .= {expr1}
:let @{reg-name} ..= {expr1}
レジスタ{reg-name}に{expr1}を付け加える。このレジスタ
が空のときは、そこに{expr1}をセットする。
`.=` は Vim script バージョン 2 以降ではサポートされて
いない。|vimscript-version| を参照。

:let &{option-name} = {expr1} *:let-option* *:let-&*
オプション{option-name}に式{expr}の値をセットする。文
Expand All @@ -3090,27 +3096,37 @@ Note: |Vim9| script では、`:let` は使用されない。`:var` は変数宣
成され、エラーは発生しない。

:let &{option-name} .= {expr1}
:let &{option-name} ..= {expr1}
文字列のオプションの場合: その値に{expr}を付け加える。
|:set+=|とは違い、コンマを挿入しない。
`.=` は Vim script バージョン 2 以降ではサポートされて
いない。|vimscript-version| を参照。

:let &{option-name} += {expr1}
:let &{option-name} -= {expr1}
数値または切替のオプションの場合: {expr1}を足す・引く。

:let &l:{option-name} = {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} += {expr1}
:let &l:{option-name} -= {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} ..= {expr1}
上と同様だが、オプションのローカルな値だけをセットする
(ローカルな値があるならば)。|:setlocal|と同様に働く。
`.=` は Vim script バージョン 2 以降ではサポートされて
いない。|vimscript-version| を参照。

:let &g:{option-name} = {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} += {expr1}
:let &g:{option-name} -= {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} ..= {expr1}
上と同様だが、オプションのグローバルな値だけをセットす
る(グローバルな値があるならば)。|:setglobal|と同様に働
く。
`.=` は Vim script バージョン 2 以降ではサポートされて
いない。|vimscript-version| を参照。

*E1093* *E1537* *E1538* *E1535*
:let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688*
{expr1} は |List| または |Tuple| に評価される必要があ
Expand All @@ -3137,8 +3153,12 @@ Note: |Vim9| script では、`:let` は使用されない。`:var` は変数宣
:let [{name1}, {name2}, ...] *= {expr1}
:let [{name1}, {name2}, ...] /= {expr1}
:let [{name1}, {name2}, ...] %= {expr1}
上記と同様だが、各 |List| または |Tuple| 項目の値を追
加、加算、減算、乗算、除算、または剰余する。
:let [{name1}, {name2}, ...] .= {expr1}
:let [{name1}, {name2}, ...] ..= {expr1}
上記と同様だが、各 |List| または |Tuple| 項目の値を加
算、減算、乗算、除算、剰余、または追加する。
`.=` は Vim script バージョン 2 以降ではサポートされて
いない。|vimscript-version| を参照。

:let [{name}, ..., ; {lastname}] = {expr1} *E452*
上記の |:let-unpack| と同様だが、|List| または |Tuple|
Expand All @@ -3150,11 +3170,13 @@ Note: |Vim9| script では、`:let` は使用されない。`:var` は変数宣
:let [a, b; rest] = ["aval", "bval", 3, 4]
:let [a, b; rest] = ("aval", "bval", 3, 4)
<
:let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] += {expr1}
:let [{name}, ..., ; {lastname}] -= {expr1}
上と同様だが、リスト|List|の各項目に対して連結・足し算
・引き算を行う。
:let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] ..= {expr1}
上記と同様だが、各 |List| 項目の値を追加/減算/追加する。
`.=` は Vim script バージョン 2 以降ではサポートされて
いない。|vimscript-version| を参照。

*:let=<<* *:let-heredoc*
*E990* *E991* *E172* *E221* *E1145*
Expand Down Expand Up @@ -4008,7 +4030,7 @@ Note "v:exception"、"v:stacktrace" および "v:throwpoint" は最も直近に

:function! Caught()
: if v:exception != ""
: echo 'Caught "' . v:exception .. '" in ' .. v:throwpoint
: echo 'Caught "' .. v:exception .. '" in ' .. v:throwpoint
: else
: echo 'Nothing caught'
: endif
Expand Down
40 changes: 31 additions & 9 deletions en/eval.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.1. Last change: 2025 Sep 15
*eval.txt* For Vim version 9.1. Last change: 2025 Sep 25


VIM REFERENCE MANUAL by Bram Moolenaar
Expand Down Expand Up @@ -3138,9 +3138,12 @@ declarations and assignments do not use a command. |vim9-declaration|
set and an environment variable that is empty.

:let ${env-name} .= {expr1}
:let ${env-name} ..= {expr1}
Append {expr1} to the environment variable {env-name}.
If the environment variable didn't exist yet this
works like "=".
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.

:let @{reg-name} = {expr1} *:let-register* *:let-@*
Write the result of the expression {expr1} in register
Expand All @@ -3157,8 +3160,11 @@ declarations and assignments do not use a command. |vim9-declaration|
that would match everywhere.

:let @{reg-name} .= {expr1}
:let @{reg-name} ..= {expr1}
Append {expr1} to register {reg-name}. If the
register was empty it's like setting it to {expr1}.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.

:let &{option-name} = {expr1} *:let-option* *:let-&*
Set option {option-name} to the result of the
Expand All @@ -3176,27 +3182,37 @@ declarations and assignments do not use a command. |vim9-declaration|
a terminal key code, there is no error.

:let &{option-name} .= {expr1}
:let &{option-name} ..= {expr1}
For a string option: Append {expr1} to the value.
Does not insert a comma like |:set+=|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.

:let &{option-name} += {expr1}
:let &{option-name} -= {expr1}
For a number or boolean option: Add or subtract
{expr1}.

:let &l:{option-name} = {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} += {expr1}
:let &l:{option-name} -= {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} ..= {expr1}
Like above, but only set the local value of an option
(if there is one). Works like |:setlocal|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.

:let &g:{option-name} = {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} += {expr1}
:let &g:{option-name} -= {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} ..= {expr1}
Like above, but only set the global value of an option
(if there is one). Works like |:setglobal|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.

*E1093* *E1537* *E1538* *E1535*
:let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688*
{expr1} must evaluate to a |List| or a |Tuple|. The
Expand All @@ -3217,15 +3233,18 @@ declarations and assignments do not use a command. |vim9-declaration|
:echo x
< The result is [0, 2].

:let [{name1}, {name2}, ...] .= {expr1}
:let [{name1}, {name2}, ...] += {expr1}
:let [{name1}, {name2}, ...] -= {expr1}
:let [{name1}, {name2}, ...] *= {expr1}
:let [{name1}, {name2}, ...] /= {expr1}
:let [{name1}, {name2}, ...] %= {expr1}
Like above, but append, add, subtract, multiply,
divide, or modulo the value for each |List| or |Tuple|
:let [{name1}, {name2}, ...] .= {expr1}
:let [{name1}, {name2}, ...] ..= {expr1}
Like above, but add, subtract, multiply, divide,
modulo, or append the value for each |List| or |Tuple|
item.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.

:let [{name}, ..., ; {lastname}] = {expr1} *E452*
Like |:let-unpack| above, but the |List| or |Tuple|
Expand All @@ -3237,11 +3256,14 @@ declarations and assignments do not use a command. |vim9-declaration|
:let [a, b; rest] = ["aval", "bval", 3, 4]
:let [a, b; rest] = ("aval", "bval", 3, 4)
<
:let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] += {expr1}
:let [{name}, ..., ; {lastname}] -= {expr1}
Like above, but append/add/subtract the value for each
:let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] ..= {expr1}
Like above, but add/subtract/append the value for each
|List| item.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.

*:let=<<* *:let-heredoc*
*E990* *E991* *E172* *E221* *E1145*
Expand Down Expand Up @@ -4145,7 +4167,7 @@ exception most recently caught as long it is not finished.

:function! Caught()
: if v:exception != ""
: echo 'Caught "' . v:exception .. '" in ' .. v:throwpoint
: echo 'Caught "' .. v:exception .. '" in ' .. v:throwpoint
: else
: echo 'Nothing caught'
: endif
Expand Down