web-dev-qa-db-ja.com

Vimスクリプトで「パターンが見つかりません」というエラーメッセージを省略します

.vimrcに、検索および置換コマンドの数が少ない関数を追加しました。ただし、パターンの1つが見つからない場合は、入力する必要のあるエラーメッセージが表示されます。どうすればこれを抑制できますか?

44

: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ヘルプから数段落下にあります。

73
DrAl

あなたはサイレントを使うかもしれません:

:silent %s/x/y/g

または、検索および置換する文字列を決定するために文字列操作を行う必要がある場合:

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

100%確信はありませんが、silentはスクリプトでのみ機能すると思います。

2
Paolo Tedesco

おそらく少しトピックから外れていますが、vimで次の発生を検索したいときに、vimで「検索パターンが見つかりません」エラーの解決策を検索したときにこのスレッドを見つけました。次のマップは、「n」を押したときのエラーを省略しています。

マップn:サイレント! /

1
user6359986

たぶん:he:silentはそれらのエラーを抑制するために使用できますか?

0
Sam