У меня какая-то часть строки визуально выбрана. Я хотел бы удалить все несловарные символы в выделении и заменить все пробельные символы подчеркиванием.
Как бы я продолжил об этом?
У меня какая-то часть строки визуально выбрана. Я хотел бы удалить все несловарные символы в выделении и заменить все пробельные символы подчеркиванием.
Как бы я продолжил об этом?
Следующее предполагает базовое знакомство с командой 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 заполняет часть '<,'>
для вас.
редактировать
Я заменил "пробел" на "пробельные символы" выше после перечитывания вопроса.