Vimでは、元に戻す操作が多すぎました。これを元に戻す(つまり、やり直す)にはどうすればよいですか?
Vimでは、元に戻す操作が多すぎました。これを元に戻す(つまり、やり直す)にはどうすればよいですか?
回答:
Ctrl+r
Cmd + r
混乱を招くことを意味しましたか?それは確かに奇妙なことをします。しかし、Ctrl + r
私だけ(マック+ tmuxは+ VIM)の罰金を働いた
また:undolist
、元に戻す履歴に複数のパスが表示されるも確認してください。これは、元に戻しすぎた後に誤って何かを入力した場合に役立ちます。
:undolist
とタイプ:undo 178
(言って)ステップ178に巻き戻す
:undolist
かを正確に示す方法はありますか?
:earlier
/を使用し:later
ます。必要なすべてをやり直すには
later 9999999d
(最初に最大9999999日前にファイルを編集したと想定)、または、現在の取り消し状態と必要な取り消し状態の違いを覚えている場合はNh
、Nm
またはNs
時間、分、秒をそれぞれ使用します。+ :later N<CR>
<=> Ng+
および:later Nf
ファイル書き込み用。
:later
vi
(vimではなく、Googleで「vi」を検索しましたが、すべての結果は「vim」でした)で私のために働いた、ありがとう
vi
コマンドを持っているほとんどすべての場所で、それはvim実行可能ファイルへのシンボリックリンクまたはそのコピーです。どこでも完全にではありません。
vim: command not found
。次に行うのはalias vim=vi
、自動的に入力するためですが、それでも単純な古いviです。また、viがvimのエイリアスであれば、redo(ctrl + r)は適切に機能します。
<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」は小文字です。
^r
と^R
、とVimはそれに従います。
^X
(X
任意の文字を使用できます)。
VsVim for Visual Studioを使用していますか?
Visual StudioでVimコマンドのバインディングを提供するVsVimを実験しているときに、これに遭遇しました。
私は知っています CtrlrはVim自体ますが、この特定のバインディングはVsVimでは機能しません(少なくとも私のセットアップでは機能しませんか?)。
何んしかし作業を、コマンドです:red
。これは上記よりも少し面倒ですが、本当に必要な場合は問題ありません。
実際には、:undolist
は使いにくく、変更のVim :earlier
と:later
時間の追跡は、コースの細かい修正にのみ使用できます。
そこで、これらの機能を組み合わせて、「Gundo」と呼ばれるブラウズ可能な取り消しのビジュアルツリーを提供するプラグインを使用します。
明らかに、これは細かい修正が必要な場合、または戻りたいドキュメントの正確な状態が不明な場合にのみ使用するものです。参照:Gundo。Vimのundoツリーをスタイリッシュにグラフ化する