2016-10-14 5 views
2

JSON用にelzr/vim-jsonを使用しています。これは非常にうまく動作します。 gg=G JSONをインデントし、無効なJSONが含まれている場合はバッファを破棄しません。Vimでの保存時にJSONをインデントします

保存時にgg=Gを実行できる方法はありますか?ただし、JSONファイルの場合のみですか?

答えて

5

私はあなたがautocmdを探していることを推測:

:autocmd BufWritePre *.json :normal gg=G 

あなたのvimrcファイルに次の行を追加することができますし、gg=G、保存上の*.jsonパターンにマッチするすべてのファイルに適用されます。

また、あなたはあなたのJSONファイルをインデントするpython -m json.toolを使用することができます。

:autocmd BufWritePre *.json execute '%!python -m json.tool' | w 

このコマンドは外部コマンド(python -m json.tool)を使用して、あなたのコードを糸くずや現在のバッファ(w)に保存されます。

+1

恐縮です、ありがとうございます。 'gg = G'オプションは私のためにはるかに良く機能します。 'json.tool'は、バッファが構文的に正しければ何も返さないという厄介な特徴があります。 –

関連する問題