Например, если бы я хотел найти и заменить строками, содержащими обратную или прямую косую черту, как это можно сделать в vim? Спасибо!
Примеры поиска и замены: :%s/foo/bar/g
что, если бы я хотел найти все вхождения <dog/>
и заменить его на<cat\>
vi --help
на моем сервере НЕ объясняется экранирование специальных символов ... вот почему люди приходят в stackoverflow, чтобы начать с ...:help magic
- это то, что вы вводите внутри vim. Это не аргумент командной строки для vim.Ответы:
Точно так же вы экранируете символы в большинстве других программ для Linux с обратной косой чертой:
Но учтите, что вместо этого вы можете выбрать другой разделитель:
Это избавит вас от необходимости печатать все эти трудоемкие, запутанные обратные косые черты в шаблонах с множеством косых черт.
Из документации :
источник
s
считается разделителем. Я не могу понять, где я нашел список в документации, но я уверен, что по крайней мере/:;*%@#
действительный.Вы можете заменить разделители /, если они раздражают определенные шаблоны.
источник
:
разделителя. Я не знал, что ты можешь это использовать. Я всегда использовал@
во времена «беспорядка побега»Цитируйте их с обратной косой чертой. Кроме того, часто бывает полезно использовать другой разделитель помимо косой черты.
или если вам нужно использовать косую черту в качестве заменяющего разделителя команд
источник
Синтаксис:
источник
Я искал что-то подобное, чтобы искать значения регистров, содержащие
/
символ (для записи макроса). Решением было поиск с использованием?
токена вместо/
.источник
?
будет выполняться обратный поиск, и это не то же самое.обратная косая черта обратная косая черта звезда
так что после того, как вы наберете, это выглядит как
источник