在特定点折叠JSON

时间:2017-11-30 03:10:43

标签: json vim folding neovim

我有一个JSON文件,想要在每一行使用一个名为subsection的键,用一个toggle( z a )折叠它。我想过使用像:

这样的全局命令
:g/subsection/za

但它不起作用,因为全局命令需要编辑函数作为第二个参数,并且 z a 没有编辑。

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

如何::g/subsection/norm za

来自:h :g

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

答案 1 :(得分:3)

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

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