Natsuyoshi-Jr Blog

技術や趣味や日常生活で調べたことを投稿していこうと思います。

VimでjsonやXMLを整形する方法

Vimjsonを整形する方法

Linuxにjqコマンドがインストールされている場合

下記のように外部シェルの機能を使用してjqコマンドをたたく。

ファイル全体を指定する場合 :% !jq

もしくは範囲を選択する場合 :'<,'> !jq

Linuxにjqコマンドがインストールされていない場合

非asciiのことを考慮して自前のpythonスクリプトを使う。 詳細はQiitaに書いたので詳しくはそっちで。

qiita.com

VimXMLを整形する方法

Linuxにxmllintコマンドがインストールされている場合

下記のように外部シェルの機能を使用してxmllintコマンドをたたく。

ファイル全体を指定する場合 :% !xmllint --format -

もしくは範囲を選択する場合 :'<,'> !xmllint --format -

Linuxにxmllintコマンドがインストールされていない場合

vimで置換してインデント機能を使う。 vimscriptでユーザー定義関数を作ってあげた方が楽だと思う。

こうしておくと:FXで呼び出してあげるだけでXMLが整形される。