资讯专栏INFORMATION COLUMN

在Vim中集成emacs下的verilog-mode功能

mating / 2780人阅读

摘要:在上安装配置更新最新下载最新版可以见安装从网上找到的教程清一色是让在目录下新建一个目录然后放进去,再写个要新建还需要用窗口但我照做了没有用在下,依次输入回车,就可以看到下面界面里面并不包含目录,所以它没有起作用从的输出看,第一

在vim上安装配置verilog-mode 更新emasc最新verilog-mode 下载

最新版可以见 verilog-mode

安装 window

从网上找到的教程清一色是让在$HOME目录下新建一个elisp目录然后放verilog-mode.el进去,再写个.emacs
要新建.emacs还需要用cmd窗口echo hi > .emacs
但我照做了没有用
在emacs下, 依次输入C-h v load-path回车, 就可以看到下面界面

里面并不包含$HOME目录,所以它没有起作用

从load-path的输出看,第一个是emacs/26.1/site-lisp,所以可以把解压缩后的verilog-mode.el放到这个目录里
同时在该目录新建一个文件site-start.el

;; Load verilog mode only when needed
(autoload "verilog-mode "verilog-mode" "Verilog mode" t )
;; Any files that end in .v should be in verilog mode
(setq auto-mode-alist (cons  "(".[v|sv]"" . verilog-mode) auto-mode-alist))
;; Any files in verilog mode should have their keywords colorized
(add-hook "verilog-mode-hook "(lambda () (font-lock-mode 1)))

这样当打开.v或.sv开头的文件,会自动加载verilog-mode插件

Linux

新建~/.elisp目录,把verilog-mode.el拷贝进去
在~/.emacs里输入

(defun prepend-path ( my-path )
(setq load-path (cons (expand-file-name my-path) load-path)))

(defun append-path ( my-path )
(setq load-path (append load-path (list (expand-file-name my-path)))))
;; Look first in the directory ~/elisp for elisp files
(prepend-path "~/.elisp")
;; Load verilog mode only when needed
(autoload "verilog-mode "verilog-mode" "Verilog mode" t )
;; Any files that end in .v, .dv or .sv should be in verilog mode
(add-to-list "auto-mode-alist "(".[ds]?v"" . verilog-mode))
;; Any files in verilog mode should have their keywords colorized
(add-hook "verilog-mode-hook "(lambda () (font-lock-mode 1)))

在vim上安装verilog-mode插件

在网上有一个插件,但它有很多问题,基于它我修改出了一个无问题版本
https://github.com/zhuzhzh/ve...
使用vim-plug或Vundle安装的方法如下:

vim-plug
Plug "zhuzhzh/verilog_emacsauto.vim", {"for": ["verilog", "systemverilog"] }
Vundle
Plugin "zhuzhzh/verilog_emacsauto.vim"
使用方法

a: 展开所有auto宏

d: 移除所有uato宏

注意,默认是, 也可以在.vimrc里重设它

原始代码如下:

//
// Created by         :  Harris Zhu
// Filename           :  test.sv
// Author             :  Harris Zhu
// Created On         :  2018-07-14 22:20:59
// Last Modified      :  2018-07-14 22:20:59
// Update Count       :  1
// Tags               :
// Description        :
// Conclusion         :
//
//=======================================================================
module foo(/*AUTOARG*/);

input i;
output [DWIDTH-1:0] o;

endmodule

module test (/*AUTOARG*/);

parameter DWIDTH=32;

input i;
output [DWIDTH-1:0] o;

foo u0(/*AUTOINST*/);

endmodule

按下a后, 变成如下

//
// Created by         :  Harris Zhu
// Filename           :  test.sv
// Author             :  Harris Zhu
// Created On         :  2018-07-14 22:20:59
// Last Modified      :  2018-07-14 22:20:59
// Update Count       :  1
// Tags               :
// Description        :
// Conclusion         :
//
//=======================================================================
module foo(/*AUTOARG*/
   // Outputs
   o,
   // Inputs
   i
   );

input i;
output [DWIDTH-1:0] o;

endmodule

module test (/*AUTOARG*/
   // Outputs
   o,
   // Inputs
   i
   );

parameter DWIDTH=32;

input i;
output [DWIDTH-1:0] o;

foo u0(/*AUTOINST*/
       // Outputs
       .o                (o[DWIDTH-1:0]),
       // Inputs
       .i                (i));

endmodule

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25020.html

相关文章

  • 征服恐惧!用 Vim 写 iOS App

    摘要:我们都知道和都是文本编辑器中的上古神器,你也许用,配合完成过大型或者的开发,你也许配合过其他插件,完成过,代码的开发,但是很少有人试过的开发吧,毕竟的框架包含了很多东西,以及天生很长的名字,让我们没办法把此神器用起来,今天我就来给大家讲下 我们都知道 Vim 和 Emacs 都是文本编辑器中的上古神器,你也许用 ctags,cscopes 配合 Vim 完成过大型 C 或者 C++ 的...

    endless_road 评论0 收藏0
  • 优测优社区干货精选|老司机乱谈编辑器之神——vim

    摘要:点击原文链接体验更佳哦优测优社区干货精选老司机乱谈编辑器之神腾讯优测腾讯优测是专业的移动云测试平台,为应用游戏,混合应用的研发团队提供产品质量检测与问题解决服务。 文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了。本文介绍了学习vim的方法以及一些vim常用的插件...

    BaronZhang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<