34

vim では、JSON のデフォルトのインデントは次のとおりです。

{
    "employees": [
    { "firstName":"John" , "lastName":"Doe" }, 
    { "firstName":"Anna" , "lastName":"Smith" }, 
    { "firstName":"Peter" , "lastName":"Jones" }
    ]
}

しかし、私が期待しているのは:

{
    "employees": [
        { "firstName":"John" , "lastName":"Doe" }, 
        { "firstName":"Anna" , "lastName":"Smith" }, 
        { "firstName":"Peter" , "lastName":"Jones" }
    ]
}

私はグーグルでいくつかのvim-jsonプラグインを試しましたが、どれもこの問題を解決していません。

4

8 に答える 8

41

より簡単な方法は、選択のフィルターとして外部コマンドのみを使用することです。例えば

  1. 選択する
  2. タイプ:!python -m json.tool
于 2013-06-26T15:47:10.013 に答える
15

例として、外部ツールに送信できます。Python がある場合は、次を使用してコンテンツを Python の json ツールに送信できます。

:%!python -m json.tool
于 2014-10-14T07:59:39.400 に答える
1

このステートメントを に追加し/etc/vim/vimrcます。

autocmd Filetype json setlocal ts=2 sw=2 expandtab

そのようなファイルのタブ動作を定義するだけでなく、2 つのスペース タブを使用して json プレゼンテーションを強制します。

于 2020-09-30T22:38:31.593 に答える