在特定点折叠 JSON

Folding JSON at specific points

我有一个 JSON 文件,想在每一行用一个开关 (za) 折叠它用一个叫做小节的键。我考虑过使用像这样的全局命令:

:g/subsection/za

但它不起作用,因为全局命令需要一个编辑函数作为第二个参数,而 za 没有编辑.

有什么想法吗?

怎么样::g/subsection/norm za

来自:h :g

To repeat a non-Ex command, you can use the ":normal" command: >
    :g/pat/normal {commands}

对于打开/关闭折叠(在一行/范围内),有专用的 Ex 命令:foldopen:foldclose。这些可以直接与 :global/subsection/foldclose.

一起使用

如果你需要使用普通模式命令(如za),你可以使用:normal!切换模式:global/subsection/normal! za .