Подтвердить что ты не робот

Как избежать обратной косой черты и косые черты в поиске/поиске VIM?

Например, если бы я хотел найти и заменить строки, содержащие обратные или косые черты, как это сделать в vim? Спасибо!

Примеры Найти и заменить: :%s/foo/bar/g

что, если бы я хотел найти все вхождения <dog/> и заменить его на <cat\>

4b9b3361

Ответ 1

Точно так же вы избегаете символов больше всего в Linux-программах с обратной косой чертой:

:%s/<dog\/>/<cat\\>

Но обратите внимание, что вместо этого вы можете выбрать другой разделитель:

:%[email protected]<doc/>@<cat\\>@

Это избавит вас от необходимости вводить все эти трудоемкие, запутывающие обратные косые черты в шаблонах с тонны косых черт.

Из документации:

Вместо / который окружает шаблон и заменяющую строку, вы можете использовать любой другой однобайтовый символ, но не буквенно-цифровой символ \, " или |. Это полезно, если вы хотите включить / в шаблон поиска или замену строка.

Ответ 2

%s:<dog/>:<cat>

Вы можете заменить /delimiters, если они раздражают определенные шаблоны.

Ответ 3

Процитировать их с обратной косой чертой. Кроме того, он часто помогает использовать другой разделитель, кроме слэша.

 :%s#<dog/>#<cat\\>#

или если вы должны использовать слэш в качестве разделителя командной строки

 :%s/<dog\/>/<cat\\>/

Ответ 4

Синтаксис:

:%s/<dog\/>/<cat\\>/g

Ответ 5

Я искал что-то подобное, чтобы искать значения регистра, содержащие символ / (для записи макроса). Решение заключалось в поиске с использованием токена ? вместо /.

Ответ 6

обратная косая черта с обратной чертой

/(<- the prompt)\/\*

поэтому после ввода типа он выглядит как

/\/\*