2016-12-20 14 views
4

ファイルに書き込むときに自動フォーマットを実行するにはvim setupを使用しますが、編集する前に拡張機能をブラックリストに追加することを定期的に忘れてしまいます。オートフォルメットでインデントが崩れるので、編集内容を保存できません。 BufWriteスクリプトを実行しないで保存する方法はありますか?一時的にvimのBufWriteスクリプトを無効にする

私のvimrcの行は次のとおりです。

:noa[utocmd] w[rite] 

はどんな autocmdsををトリガすることなく保存を実行します:

au BufWrite * if index(blacklist, &ft) < 0 | :Autoformat

答えて

5

は、3つのオプションがあります。あなたがautocmdsを使用して他のカスタマイズ/プラグインを持っていない限り、それはうまくいくでしょう。

:set eventignore=BufWrite | write | set eventignore= 

は、BufWriteイベントを一時的にオフにします。

また、また、あなたのautocmdを中心に、条件を追加することができます:あなたが選択:let g:no_autoformat = 1を経由して、ちょうどその特定のautocmdを無効にするために、できるようになる

au BufWrite * if ! exists('g:no_autoformat') && index(blacklist, &ft) < 0 | :Autoformat 

を。

PS::autocmdには、| endifのクローズがありません。

+0

完璧、ありがとう! –

関連する問題