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


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

10 574

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.

:красный[o] (повторите одно изменение, которое было отменено) и {count} Ctrl+r (повтор {count} изменения, которые были отменены) оба в порядке.

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

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

затем,

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

для повторного использования CTRL +r ключ

CTRL+r

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

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

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

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

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

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