はじめに
Vimはファイルを開いた状態で外部シェルコマンドを実行することができるので、
プラグインを使用したり自前で関数を作成しなくてもjson形式の文字列の整形が簡単にできます。
私はcurlとかでAPIたたいた時とかによく使います。
vimでjson形式の文字列を整形する
前提条件
- json形式の文字列を整形できるコマンドがOSで使用できること (例:
jq
コマンド)
jq
$cat hoge.json | jq
- もしくは、pythonの標準ライブラリであるjsonが使えること
python
$cat hoge.json | python -m json.tool
pythonの標準ライブラリjsonに関してはPython ドキュメント jsonをご覧ください。
https://docs.python.jp/3/library/json.html
jq
コマンドはinstallされていない場合があるので、
私はpythonの方をよく使っています。
ではどうすれば出来るのか?
まずvimでjsonファイルを開く
$cat sample.json
{"names":["sato", "tanaka", "yamada"]}
$ vim sample.json
vimで外部シェルコマンドをたたく。
例 :% !python -m json.tool
そうするとjson形式の文字列が整形されます。
{"names": ["sato","tanaka","yamada"]}
結果はこんな感じ。