Пропустить сообщение об ошибке "Pattern not found" в скрипте Vim - PullRequest
42 голосов
/ 25 июня 2009

Я добавил в свой .vimrc функцию, которая содержит всего несколько команд поиска и замены. Однако, если один из шаблонов не найден, я получаю сообщение об ошибке, через которое мне нужно войти. Как я могу подавить это?

Ответы [ 4 ]

72 голосов
/ 25 июня 2009

Вы можете использовать :silent или :silent! в качестве префикса для любой команды или . Вы можете добавить опцию 'e' к замене, что часто проще.

:%s/x/y/ge
:silent! %s/x/y/g
:silent %s/x/y/g

Для получения дополнительной информации см.

:help :silent
:help :s_flags

Информация о флаге e находится в нескольких абзацах от справки :s_flags.

2 голосов
/ 25 июня 2009

Вы можете использовать молчание:

:silent %s/x/y/g

или, если вам нужно выполнить манипуляции со строками, чтобы определить строки для поиска и замены:

exec ":silent %s/x/" . varName . "/g"

Я не уверен на 100%, но думаю, что silent работает только в сценариях.

1 голос
/ 20 мая 2016

Возможно, немного не по теме, но я нашел эту ветку при поиске решений для ошибок "шаблон поиска не найден" в vim, когда я хотел найти следующий случай в vim. Следующая карта пропускает ошибку при нажатии 'n'

карта n: тихо! /

0 голосов
/ 25 июня 2009

Может быть, вещь: he: silent может быть использована для подавления этих ошибок?

...