3

BufWritePre/ FileWritePreauto コマンドで書き込みをキャンセルするにはどうすればよいですか?

私はすでにこの質問を見て、提案された解決策throwはエラーメッセージを表示しますが、それは望ましくありません。私自身のエラーメッセージを表示しているので、何も書き込まれていないことはユーザーに透過的でなければなりません。

4

1 に答える 1

2

次に、独自のエラーメッセージをスローします。これを回避する別の方法はないと思います。結局のところ、ユーザーは を発行した後にバッファが書き込まれることを期待している:wため、これを防ぐことができるのは例外だけです。

BufWriteCmdフックとを使用してこれを回避し:setl buftype=acwrite、バッファを完全に自分で作成することもできますが、これは (エラーが発生しやすい) 多大な労力であり、エラーを発行する場合は、とにかく例外を使用してください。

于 2012-07-28T18:02:06.280 に答える