新手求助: emacs 展开 隐藏 折叠 代码用什么插件
自带的 hideshow
有什么快捷键??
C-c @ C-c ;; hs-toggle-hiding
快捷键很长,你可以自己设置得短一点
我用outline mode, 在注释的时候,# * 表示一级, # ** 表示二级,支持tab的折叠。其中#可替代为其他语言的注释符号。
这个跟spacemacs自带的evil-close-fold函数有啥区别呢?
没用过evil, hideshow 更底层,可以定制折叠语法什么的
hideshow, origami, yafolding, … 不是语法支持度的问题就是性能问题,我已经放弃折叠很久了。
vimish-fold 倒是移植了部分 vim 的功能,不过手动设置折叠区域还是比较麻烦,并且它是把折叠区域信息存放放在一个文件里,存在与源代码更新同步的问题,还不如直接在代码里写折叠标记。
貌似是一样的,只是映射了下
确实,跟一般的编辑器都差很多,一般行数那边会多出一列,点击起来折叠展开很方便,要是Emacs也实现了就好了
实现这个很简单,你开行号,然后在行号上加按键绑定就行了。或者把 left-margin 开得大一点,也和别的编辑器差不多的
记错了,行号叫 left-margin, 然后行号右边有一栏名字叫 fringe…
有package 吗?
这个是一个方案,但是在浏览html, json, xml的时候并不好用,我现在还是采用evil的方法吧,底层就是hideshow,基本效果是这样,但我之前好像是因为什么原因转到origami的来着。。。好像是不太稳定?
不知道有没有 package
主要是可以自己定制。比如json折叠
(add-to-list 'hs-special-modes-alist
`(web-mode ,(rx (or "<" "{" "["))
,(rx (or ">" "}" "]"))
"/[*/]"
web-mode-forward-sexp nil))
看代码结构的时候感觉evil-matchit
用得很多,在各种配对的括号之间跳来跳去。再比如一个json的大概结构是[{A}, {B}]
,A和B都很大,内容只有开头一点点不一样,我在整个的开头,要看B的开头那一点,就找到[
,再找到它后面的{
,再跳到配对的A末尾的}
,往后走一点就到B的开头了。不用一行行往下翻人肉找A的结尾。
spacemacs C-c C-f