У Vim я занадто багато скасував. Як я скасувати це (тобто повторити)?
У Vim я занадто багато скасував. Як я скасувати це (тобто повторити)?
Відповіді:
Ctrl+r
Cmd + r
псує речі? Це, безумовно, робить щось дивне; але Ctrl + r
якраз добре працював для мене (Mac + 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 - шукав "vi" в Google, але всі результати для "vim"), дякую!
vi
команду, це посилання на виконуваний файл vim або його копію. Не зовсім скрізь, хоча.
vim: command not found
. Наступне, що я роблю, це alias vim=vi
тому, що я набираю його так автоматично, але все-таки це звичайне старе ві. Крім того, redo (ctrl + r) працював би належним чином, якби vi був псевдонімом для 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 .
Спочатку натисніть Escклавішу, щоб вийти з режиму редагування.
Тоді,
Для скасування використовуйтеu ключ стільки разів, скільки потрібно скасувати.
Для повтору використовуйте клавішу Ctrl+r
Дивіться частину "скасувати" та "повторити" частину документа Vim .
: red [o] (Повторити одну зміну, яку не було скасовано) та {count} Ctrl+ r(Redo {count} зміни, які було скасовано) - це нормально.
Крім того, команда : раніше {count} (перейти до старого тексту тексту {count} разів) завжди може бути заміною для скасування та повтору.
CTRL+r
"R" є малі.
^r
і ^R
, і Vim слідує за цим.
^X
(де X
може бути будь-яка літера).
Використовуєте VsVim для Visual Studio?
Я натрапив на це, коли експериментував з VsVim, який забезпечує прив'язку для команд Vim у Visual Studio .
Я знаю про саме Ctrlrу Vim, але саме ця прив'язка не працює у VsVim (принаймні, не в моїй установці?).
Однак, що працює, це команда :red
. Це трохи більше клопоту, ніж вище, але все одно добре, коли вам це справді потрібно.
Практично кажучи, :undolist
складний у використанні, :earlier
а :later
відстеження змін Vim та часу застосовується лише для виправлень курсу зерна.
Враховуючи це, я вдаюсь до плагіна, який поєднує ці функції, щоб створити візуальне дерево перегляду, під назвою "Gundo".
Очевидно, що це щось, що потрібно використовувати лише тоді, коли вам потрібно виправити дрібнозернистий виправлення, або якщо ви не впевнені в точному стані документа, до якого ви хочете повернутися. Див .: Гундо. Графікуйте ваше дерево Vim скасувати за стилем