Как сделать повтор (т. е. "отменить отмену") в Vim?

в Vim я сделал слишком много отмены. Как мне это отменить (то есть повторить)?

10 ответов


Ctrl+r


также проверить :undolist, который предлагает несколько путей через историю отмены. Это полезно, если вы случайно набираете что-то после отмены слишком много.


странно, никто не упомянул :earlier/:later. Переделать все, что вам нужно сделать

later 9999999d

(предполагая, что вы впервые отредактировали файл не более 9999999 дней назад), или, если вы помните разницу между текущим состоянием отмены и необходимым, используйте Nh, Nm или Ns для часов, минут и секунд соответственно. + :later N<CR> Ng+ и :later Nf для записи файлов.


документация Vim

<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] (повторить одно изменение, которое было отменено) и {count} Ctrl+r (повторить изменения {count}, которые были отменены), оба в порядке.

и :ранее {count} (перейдите в более старое состояние текста {count} раз.) всегда может быть заменой отмены и повтора.


Сначала Нажмите ESC клавишу для выхода из режима редактирования.

затем,

для отмены используйте u key столько раз, сколько вы хотите отменить.

для повтора используйте CTRL +r ключ


CTRL+r

" r " -нижний регистр.


использование VsVim для Visual Studio?

я наткнулся на это при экспериментировании с VsVim, который предоставляет привязки для vim-команд в Visual Studio.

Я знаю, о ctrlr в самом vim, но эта конкретная привязка не работает в VsVim (по крайней мере, не в моей настройке?).

что тут работа однако, команда :red. Это немного больше хлопот, чем выше, но все равно нормально, когда это действительно нужно.


практически говоря,: undolist трудно использовать и vim :раньше и: позже отслеживание изменений можно использовать только для исправления курса. Учитывая это, я прибегаю к плагину, который сочетает в себе эти функции, чтобы обеспечить визуальное дерево просматриваемых undos, называемое "gundo." Очевидно, это то, что можно использовать только тогда, когда вам нужно исправить мелкое зерно, или вы не уверены в точном состоянии документа, к которому хотите вернуться. Смотри:https://sjl.bitbucket.io/gundo.vim/