スポンサーリンク

優柔不断なプログラマは、プログラムを書いたり、消したり、元に戻したりというのが多いのではないでしょうか。

究極のエディタ vimのバージョン 7 から実装されたundo branch(アンドゥブランチ)という
undo機能の強化されたものがあります。

通常のundoだと

1->2->3

u(undo)で1つ戻って

1->2

別の更新をして
1->2
    ->4

それも気に入らなくて、u(undo)で2つ戻ると
1->2
    ->4

4から2に戻って、2から1の状態に戻ります。
1
つまり3の状態には戻れません。
1<-2(<-3)
    <-4

undoをした結果、枝分かれしてしまった変更は、通常のudno機能では
戻ることができません。

そのために追加された機能がundo branchです。

1行ごとに挿入モードからノーマルモードに戻って、下記の入力をします。
i1C-[o2C-[o3C-[
1
2
3

u(undo)すると3が消えます。
1
2

ここで、4(o4C-[)を入力します。
1
2
4

この時点で :undolist コマンドを使うと変更を表示することができます。
現在4つまでの変更をしてきています。
number changes  time
     3       3  01:18:49
     4       3  4 seconds ago

テキストの変更の状態を行き来するには書きコマンドを使います。
g- 古いテキストの状態戻る
g+ 新しいテキストの状態に戻る

g- すると 4 の変更が消え、3の状態に戻れます。
1
2
3
さらにg-すると3の状態から2の状態に戻ります。
1
2

g+すれば、3の状態へ、さらにg+すれば、4の状態に戻ることができます。
1->2->3
    ->4

:undolist で表示されている number がテキストの状態番号で
:undo N(Nは数値)でそのテキストの状態に戻ることができます。
:undo 1
とかすれば、
1
の状態に戻ります。
:undo 4
にすれば
1
2
4
の状態に移行できます。

:help undo-branches

に詳しいことが書いてあります。

:earlier {N}s {N}秒前の状態に戻ります
:earlier {N}m {N}分前の状態に戻ります
:earlier {N}h {N}時間前の状態に戻ります
:later {N}s {N}秒後の状態に戻ります
:later {N}m {N}分後の状態に戻ります
:later {N}h {N}時間後の状態に戻ります

uやC-rではたどれない過去の変更にさかのぼることができるので、より便利なアンドゥ機能を堪能することができます。

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー