Для того, чтобы заменить каждое вхождение «&» к «& &» в диапазоне от текущей строки до более 30 строк, я выдавать :.,+30s/\\&/\\&\\&/g
, но Вим говорит «Pattern не найден ». Я избегаю специального символа «&» двойным обратным слэшем «\».ВИМ: поиск и замена для «&»
16
A
ответ
13
Не пытайтесь убежать от всего - :.,+30s/&/&&/g
, похоже, работает на меня.
10
Вам не нужно избегать амперсанда в первой части регулярного выражения. Он имеет особое значение во второй (заменяющей) части.
Вы ищете образцы, которые говорят «\ &» и заменяют их шаблонами, которые говорят «\ & \ &».
Простой способ заменить просто:
:.,+30s/&/&&/g
1
Она также может быть полезно заметить, что если вам нужно изменить & позицию, например: _&
к &_
& должен быть экранирован только в операторах замены замещающего выражения:
:.,+30s/ &/\& /g
^
Смежные вопросы
- 1. ВИМ: Интерактивный поиск и замена с Perl Compatible регулярных выражений
- 2. ВИМ поиск замены вопрос
- 3. Поиск vs Поиск и замена
- 4. Поиск и замена SQL
- 5. VIM Поиск и замена
- 6. поиск и замена строки
- 7. Быстрый поиск и замена
- 8. Поиск и замена
- 9. Поиск текста и замена
- 10. Mysql поиск и замена
- 11. vim: Поиск и замена
- 12. Однопроходный поиск и замена
- 13. Поиск и замена Powershell
- 14. Калибр поиск и замена
- 15. Поиск и замена Javascript?
- 16. regex поиск и замена
- 17. Поиск и замена Python
- 18. Поиск и замена «-p»
- 19. поиск и инкрементная замена
- 20. Поиск строки и замена?
- 21. уникальный поиск и замена
- 22. Perl: Поиск и замена
- 23. Imacro поиск и замена
- 24. python поиск и замена
- 25. CouchDB Поиск и замена
- 26. Поиск и замена строк
- 27. Поиск и замена
- 28. Шестнадцатеричный поиск и замена
- 29. Поиск и замена подстроки
- 30. RegEx для нескольких Поиск и замена
Чтобы уточнить: это не потому, что '&' не является метасимволом: в то время как в шаблоне это верно (если не был активирован «&» или был активирован режим очень магии), в строке замены '&' означает то же самое, что и '\ 0': вся подобранная подстрока. Поскольку «вся подобранная подстрока» является амперсандом, это решение работает. Также обратите внимание, что если опция «magic» была отключена, выражение «& in replacement представляет весь согласованный шаблон» является ложным в нескольких командах, включая ': s'. – ZyX