[解決済み] Vimのアンドゥツリーはどのように使われるのですか?
質問
この回答 は言う。
Vim のアンドゥ/リドゥシステムは無敵です。何かをタイプして、アンドゥして、また何かをタイプしても、Vim はスタックではなくアンドゥツリーを使用しているので、最初にタイプしたものを取り戻すことができます。他のほとんどすべてのプログラムでは、最初にタイプしたことの履歴はこのような状況では失われます。
これは初めて聞く話です。どうすればツリーに沿ってバックトラックできるのでしょうか?
どのように解決するのですか?
こちらもご覧ください。
:h undo-redo
を参照してください。
取り消しツリーをたどるには、2つの方法があります。 1つは "過去に戻る" です。
g+
と
g-
は、ツリーのすべてのノードを時系列あるいは逆時系列で走査します (取り消しブランチ間を任意にジャンプできるので、少し混乱するかもしれませんが、もし
g-
を長く続ければ、最終的には必ず行くべきところにたどり着けるでしょう)。
:earlier
そして
:later
のようなタイムディスクリプタを取る。
7m
または
1h
また、これは元に戻すブランチ間を任意にジャンプさせることができます。
もう一つの方法は、ツリー内の特定のノードにジャンプするために
:undo n
ここで
n
はアクションの番号です。 (すべてのアクション、つまりテキストの追加、削除、置換は、それらを行うときに連続した番号が付けられます)。 取り消しツリーの葉にあるアクションの番号は、次のようにして調べることができます。
:undolist
. これで簡単に枝の間を移動することができます。 次に
u
と
Ctrl-R
でその枝を上下に移動します。
Vim のヘルプに良い例がいくつかあります。 これがどのように機能するかを理解する最良の方法は、少し遊んでみることです。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Vimエディタを終了するにはどうすればよいですか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] Vim 直前の検索ハイライトをクリアする
-
[解決済み] Vimで大文字小文字を区別しない検索をする方法
-
[解決済み] Gitで1つのファイルの作業コピーの変更を元に戻す?
-
[解決済み] git commitの代わりに行った "git commit --amend "を元に戻すには?
-
[解決済み】vimの「sudoで書く」トリックはどうやるの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Vimでファイルを開くとE325アテンションエラーが発生する
-
[解決済み] vimにテキストをペーストする際の自動インデントをオフにする
-
[解決済み] Vimの大文字と小文字の切り替え
-
[解決済み] vimでカーソルをファイル末尾に移動させる
-
[解決済み] NERDTreeで拡張子によるファイルのフィルタリングを行うには?
-
[解決済み] VIMでバッファを垂直分割で開く
-
[解決済み] Vimで分割ウィンドウを失わずにバッファを削除する方法は?
-
[解決済み] Vimで最近のドキュメントを一覧表示する
-
[解決済み] VIM ctrlp.vim プラグイン:ファイルを再スキャンする方法は?
-
[解決済み] なぜvimが私のコードをラップするのを止められないのですか?