Vim では、元に戻す操作が多すぎました。これを元に戻す (やり直す) にはどうすればよいですか?
10 に答える
Ctrl+r
:undolist
また、元に戻す履歴を介して複数のパスを提供するも確認してください。これは、元に戻しすぎて誤って何かを入力してしまった場合に便利です。
:earlier
/を使用し:later
ます。やるべきことをすべてやり直すには
later 9999999d
(最大で 9999999 日前にファイルを最初に編集したと仮定)、または、現在の元に戻す状態と必要な元に戻す状態の違いを覚えている場合は、時間、分、秒にそれぞれNh
,Nm
またはを使用します。Ns
+ :later N<CR>
<=>Ng+
および:later Nf
ファイル書き込み用。
<Undo> or *undo* *<Undo>* *u*
u Undo [count] changes. {Vi: only one level}
*:u* *:un* *:undo*
:u[ndo] Undo one change. {Vi: only one level}
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw screen}
*:red* *:redo* *redo*
:red[o] Redo one change which was undone. {Vi: no redo}
*U*
U Undo all latest changes on one line. {Vi: while not
moved off of it}
コマンドモードでは、Uキーを使用して元に戻し、Ctrl+rを使用してやり直します。http://www.vim.org/htmldoc/undo.htmlをご覧ください。
Vim ドキュメント の「元に戻す」と「やり直し」の部分を参照してください。
:red[o] (取り消された 1 つの変更をやり直す) と {count} Ctrl+ r(元に戻された {count} 個の変更をやり直す) はどちらも問題ありません。
また、:earlier {count} (古いテキスト状態に {count} 回移動する) は、常に元に戻すとやり直しの代わりになる可能性があります。
CTRL+r
「r」は小文字です。
Visual Studio に VsVim を使用していますか?
Visual Studio で Vim コマンドのバインドを提供する VsVim を試しているときに、これに遭遇しました。
私は Vim 自体で知ってCtrlrいますが、この特定のバインドは VsVim では機能しません (少なくとも私の設定では?)。
ただし、機能するのはコマンド:red
です。これは上記よりも少し手間がかかりますが、本当に必要な場合は問題ありません。
実際には、:undolist
は使いにくく、Vim:earlier
と:later
変更のタイム トラッキングは粗粒度の修正にのみ使用できます。
そこで私は、これらの機能を組み合わせてブラウズ可能なアンドゥのビジュアル ツリーを提供する「Gundo」というプラグインに頼っています。</p>
明らかに、これは細かい修正が必要な場合、または戻りたいドキュメントの正確な状態が不明な場合にのみ使用するものです。参照:群道。Vim undo ツリーをスタイリッシュにグラフ化する