Есть ли альтернатива в поиске и замене vim для строк, кроме необходимости экранировать каждый специальный символ в строке.
Например, если я хочу сопоставить следующую строку и заменить что-то
[ERROR] Login unsucessful
Тогда я должен сделать
:%s/\[ERROR\]\ Login\ unsucessful/something/g
И это становится намного более уродливым и болезненным для сложных строк, содержащих много специальных символов
Я хотел бы сделать что-то вроде
:%s/"[ERROR] Login unsucessful"/something/g
что бы избежать всего спасения Есть ли такая особенность?
источник
/
чтобы/\v
для того, чтобы «очень магия» для большинства запросов, поэтому я сопоставляюсь//
с/
началом неизмененного поиска (полезно для прохождения истории поиска игнорирования модификаторов) и/v/
к/\V
быстро отключить все волшебство для поиска.Вам не нужно избегать пробелов. Итак, это:
на самом деле должно быть:
И, конечно, вы можете включить очень кочевой «режим», чтобы сделать эти специальные символы менее особенными:
См
:help /magic
.источник
Помимо кочевых флагов упоминаются и другие ответы.
Часто бывает так, что вам не нужно быть точным в строке поиска
Например, чтобы соответствовать
Вы могли бы использовать выражение
Очевидно, вы должны знать, что ваши данные не будут содержать другие строки, отличающиеся от вашей предполагаемой цели, но соответствующие выражению.
источник