Emacs 编写代码 折叠与展开
2011-11-05 21:15
239 查看
参考 Emacs中文网
6.4 代码折叠
6.4.1 semantic-tag-folding
从我开始用emacs开始就听大虾们说hs-minor-mode可以实现代码折叠,所以我的.emacs里一直把hs-minor-mode打开的,可是用了5年之后我发现还是不习惯它的按键,另外也不是很喜欢它显示的样子,5年来Hide/Show这个菜单对我来说基本上是个摆设。我期待像eclipse那样可以通过鼠标在直接点击就可以打开和折叠代码,这个功能在cedet也实现了(可惜这么长时间一直没发现它),就是semantic-tag-folding.el(也在cedet的contrib目录下)。
(require 'semantic-tag-folding nil 'noerror) (global-semantic-tag-folding-mode 1)
只要用鼠标点击左侧的小三角图标就可以打开或折叠代码了。箭头向下的空心三角表示这段代码可以被折叠,箭头向右的实心三角表示这段代码被打折过了。
为了方便键盘操作,我把按键绑定到了[C-c , -]和[C-c , =]上(绑定这么复杂的
按键主要是为了和senator兼容,后面会讲到senator实现代码折叠):
(define-key semantic-tag-folding-mode-map (kbd "C-c , -") 'semantic-tag-folding-fold-block) (define-key semantic-tag-folding-mode-map (kbd "C-c , =") 'semantic-tag-folding-show-block)
同时它还提供了两个函数可以同时打开和折叠整个buffer的所有代码,分别是
semantic-tag-folding-fold-all和semantic-tag-folding-show-all,我把它们
绑定到了[C-c . -]和[C-c . =]上:
;; 整个buffer所有函数折叠与展开 (define-key semantic-tag-folding-mode-map (kbd "C-c . -") 'semantic-tag-folding-fold-all) (define-key semantic-tag-folding-mode-map (kbd "C-c . =") 'semantic-tag-folding-show-all)
相关文章推荐
- 使emacs的代码折叠展开绑定键更好用一些
- Visual Studio展开和折叠函数代码
- [转]VS中展开和折叠代码
- eclipse配置折叠/展开代码快捷键
- C#中如何让某部分代码作为整体折叠和展开
- C# 展开和折叠代码的快捷键
- eclipse配置折叠/展开代码快捷键
- 3个收缩/展开/折叠的js代码
- 在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
- VS中展开和折叠代码
- [emacs] python代码折叠
- jquery表格展开折叠代码
- Emacs代码折叠
- 编写VSIP扩展 - 折叠代码区域(region)
- C# 展开和折叠代码的快捷键
- js实现超简单的展开、折叠目录代码
- JS实现鼠标滑过折叠与展开菜单效果代码
- 文字内容展开与折叠jquery代码
- C# 展开和折叠代码的快捷键
- VS2010中代码折叠或展开方法