我正在使用Spacemacs在Clojure中编写程序。我希望能够折叠docstrings。我已经尝试选择文档字符串并按z a
,但最终会折叠整个函数体。
具体来说,我希望能够解决这个问题:
(defn flip-and-vectorize
"Returns a vector with the arguments flipped so that
`(flip-and-vectorize 1 2)`
returns the following vector
`[2 1]`"
[a b]
[b a])
进入与此类似的东西
(defn flip-and-vectorize
"..."
[a b]
[b a])
修改
即使能够折叠任意线也是可以接受的;意味着上述函数的折叠版本看起来像这样:
(defn flip-and-vectorize
...
[a b]
[b a])
这意味着崩溃逻辑不需要理解“docstring”是什么,但只会折叠选定的行。
答案 0 :(得分:1)
有两种选择:
这两个包装都支持折叠区域。如图所示,它可以折叠任何选定的内容。区别在于后者具有更多功能。尤其是即使关闭并重新打开缓冲区,记住折叠的能力。
要使用它们,请按照其github页面上的说明进行操作。但是,当它说要运行软件包安装时,而不是在spacemacs中,您要使用.spacemacs
打开SPC f e d
并将软件包添加到dotspacemacs-additional-packages
中,如下所示:
dotspacemacs-additional-packages '(fold-this)
折叠-由于功能较少,因此设置起来更直接。
无论哪种情况,您都需要添加自己的键绑定。或者只是选择要折叠的区域,然后转到SPC SPC fold-this
。
如果使用vimish-fold,则需要选择要折叠的区域,然后调用SPC SPC vimish-fold
进行折叠,然后再使用C-`
来打开和关闭折叠。或致电SPC SPC vimish-fold-delete
除去折页。