前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >emacs中怎样折叠Verilog代码

emacs中怎样折叠Verilog代码

作者头像
ExASIC
发布2024-11-23 14:24:41
发布2024-11-23 14:24:41
7300
代码可运行
举报
文章被收录于专栏:ExASIC
运行总次数:0
代码可运行

在verilog编写代码时,可能模块列表太长,或者变量定义列表太长,不容易看到代码的重点。用代码折叠功能可以大方便的看代码、编写代码的效率。

配置方法

下面是emacs自带hide/show的配置方法,verilog-mode除了默认的module port列表、注释等折叠规则,需要再定义几个折叠关键词,比如begin/endtask/endtask等。

代码语言:javascript
代码运行次数:0
复制
;; define verilog hide/show keywords
(setq hs-special-modes-alist
   (cons '(verilog-mode "\\<begin\\>\\|\\<case\\>\\|\\<task\\>\\|\\<function\\>\\|\\<class\\>\\|(" 
		   "\\<end\\>\\|\\<endcase\\>\\|\\<endtask\\>\\|\\<endfunction\\>\\|\\<endclass\\>\\|)"
		   nil
		   verilog-forward-sexp-function)
    hs-special-modes-alist))
	
(add-hook 'verilog-mode-hook 'hs-minor-mode)

菜单和快捷键

配置好后,当打开verilog文件时,就会出现hideshow菜单,如下。常用的有Hide AllShow AllToggle Hiding等。

其中,Toggle Hiding最为常用,可以再绑定到全局快捷键,比如Windows+`\`。

代码语言:javascript
代码运行次数:0
复制
(global-set-key (kbd "s-\\") 'hs-toggle-hiding)	

选中文本的折叠

有时候只是想折叠指定的几行,并没有特定的语法标记。

这时就需要用到另一个库fold-this。从github(https://github.com/magnars/fold-this.el)下载,配置如下。

代码语言:javascript
代码运行次数:0
复制
(add-to-list 'load-path "~/.emacs.d/fold-this.el")
(require 'fold-this)

配置好之后,选中一段文字,再执行M-x fold-this,就可以看到这段代码被折叠了。如下:

代码语言:javascript
代码运行次数:0
复制
[[...]]

在折叠区域按C-gM-x fold-this-unfold-at-point即可以展开。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ExASIC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置方法
  • 菜单和快捷键
  • 选中文本的折叠
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档