VIM中格式化json

在vim输入以下命令就可以格式化
:%!python -m json.tool
可以在~/.vimrc增加快捷键
map <F4><Esc>:%!python -m json.tool<CR>

网上大部分都是这种处理方法,但是汉字会以unicode码显示,给阅读造成不小的麻烦。
偶然发现了一篇日语文章,说了一下处理方法,unicode中日语和汉语是一样处理的。

这是在windows下的处理方法:
在_vimrc中增加以下代码:

command! JsonFormat :execute '%!python -m json.tool'
\ | :execute '%!python -c "import re,sys;chr=__builtins__.__dict__.get(\"unichr\", chr);sys.stdout.write(re.sub(r\"\\u[0-9a-f]{4}\", lambda x: chr(int(\"0x\" + x.group(0)[2:], 16)).encode(\"utf-8\"), sys.stdin.read()))"'
\ | :set ft=javascript
\ | :1

打开json文件,输入:

:JsonFormat

当然,至少是输入调用,还是快捷健,看自己的喜好。

 

参考文章:
http://qiita.com/tomoemon/items/cc29b414a63e08cd4f89

posted @ 2015-09-29 17:28  影月千夜  阅读(4007)  评论(0编辑  收藏  举报