Json 漂亮的打印任意嵌套字典&;Vim中的列表

Json 漂亮的打印任意嵌套字典&;Vim中的列表,json,list,dictionary,vim,pretty-print,Json,List,Dictionary,Vim,Pretty Print,我遇到过几个场景,其中我列出了vim中的数据字典和任意嵌套的数据结构,即: a = [ 'somedata', d : { 'one': 'x', 'two': 'y', 'three': 'z' }, 'moredata' ] b = { 'one': '1', 'two': '2', 'three': [ 'x', 'y', 'z' ] } 我真的很想有一种方法,以表格的形式“漂亮地打印”它们。在vim中直接将它们作为JSON处理尤其有用。有什么建议吗?如果您的文本是有效的json,您可以

我遇到过几个场景,其中我列出了vim中的数据字典和任意嵌套的数据结构,即:

a = [ 'somedata', d : { 'one': 'x', 'two': 'y', 'three': 'z' }, 'moredata' ]
b = { 'one': '1', 'two': '2', 'three': [ 'x', 'y', 'z' ] }

我真的很想有一种方法,以表格的形式“漂亮地打印”它们。在vim中直接将它们作为JSON处理尤其有用。有什么建议吗?

如果您的文本是有效的json,您可以使用外部的
python-mjson.tool

所以,您只需在vim中执行:
%!python-mjson.tool

不幸的是,如果您使用带有嵌套dict/list的有效json示例,您的示例将不起作用:

注 在屏幕广播中,我有
ft=json
,因此在正常模式下无法看到一些引号,我使用的文本:

[{"test1": 1, "test2": "win", "t3":{"nest1":"foo","nest2":"bar"}}, {"test1": 1, "test2": "win", "t3":{"nest1":"foo","nest2":"bar"}}, {"test1": 1, "test2": "win", "t3":{"nest1":"foo","nest2":"bar"}}, {"test1": 1, "test2": "win", "t3":{"nest1":"foo","nest2":"bar"}}]

您可能想看看Tim Pope,它为vim脚本和插件开发提供了许多细节

虽然我不确定它有多漂亮,但我发现它已经足够适合我的使用了


还应该注意的是,vim脚本字典和数组与JSON非常相似,因此理论上,在经过一些清理之后,您可以使用任何JSON工具。

请给出所需输出的示例?请注意,您的第一个示例
a
变量在Vim中不是有效的结构。请发布您的
vimrc.bundle
vimrc
。@Aftnix我当前的vimrc大约有1000行,并且正在增长。。。所以我不会在这里发帖。如果您愿意,您可以自己检查: