Вопросы с тегом «substitute»

Любая операция, включающая замену текста на основе регулярных выражений, например, команда ex-mode `: s`. Не путать с тегом [replace].

3
Заменить на чистый vimscript (без `: s`)
У меня есть следующее в моем vimrc: func! AddSpaceBeforeEqual() s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge endfunc Я использую vint для lint мой vimrc, и получил следующее предупреждение: ProhibitCommandWithUnintendedSideEffect Избегайте команд с непреднамеренными побочными эффектами. Избегайте использования: s [ubstitute], поскольку он перемещает курсор и печатает сообщения об ошибках. Предпочитают функции (такие как search ()), лучше …

1
Глобальная подстановка Vim не подставляет все совпадения в строку
иногда мои глобальные субстуции не заменяют все совпадения в строке. Это подтверждается тем фактом, что я могу видеть это, когда я делаю замены с подтверждением, совпадение найдено в строке с несколькими возможными совпадениями, но затем оно переходит на другую строку. Я использую параметры gили gcдля всего файла с %. В …
12 substitute 

1
Как заменить в несколько строк?
Я хотел бы вставить слово в несколько строк, есть ли такая команда, как :[2,3,5,7,11]s/^/word\ /g что вставит wordв начало строки 2, строки 3, строки 5, строки 7 и строки 11? Здесь несколько строк не являются смежными.

6
Как добавить некоторую строку в конец файла, только если его еще нет?
Я хотел бы отредактировать файл на месте, добавив строку, только если она еще не существует, чтобы сделать мой сценарий пуленепробиваемым. Обычно я бы сделал что-то вроде: cat >> ~/.bashrc <<EOF export PATH=~/.composer/vendor/bin:\$PATH EOF Это также возможно сделать через ansible ( line+ insertafter=EOF+ regexp), но это другая история. В vi / …

4
Ограничение операций разделом кода
В моей повседневной работе часто приходится работать с определенной функцией, например с выделением или поиском переменной, но мне никогда не удавалось ограничить область правок / поиска. Есть ли способ в vim выборочно сказать, найти все ссылки $colorвнутри этих наборов фигурных скобок, или в этом сгибе и т. Д. Если это …

1
Применить команду нормального режима для регулярных выражений
Я использую следующее регулярное выражение для сопоставления строки документации под определением функции Clojure: \vdefn.*\n\s*\zs"([^"]|\n)*" Есть ли способ запустить команду нормального режима gq(формат строки) для всех совпадений этого шаблона в данном файле?

1
Как получить предварительный просмотр команды подстановки?
Довольно часто мне нужно выполнить подстановку, в которой совпадения будут разбросаны по всему большому файлу с нетривиальными выражениями поиска и замены. Например, скажем, у меня есть некоторые вызовы функций, такие как okFunction(arg1, arg2 arg3). Конечно, аргументы будут отличаться при каждом вызове функции. Теперь скажите, что я обнаружил лучшую функцию, которая …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.