4

Однако я - профессиональный пользователь vim, но почему-то я не совсем определился с использованием отмены, основанной на времени, или, может быть, мне это не очень нравится. Есть ли способ отменить удаление, вызванное Ctrl - W W3? Буду очень признателен за помощь.

Благодарю.

2 ответа2

4

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

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

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

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

a

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

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

<C-g>u устанавливает точку отмены для текущей точки. И тогда <C-w> выполняет удаление.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .