O Vim permite definir a opção equalprg para cada tipo de arquivo. Dos documentos do Vim:
Programa externo a ser usado para o comando “=”. Quando esta opção está vazia, as funções de formatação interna são usadas; tanto ‘lisp’, ‘cindent’ ou ‘indentexpr’. Quando o Vim foi compilado sem formatação interna, o programa “indent” é usado. …
Adicione a seguinte linha a você .vimrc:
au FileType json setlocal equalprg=python -m json.tool
Agora, para formatar seu JSON, basta digitar gg=G
.