визуальный режим в vi для удаления символа в конце нескольких строк

builder.append("sss"); builder.append("aaaaaaaaa"); 

Я хотел бы удалить; в конце. Я могу сделать это, используя различные скрипты в sed или заменить все в vim.

Но я хотел бы знать, как использовать визуальный режим.

Я знаю, как добавить на фронт или обратно в визуальный режим, j, Shift + i, добавить в начале и esc аналогично Shift + $ для конца.

Но когда я попытался удалить с помощью j, Shift + $, Shift + a, backspace и esc, он не работает, я получаю следующее:

  builder.append("sss") builder.append("aaaaaaaaa");) 

Что я делаю не так?

  • Изменение формы курсора (или цвета) для указания режима vi в bash
  • Странное закрытие редактора vi
  • Какова точка режима виртуальной замены в Vim?
  • Удаление строк из файла, который открывается в меньшем режиме
  • Янки все объявления функций
  • Удалить 100 строк из редактора vi с помощью одной команды
  • Глобально замените Vi на Vim на Fedora
  • vim избегать выбора подчеркивания
  • 2 Solutions collect form web for “визуальный режим в vi для удаления символа в конце нескольких строк”

    Похоже, что самый простой способ сделать это для нескольких строк – отметить блок в визуальном режиме, а затем:

     :'<,'>s/;$// 

    Обратите внимание, что '<,'> означает «с начала визуального блока до конца» и добавляется автоматически при нажатии : в режиме визуального отображения.

    Поместите курсор над точкой с запятой и используйте x чтобы удалить его.

    (Я предполагаю, что вы имеете в виду визуальный режим vi (в отличие от его ex-режима), а не VISUAL режим Vim.)

    Если вы действительно хотите сделать это с несколькими строками одновременно, вам придется прибегнуть к команде двоеточия. Если вы используете Vim, тогда ответ @Greg Hewgill – один для вас. Если вы используете vi, вам нужно будет пометить первую строку с ma и последним с mb , а затем обработать все из них с помощью :'a,'bs/;$// .

    Linux и Unix - лучшая ОС в мире.