2

Я понимаю, что "команда" для стирания буквы - это x, но если вы серьезно просто стираете, как 3-5 букв, действительно ли вообще полезно нажимать ESC + hhhhh + xxxxx?

В vim, есть ли причина, по которой мы не можем использовать возврат?

4 ответа4

5

Поскольку ваша последовательность печатания начинается с <Esc> я предполагаю, что вы находитесь в режиме вставки , верно? Если это так, вы можете <C-w> чтобы удалить слово слева от курсора, не выходя из режима вставки .

Нажатие на <bs> работает и в режиме вставки для отдельных символов, и вам не нужно выходить из него, если вам нужно удалить только несколько символов, которые вы только что набрали.

x - это команда «стереть букву в обычном режиме», но она работает только одна (x) или с количеством (5x), то же самое для X Есть много ситуаций, когда вам нужно воздействовать на целое слово или два, или что находится между парой скобок, или до определенного шаблона вперед, или до и включая конкретную букву назад ... В таких ситуациях вам следует использовать d в комбинации с движениями.

2

В командном режиме Backspace используется для перемещения курсора влево. Если вы хотите использовать его как положено, используйте следующую команду в командном режиме:

:nnoremap <bs> X  

Добавьте его в свой файл .vimrc если хотите постоянное изменение.

1

Вместо ESC hhhhh xxxxx , попробуйте d5h .

-1

Вы можете использовать предложенное Сачином Шехаром картирование или сделать это "по пути Ви", но, на мой взгляд, есть лучший способ:

Настройка управляет тем, как ключ работает Backspace backspace Помещение этого в ваш .vimrc заставляет ключ Backspace работать так, как ожидает большинство людей:

set backspace=indent,eol,start

Do :h 'backspace для получения дополнительной информации.

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