Skip to content

Commit

Permalink
Update undo.{txt,jax}
Browse files Browse the repository at this point in the history
  • Loading branch information
h-east committed Oct 13, 2023
1 parent 9cc5678 commit 8d673e7
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 9 deletions.
28 changes: 24 additions & 4 deletions doc/undo.jax
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,20 @@ CTRL-G u を使います。挿入コマンドを部分ごと (例えば文単位
にしたい場合に便利です。 |i_CTRL-G_u|

'undolevels' の値を設定したときも undo のブロックが閉じられます。新しい値と古
い値が同じでもそうなります。|Vim9| script では: >
い値が同じでもそうなります。`g:undolevels` を使用して、'undolevels' のグローバ
ル値のみを明示的に読み書きします。|Vim9| script では: >
&g:undolevels = &g:undolevels
&undolevels = &undolevels
旧来のスクリプトでは: >
let &g:undolevels = &g:undolevels
Note 同様に見える割り当て `let &undolevels=&undolevels` は、ローカルオプション
が別の値に設定されている場合、グローバルオプションの 'undolevels' 値を保持しな
いことに注意してください。例えば: >
" 'undolevels' に異なるグローバル値とローカル値を使用して開始する。
let &g:undolevels = 1000
let &l:undolevels = 2000
" この代入により、グローバルオプションが 2000 に変更される。
let &undolevels = &undolevels
==============================================================================
Expand Down Expand Up @@ -370,12 +381,21 @@ Vi 互換方式の動作になります。マイナスの値に設定すると u
'undolevels' を -1 に設定しても、undo 情報はすぐにはクリアされません。次の変更
が加えられたときにクリアされます。強制的に undo 情報をクリアしたいときは次のコ
マンドを使ってください: >
:let old_undolevels = &undolevels
:set undolevels=-1
:let old_undolevels = &l:undolevels
:setlocal undolevels=-1
:exe "normal a \<BS>\<Esc>"
:let &undolevels = old_undolevels
:let &l:undolevels = old_undolevels
:unlet old_undolevels
Note `&l:undolevels` を使用して 'undolevels' のローカル値を明示的に読み取り、
`:setlocal` を使用してローカルオプションのみを変更します (対応するグローバルオ
プション値より優先されます)。`&undolevels` を使用してオプション値を保存するこ
とは予測できません。ローカル値 (設定されている場合) またはグローバル値 (ローカ
ル値が設定されていない場合) のいずれかを読み取ります。また、ローカル値が設定さ
れている場合、`:set undolevels` でオプションを変更すると、グローバル値とローカ
ル値の両方が変更され、両方の値を保存および復元するための追加の作業が必要になり
ます。

バッファのマーク ('a から 'z) はテキストと同様に記録、復元されます。

すべての変更を undo したとき、バッファは変更ありとはみなされません。その状態か
Expand Down
28 changes: 23 additions & 5 deletions en/undo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,19 @@ use CTRL-G u. This is useful if you want an insert command to be undoable in
parts. E.g., for each sentence. |i_CTRL-G_u|

Setting the value of 'undolevels' also closes the undo block. Even when the
new value is equal to the old value. In |Vim9| script: >
&undolevels = &undolevels
new value is equal to the old value. Use `g:undolevels` to explicitly read
and write only the global value of 'undolevels'. In |Vim9| script: >
&g:undolevels = &g:undolevels
In legacy script: >
let &g:undolevels = &g:undolevels
Note that the similar-looking assignment `let &undolevels=&undolevels` does not
preserve the global option value of 'undolevels' in the event that the local
option has been set to a different value. For example: >
" Start with different global and local values for 'undolevels'.
let &g:undolevels = 1000
let &l:undolevels = 2000
" This assignment changes the global option to 2000:
let &undolevels = &undolevels
==============================================================================
Expand Down Expand Up @@ -366,12 +376,20 @@ undo is possible. Use this if you are running out of memory.
When you set 'undolevels' to -1 the undo information is not immediately
cleared, this happens at the next change. To force clearing the undo
information you can use these commands: >
:let old_undolevels = &undolevels
:set undolevels=-1
:let old_undolevels = &l:undolevels
:setlocal undolevels=-1
:exe "normal a \<BS>\<Esc>"
:let &undolevels = old_undolevels
:let &l:undolevels = old_undolevels
:unlet old_undolevels
Note use of `&l:undolevels` to explicitly read the local value of 'undolevels'
and the use of `:setlocal` to change only the local option (which takes
precedence over the corresponding global option value). Saving the option value
via the use of `&undolevels` is unpredictable; it reads either the local value
(if one has been set) or the global value (otherwise). Also, if a local value
has been set, changing the option via `:set undolevels` will change both the
global and local values, requiring extra work to save and restore both values.

Marks for the buffer ('a to 'z) are also saved and restored, together with the
text.

Expand Down

0 comments on commit 8d673e7

Please sign in to comment.