Редактировать текст с помощью vim

Редактировать текст с помощью vim

Я пытаюсь написать команду в Vim, которая может удалить 9 и 11 символы в третьей строке. Я сделал это, 3s/9, 11///но ничего не произошло, как я ожидал. Буду благодарен, если вы сделаете это с вашими предложениями. Если быть точнее: я хочу удалить 9-й и 11-й символы в третьей строке. Например, у меня есть три строки

  1. три метра над уровнем моря
  2. три метра ниже уровня моря
  3. нужна помощь в vim

Поэтому я хочу удалить 9-й символ в третьей строке, то есть букву «e» в слове «some», и 11-й символ, то есть букву «h» в слове «help».

решение1

Многократное совпадение объясняется в разделе 27.4 Matching multiple timesглавы 27 руководства пользователя (см. :help usr_27.txt).

Следующая команда удалит первые 9, 10 или 11 символов строки 3, если строка содержит не менее 9 символов. Если строка содержит меньше символов, она вернетE486: Pattern not found:

:3s/.\{9,11}//

Не уверен, что это то, что вы хотите. Если нет, обновите свой вопрос, пожалуйста.

решение2

В режиме редактирования введите:

08lxl.
  • 0 переместить курсор в начало строки
  • 8lпереместить курсор вперед на 8 символов
  • x удалить символ под курсором
  • l переместить курсор вперед на 1 символ
  • . повторить последнюю команду (x)

Если вы хотите привязать это к клавише (например ,):

:map , 08lxl.

После этого при каждом нажатии ,в режиме редактирования будут выполняться эти команды.

Связанный контент