[Spacemacs]如何折叠或展开Yaml文件内容

由于 Yaml 文件内容很长,层次有比较多,我尝试 用 “Z a" 来折叠,spacemacs 报了如下的错误,哪位知道怎么解决嘛?或者折叠有其他的命令吗?

user-error: Enable one of the following modes for folding to work: vdiff-mode, vdiff-3way-mode, hs-minor-mode, hide-ifdef-mode, outline-mode, origami-mode

evil插件关于代码折叠的功能只是做了个wrapper,用来调用emacs里已有的相关实现,这个提示的意思就是你得至少启动其中一种实现,evil才能完成代码的折叠功能,例如使用outline-mode的话:

(use-package outline-mode
  :ensure nil
  :hook ((prog-mode . outline-minor-mode)))

谢谢你的回复, 我将你说的这段配置放到 user-config 中,再用 “Z a” 报这样的错:

Error: (error "Before first heading")

那你可以试下origami-mode

没有这个package 我试了其他几种,好像没效果,没有任何变化

I found a workaround to fix it.

yaml折叠可以使用origami, 默认的hideshow不支持yaml折叠

另外,借楼问一下有没有好用yaml format工具,平时习惯使用

(indent-region (point-min) (point-max) nil)

yaml-mode中的yaml-indent-line函数貌似有些问题,并不能正确的格式化文件

origami 这个包哪里有?

.spacemacs文件里有这么一句:

   ;; Code folding method. Possible values are `evil' and `origami'.
   ;; (default 'evil)
   dotspacemacs-folding-method 'evil

好的,多谢,我回家试试

快捷键是一样的吗?z a

你调出一下 fold-transient-state 看看,我之前折腾过,后来没怎么用,不记得了……

我试过了,快捷键是一样的,搞定了,非常感谢