Folding ---- 代码折叠工具
文章目录
工具
yafolding
- GitHub - zenozeng/yafolding.el: Yet another folding extension for Emacs
- 适合缩进格式的语言,eg: python
vimish-fold
- GitHub - matsievskiysv/vimish-fold: Vim-like text folding for Emacs
- 需要手动创建 fold
- 适合任意区域折叠
origami
- GitHub - gregsexton/origami.el: A folding minor mode for Emacs
- 适合有块终止符的语言,使用 () 或者 {}, eg: lisp, c, cpp, java
yafolding
前提: 要打开 yafolding-mode
功能和按键
折叠当前块
- yafolding-toggle-element
C-<return>
折叠所有
- yafolding-toggle-all
C-M-<return>
折叠上一级
- yafolding-hide-parent-element
C-S-<return>注: 连续使用有问题
- 使用
C-<return>打开折叠代码
- 使用
vimish-fold
前提: 要打开 vimish-fold-mode
特性: 持久化折叠区域
对应 buffer 的折叠区域,不因 buffer 的关闭再次打开而消失
- 注意:需要启用
(vimish-fold-global-mode 1)
- 注意:需要启用
功能和按键
创建 fold
vimish-fold
- 选择区域 region
- 执行
vimish-fold
vimish-fold
- 选择区域 region
- 执行
vimish-fold
vimish-fold-avy
- 移动到折叠区域的开头 start
- 执行
vimish-fold-avy 根据提示选择折叠区域的结尾 end
- 到这里就完成创建了,区域(start, end)
- 命令会自动折叠创建的折叠区域
删除 fold
vimish-fold-delete
- 移动到要删除的 fold
- 执行
vimish-fold-delete
- vimish-fold-delete-all
执行折叠 toggle 切换
C-`- 在
折叠上和打开之间切换(toggle)
- 在
折叠上
vimish-fold-refold
- 移动到要删除的 fold
- 执行
M-x vimish-fold-refold
- vimish-fold-refold-all
打开折叠
- vimish-fold-unfold
导航
上一个
- vimish-fold-previous-fold
下一个
- vimish-fold-next-fold
origami
功能和按键
toggle 切换折叠状态
- origami-toggle-node
origami-forward-toggle-node
- 更有好
origami-recursively-toggle-node
- 递归处理
折叠
- origami-close-node
打开
- origami-show-node
文章作者
上次更新 2022-03-11 (1856f66)