編集のやり直し |
作者: 上村 郁夫 |
【概要】
テキストにまちがえて文字入力したり、リターンキーで改行をいれてしまったときなど、ソロバンのようにすべて御破算にして、元に戻したいことがあります。VZ.DEFに最初から入っている[ESC][U](編集のやり直し)はそのためのマクロですが、カーソルはファイルの先頭に戻ってしまいますし、タブサイズ(オプションht)やテキストごとの画面幅(オプションwe)も初期化されてしまいます。
UNDO.DEFを使えば、御破算にする前のカーソル位置、タブサイズ、画面幅を引き継いで、編集のやり直しができます。
【使用法】
[ESC][U]を押してください。テキストが修正されている場合には「編集テキストを放棄しますか? (Y/N)」と問い合わせます。
鷲鼻は所持品ではない
┌───────────┐ ┌───────────┐
│ 編集中テキスト │ │ 編集中テキスト │
├───────────┤ ├───────────┤
│〈ホームズの所持品〉 │ │〈ホームズの所持品〉 │
│鷲鼻 │ =======> │拡大鏡 │
│拡大鏡 │ [ESC][U] │鳥打帽(挿絵家の創作)│
│鳥打帽(挿絵家の創作)│ │このように、…… │
└───────────┘ └───────────┘
↓ ↑
破棄される ディスクの元ファイルをオープン
|
※ VZ.DEFの「7 [ESC]U @U "U 編集のやり直し"」と差し替えてください。
|
(「Vzマクロコレクション」所収) |
|
download
======== undo.def by I.KAMIMURA ========
【より完璧な編集のやり直し】
* M
7 [ESC]U @U "Undo Edit"
?. #] ; ステータスラインを再表示
(mr==1)? { &a(37) (r<1)?. } ; 修正フラグが立っていたら問い合わせ
&s y=ky, (Dn)? n=ld, ? n=ln, ; 表示行番号/論理行番号
e=we, t=ht, ; 画面幅/タブカラム数を記憶
mr-, #L #P #m ; 同じファイル名でロードし直す
we=e, ht=t, ; 画面幅/タブカラム数を復帰
J(n) ky=y, &d #] ; 破棄前の行番号へジャンプ
*
======== End of undo.def ========
|
【作者コメント】
「Vzマクロ道場」や「Vzマクロ博物館(別館)」で紹介したESC_U.DEFのより完璧版です。
|