为什么需要使用vim格式化json
对于json文本,如果没有经过格式化,可读性还是极差的,这时需要格式化或者说是优化 JSON 内容
{"a":"b", "c":"d"}
格式化为
{
"a": "b",
"c": "d"
}
修改 vimrc
使用 python json.tool 模块可以直接格式化json
" .vimrc
" 创建JSON Format 函数
function! JsonFormat()
" 将输出保存到寄存器 a 中
let @a = system("python -m json.tool " . bufname("%"))
" 如果执行失败,则只打印错误信息
if v:shell_error
echom @a
else
" 执行成功,则写入缓冲区
%delete
normal! "ap
1delete
write
endif
endfunction
这时我们可以再命令模式下调用该函数了
:call JsonFormat()
如果想更进一步,直接执行一个命令,甚至在文件保存的时候直接格式化Json
" .vimrc
" 创建 Jf 命令
command! Jf call JsonFormat()
autocmd BufWritePost *.json call JsonFormat()
这样在保存json文件的时候会直接格式化,如果格式化失败会显示出错误