Ctrl-w Отмены в Vim

Я - про пользователь энергии, однако, так или иначе я, кажется, окончательно не выяснил использование основанной на времени отмены, или возможно мне действительно не нравится он. Есть ли способ, которым я могу отменить удаление, вызванное Ctrl-w W3I, будет действительно благодарно за справку.

Спасибо.

4
задан 25.08.2011, 00:25

2 ответа

:inoremap <C-w> <C-g>u<C-w>

<C-g>u отмена наборов указывает на текущую точку. И затем <C-w> делает работу удаления.

3
ответ дан 07.12.2019, 19:57

Заголовок подсказки относится к Ctrl+U, который подобен, но не совсем то же как Ctrl+W. Однако тот же метод может использоваться для обоих.

Восстановитесь со случайного Ctrl+U.

Вы не можете отменить эти удаления. Однако то, что Вы ввели, находится все еще в . зарегистрироваться. Можно подтвердить что (после того, как при нажатии Esc для возврата к нормальному режиму) с командой :reg который перечислит все регистры (или просто :reg . отображаться . регистр). Вы можете копировать недостающий текст с дисплея регистра, например, с мышью.

К сожалению, просто вставка . регистр не поможет, потому что он повторит Ctrl-u или Ctrl-w и удалит текст снова. Однако можно использовать другой регистр (регистр a в следующем):

:let @a = @.
"aP

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

4
ответ дан 07.12.2019, 19:57

Теги

Похожие вопросы