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



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

686   10  

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

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

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

Затем,

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

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

CTRL+r

буква "Р" - строчная.

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

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

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

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

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

Comments

    Ничего не найдено.