Vim: игнорирование ошибок в списке сопоставленных подстановок
у меня есть ряд замен регулярных выражений, которые я регулярно делаю, и поэтому хочу карту ключ, чтобы сделать это легко. Однако, если один из замещаемых регулярных выражений не найден в файле, мое сопоставление ключей останавливается из-за E486: Pattern not found
и никаких дальнейших замен проводятся. Е. Г. если сопоставление в мой vimrc составляет
map <F12> :%s/spam/foo/<enter>:%s/ham/bar/<enter>:%s/eggs/baz/<enter>
и нет ham
в моем файле, eggs
не будет заменен. Есть ли флаг, который я могу поставить на подстановки, чтобы игнорировать ошибки? Я читал :help regex
и :help map
не найдя ничего полезного.
в качестве альтернативы, есть ли другой, более простой, более очевидный способ сделать это, что мне не хватает?
2 ответов
добавить /e
флаг для каждой команды замещения. Он не показывает сообщения об ошибках и продолжается, как будто ошибка не произошла. Это будет новое отображение:
map <F12> :%s/spam/foo/e<enter>:%s/ham/bar/e<enter>:%s/eggs/baz/e<enter>
вы можете добавить "флаг" в конце шаблона:
:%s/spam/foo/e
не будет плевать на ошибку, если он не найдет spam
и позвольте вам продолжить.
посмотреть :help flags
.