визуальный режим в 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-режимом в оболочке
  • Переключить VI, чтобы использовать клавишу backspace вместо Control + H для backspace?
  • Как заставить nano действовать как vi, когда дело доходит до переноса текста?
  • Ошибка подсветки синтаксиса в syncolor.vim с VIM 8.0 на Ubuntu
  • почему значение inode изменяется при редактировании в редакторе vi?
  • Примечание и определение с помощью Vi: при запуске выделите теги и теги отображения в окне предварительного просмотра
  • Как включить обратный поиск в zsh?
  • vi: как использовать строку в качестве команды?
  • 2 Solutions collect form web for “визуальный режим в vi для удаления символа в конце нескольких строк”

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

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

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

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

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

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

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