如何在SpaceMac中折叠Clojure DocString
我正在用Clojure编写一个程序。我希望能够折叠docstring。我已经尝试过选择docstring并按下如何在SpaceMac中折叠Clojure DocString,clojure,spacemacs,code-folding,Clojure,Spacemacs,Code Folding,我正在用Clojure编写一个程序。我希望能够折叠docstring。我已经尝试过选择docstring并按下za,但是,最终会折叠整个函数体 具体地说,我希望能够扭转这一局面: (defn flip-and-vectorize "Returns a vector with the arguments flipped so that `(flip-and-vectorize 1 2)` returns the following vector `[2 1]`" [
za
,但是,最终会折叠整个函数体
具体地说,我希望能够扭转这一局面:
(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”是什么,而只需要折叠选定的行。有两个选项:
这两个包都支持折叠区域。与中一样,它可以折叠所选的任何内容。区别在于后者有更多的特点。尤其是即使关闭和重新打开缓冲区,也能记住折叠
要使用它们,请按照github页面上的说明进行操作。但是,当它说要运行软件包安装时,您希望在spacemacs中用SPC f e d
打开.spacemacs
,并将软件包添加到dotspacemacs附加软件包中,如下所示:
dotspacemacs-additional-packages '(fold-this)
折叠这是更直接的设置,因为它有较少的功能
无论哪种情况,都需要添加自己的键绑定。或者只需选择要折叠的区域,然后转到“SPC折叠此”
如果使用vimish fold,则需要选择要折叠的区域,并调用
SPC vimish fold
进行折叠,然后可以使用C-`
来打开和关闭折叠。或者致电SPC vimish fold delete以移除折叠。我想你的意思是做与缩小区域相反的事情。这些建议确实实现了目标,谢谢!然而,坍塌的区域并不像我希望的那样整洁。