问题
I have a JSON file and would like to fold it with a toggle (za) at every line with a key called subsection. I thought about using a global command like:
:g/subsection/za
but it doesn't work since a global command expects an editing function as the second argument, and za is not editing.
Any thoughts?
回答1:
How about: :g/subsection/norm za
From :h :g
To repeat a non-Ex command, you can use the ":normal" command: >
:g/pat/normal {commands}
回答2:
For opening / closing folds (at a line / range), there are dedicated Ex commands: :foldopen
and :foldclose
. Those can be directly used with :global/subsection/foldclose
.
If you need to use a normal mode command (like za
), you can use :normal!
to switch modes: global/subsection/normal! za
.
来源:https://stackoverflow.com/questions/47565285/folding-json-at-specific-points