2017-10-24 9 views
1

私はindent linuxユーティリティを使って保存時に現在のファイルをインデントしたいと思う。試しましたvim autocommandを使ってインデントをコード

私の.vimrcファイル(〜/ .vim)にあります。

は手動で私は保存する前に、あなたのファイルを変更するためのコマンドが

それだけで以下のように、ファイルをロードするために私を促した後、作品
:!indent -kr -nut % 

See ":help W12" for more info. 
[O]K, (L)oad File: 
+0

autocmd BufWritePost *。[ch]:!indent -kr -nut%は動作しますが、手動コマンドと同様のロードファイルを依頼します –

答えて

1

あなたはBufWritePreを望んでいないことを試してみましたそれ。代わりに、BufWritePostをやってみてください。

autocmd BufWritePost *.[ch] !indent -kr -nut % 

これはまだ入るヒットするように要求されますが、それは私がそれをテストする際に、ファイルをロードするように要求されません。また、

autocmd BufWritePost *.[ch] exec "!indent -kr -nut %" | redraw 

私はあなたのコマンドから:を削除する方法注意:あなたが保存した後エンターキーを押しする必要がしたくない場合は、これを変更することができます。これは、autocmdがexコマンドを検索するため、:が不要なためです。

+0

ロードまたはOKのプロンプトが表示されます –

+0

@vishwanathpatilまあ、私はそれをローカルで実行するときに私にプロンプ​​トが表示されないので教えてください。申し訳ありません – DJMcMayhem

+0

autocmd VimLeave *。[ch] exec "!indent -kr -nut%" | –

関連する問題