1

У меня какая-то часть строки визуально выбрана. Я хотел бы удалить все несловарные символы в выделении и заменить все пробельные символы подчеркиванием.

Как бы я продолжил об этом?

1 ответ1

4

Следующее предполагает базовое знакомство с командой Vim :substitute . Сначала замените пробельные символы подчеркиванием.

:'<,'>s/\%V\s\%V/_/g

Набор текста : при визуальном выделении текста автоматически заполнится

:'<,'>

\%V до и после пробела приводит к тому, что вложенный шаблон (пробел) совпадает только в визуально выбранной области. Затем удалите несловарные символы. Введите gv чтобы повторно выбрать регион. Затем введите

:'<,'>s/\%V\W\%V//g

где \W - атом регулярного выражения Vim, означающий «несловесный символ». Увидеть

:help /\%V
:help /\s
:help /\W
:help gv

Ввод \%V может быть неудобным. Плагин vis.vim упрощает это, позволяя выполнить любую команду ex в визуально выбранной области, набрав : затем B затем команду ex, упрощая приведенное выше до

:'<,'>B s/\s/_/g
gv
:'<,'>B s/\W//g

опять же, Vim заполняет часть '<,'> для вас.

редактировать
Я заменил "пробел" на "пробельные символы" выше после перечитывания вопроса.

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