使用sublime模板加快编码效率
这是使用模板系列的最后一篇了,也是最实用的方法。
前面提到的,插入文件的方法,适合计算机水平一般的初学者;而用TCL脚本的,则适合喜欢自定义各种奇特功能的专业人士。
那么,本次介绍的配置编辑器的方法,就更适合绝大多数码农了。
1、安装Sublime Text 2。
Sublime Text 3是收费的,也可以破解,这里以Sublime Text 2为例。
在官网http://www.sublimetext.com/上面可以下载到这个编辑器,安装过程就不说了,你可以一直试用,也可以破解它(自己百度吧)。
2、下载插件。
因为Sublime还不支持verilog,所以得在github上面下载插件(VHDL也有插件,可以自行搜索)。
https://github.com/search?utf8=%E2%9C%93&q=verilog+sublime
要注册个账号才可以下载的。
其中要下载三个插件,如下图所示。
点击下图所示,就可以下载了,是个ZIP文件。
然后全部解压,把里面的文件(如下图所示),全部放到C:\Users\lenovo\AppData\Roaming\Sublime Text 2\Packages\User里面。
3、enjoy yourself。
现在打开Sublime。在View->syntax下可以看到
好了,现在用Sublime打开一个verilog文件,就能看到语法高亮了,代码提示功能也是非常强的。
除此之外,它还能自动生成模板。
如:always,if,else,module,case,for甚至连状态机都可以自动生成。
生成的模板,还能用TAB键,自动跳转,非常方便。
如果你不喜欢这些插件生成的模板,还可以修改它。
4、Sublime的快捷键。
ctrl+/,注释和取消注释。
ctrl+D,向下选词。
ctrl+J,合并行。
ctrl+F,查找。
ctrl+U,软撤消。
ctrl+L,选择行。
其它的快捷键,可以自己百度,也可以在Sublime上面找到。
5、自动对齐代码。(注:X86版才有 Code Alignment ,X64版是Alignment不能用Ctrl + =实现输入任意字符或字母匹配)
这个功能也要安装插件。
首先要安装Package Control。
在Sublime,用快捷键Ctrl+`(反引号),打开控制台。(如果控制台的快捷键冲突了,输入快捷键会没反应)
也可以在View下面打开。
然后把官网https://packagecontrol.io/installation#st2,先点击红色箭头所指的标签,再把红色方框里面的代码copy到控制台,回车。
重新启动Sublime,就可以在Preference下面看到Package Control了。
进入Package Control,点击Install Package,然后搜索code alignment以安装插件。
重新启动Sublime,就有对齐代码的功能了。
下面示范一下,首先有下面一段代码。
用Ctrl+L选择这几行,然后点Ctrl+=,左下角会出现如下提示。
然后输入:,即以:为基准对齐代码,效果如下:
多余的空格,可以使用块选择删掉。
更详细的用法,可以在http://www.codealignment.com/ForSublimeText.html上面看到。
6、自动生成文件头注释。
用快捷键Shift+F9,可以生成文件头注释。
每次保存文件时,红色箭头所指的日期都会跟着改变,这样总能知道最后一次修改的时间。
此外,你还能配置其它参数,如:Author,Company,Email等。点击下图所示以配置参数。
{
"Author":"LeaderHuang",
"Company":"",
"Email":""
}
这样就能在文件头注释增加Author了。
如果你想添加其它注释,可以修改Verilog Automatic.py文件,在第339行附近。
7、修改模板。
如果你觉得自动生成的模板不符合自己的编码习惯,还可以修改它。
用Sublime打开,刚才插件里面的always.tmSnippet。修改成如下示例。
其中,$1,$2这些,是生成模板之后,点TAB键,会按照由小到大的顺序自动跳转的地方。
而{1:negedge}意思就是点第一次TAB键时,会跳到这里,同时选择negedge。
也有些文件写成${1}其实是跟$1一样的,只是推荐写成前者。
上图中,出现两次$2,意思是点第二次TAB键时,同时跳到这两个地方,也就能同时修改这两个地方,如下图所示。
修改这些Snippet文件时,只要在Sublime上面保存就可以直接生效,不需要重新启动Sublime的。
此外,Snippet不一定只用来补全代码,还能当成help(帮助文档)来使用。如下图所示,列出系统函数。
8、支持中文。
刚装好的sublime是不支持中文的,需要安装插件。在Preference下面打开Package Control。
点Install Package,然后,等一会,在弹出的窗口中输入gbk,安装第一个插件,GBK Encoding Support,重新打开Sublime就能正常显示中文了。
9、块操作。
Shift+鼠标右键或者鼠标中键,可以选择块。选择了某块之后,可以点ctrl+鼠标中键,添加块。
10、增加quartus编译系统。
新建一个qiiCompile.sublime-build文件,注意后缀名,不能搞错。
然后用sublime打开它,添加以下内容。
{
"cmd": ["D:/altera/13.0sp1/quartus/bin64/quartus_map.exe", "--read_settings_files=on", "--write_settings_files=off",
"${file_path}/${file_name}", "-c", "${file_path}/${file_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.qpf, source.QPF"
}
其中D:/altera/13.0sp1/quartus/bin64/quartus_map.exe,是我安装的quartus目录下的编译工具,根据自己的quartus安装目录进行修改就可以了,其它不变。
保存在程序包里面,也就是Sublime Text 2\Packages\User,就可以在tools->编译系统下,找到qiiCompile了。
在编译之前,还是需要使用quartus新建工程的,建好之后,可以关闭。
然后在sublime下,新建顶层的.v文件,每次编译都在顶层文件下,输出ctrl + B即可。
注意:顶层文件名必须跟工程名相同,否则会编译出很多工程。
此外,若要使用此编译方法,最好全部使用.v文件,而不用原理图。而且编译之后,不能双击错误定位到.v,而只能由提示的行号,自己定位。
编译效果如下:
11、增加ISE编译系统。
具体步骤跟上面一样,但是文件内容不同。
iseCompile.sublime-build文件内容如下。
{
"cmd": ["C:/Xilinx/14.7/ISE_DS/ISE/bin/nt64/xst.exe", "-intstyle", "ise", "-ifn",
"${file_path}/${file_base_name}.xst", "-ofn", "${file_path}/${file_base_name}.stx"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.xst, source.XST"
}
此外,还需要在ISE编译过一次之后,生成了.xst文件,才能用sublime编译。
12、利用编译系统做其它事情。
上面所说的编译系统,其实就是点ctrl+B,调用某个命令而已。这个命令不一定是编译用的。
那么这些命令从哪里来?
细心的读者会发现,使用quartus编译的时候,有提示。
上面command一行,就是前面所调用命令了。如果你会调用modelsim的编译命令,也一样能用ctrl+B调用它。
13、添加全文件补全功能。
如上图,添加一个all autocomplete插件,让代码补全功能从所有打开的文件里去匹配,而不是只在当前文件里匹配。
14、让单引号不再自动补全。
sublime自带的单引号补全,让我们在写1'b1的时候,带来麻烦,所以要取消此功能。
进入默认的键绑定,把以下内容注释掉。
15、增加ctags的导航功能。
先在sublime下,安装好ctags插件。
下载ctags.exe,网址:http://prdownloads.sourceforge.net/ctags/ctags58.zip
把这个ctags58.zip解压在Sublime的安装目录下,我这里是D:\Sublime Text 2\ctags58
请注意,ctags.exe的目录,不能搞错。
此外,sublime需要使用ctags插件来调用ctags.exe,而程序包里面是ctags插件,上面的网址下载的是ctags.exe,这是两个不同的东西。
我这里是D:\Sublime Text 2\ctags58\ctags.exe
然后在sublime下,Preferences->浏览程序包,进入ctags目录,打开CTags.sublime-settings
把command一行,修改成如下图所示。
然后,参照上面的qii编译系统一例,生成一个ctags编译系统,ctags.sublime-build文件内容如下:
{
"cmd": ["D:\\Sublime Text 2\\ctags58\\ctags.exe" ,"-R", "-f" ,"$file_path/.tags"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.v, source.V, source.VT, source.vt"
}
在你的.v文件,使用ctags编译系统,ctrl+B,这样在你的.v文件的目录下,会生成.tags文件。
接下来,在你的.v文件下,就可以使用Navigate to Defination。
这样,可以导航到该变量的定义处。
16、自动生成例化文件。
这个功能需要两个插件,ctags和Verilog Automatic。
其中Verilog Automatic,就是能够一键生成文件注释头的插件,此外还有个autoinst的功能。
先打开你的.v文件,使用ctags编译系统,ctrl+B,这样在你的.v文件的目录下,会生成.tags文件。
在module内部输入/*autoinst*/
然后把鼠标的光标移动到BIN2BCD的任一字符,输入Shift+F7,就生成如下图所示。
其中,你可以写个snippet,生成补全/*autoinst*/。
17、修改大小写快捷键。
大小切换也比较常用,但是ctrl+K ctrk+U,确实比较麻烦,所以也改一下。
打开,Preferences->键绑定-默认,修改成如下图所示。
然后,输入ctrl+u,可以切换到大写;ctrl+o可以切换到小写。
18、让sublime关联.vt文件。
使用quartus生成的testbench模板,是.vt文件,而我们的verilog插件没有关联的.vt文件,导致无法使用语法高亮。
Preferences->浏览程序包,进入user目录,打开Verilog.tmLanguage文件。
增加上图所示,白色方框内容,保存,即可关联.vt和.VT文件了。
19、vi模式。
sublime自带vi模式,在package enable选中vintage即可。另外,需要安装VintageEx、sublimeblockcursor插件。
vi模式,不影响代码片段等功能。
20、可移植性。
在windows下配置好的sublime,只要把Packages文件夹copy到linux或者mac下的sublime安装目录,所有插件都齐全了。
21.文本快捷切换。
Sublime Text 2 里只需按下 Ctrl+P(Win) 或 Shift+Command+P(Mac) 即可调出文件切换面板,接着你只需输入文件名,回车后即可瞬间切换过去!并且它支持模糊匹配,只需输入你记得的一部分即可,譬如我想要找一个“www.iplaysoft.com.php”的文件来编辑,那么你只需要输入“ipl”或者是”ips.c”这样的字符都能匹配出来,这个特性非常非常的棒!(引自:https://www.iplaysoft.com/sublimetext.html)
转载自:http://blog.csdn.net/k331922164/article/details/48092291
使用sublime模板加快编码效率的更多相关文章
- C++模板元编程----选择排序
目录 目录 前言 代码详解 数据的结构 数据的操作 分割向量 合并向量 寻找最大值 排序 总结 前言 模板在C++一直是比较神秘的存在.STL和Boost中都有大量运用模板,但是对于普通的程序员来说, ...
- Zabbix(一) : 简介以及Server端安装
一.什么是Zabbix? zabbix由AlexeiVladishev首先开发,目前在维护的是Zabbix SIA.ZABBIX是一个企业级的开源分布式监控解决方案. zabbix为监控网络和服务器的 ...
- sublimeText3和phpstrom使用
一.sublimtext3 下载地址:http://www.sublimetext.com/3 1.1 安装package control 插件,用来获取和管理插件(sublime包管理工具 ...
- sublime SublimeTmpl 添加vue模板
sublime2安装时候报错在control中加下面的代码 重新启动,可以进行安装 import urllib2,os; pf='Package Control.sublime-package'; i ...
- sublime插件FileHeader使用,自动的添加模板
sublime插件FileHeader能够自动的监测创建新文件动作,自动的添加模板 下载地址:https://github.com/shiyanhui/FileHeader FileHeader能够自 ...
- sublime使用记录之快速生成html5基本模板
sublime使用记录之快速生成html5基本模板 效果如图:
- Sublime text3 创建html模板
最近接手了公司官网跟新的任务,需要编写HTML页面.页面中存在大量重复内容(导航条.页脚.侧边栏等),每次复制粘贴也不是个事,网上搜了相关的HTML模板创建问题,还找到了.楼主使用的是Sublime ...
- Sublime Text3 配置C++(附oj刷题常用模板)
# 下载对应平台的sublime sublime最新版下载, 字体样式个人喜欢Consolas, 另附注册码: -– BEGIN LICENSE -– TwitterInc 200 User Lice ...
- 让Sublime Text3支持新建.vue高亮显示模板
首先要使用Package Control,安装要好 Vue Syntax Highlight和sublimetmpl插件. 1, 在Packages\SublimeTmpl\templates目录下新 ...
随机推荐
- [Android Pro] 使用CursorLoader异步加载数据 from 3.0
Android 3.0引入了CursorLoader实现异步加载数据,为了避免同步查询数据库时阻塞UI线程的问题.在API 11之前可以通过下载支持库,来使之前的系统支持此功能,下载页面为 http: ...
- ylbtech-LanguageSamples-NamedAndOptional(命名和可选参数)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-NamedAndOptional(命名和可选参数) 1.A,示例(Sample) 返回顶 ...
- KISS
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 ...
- 在MySQL中使用子查询和标量子查询的基本用法
一.MySQL 子查询 子查询是将一个 SELECT 语句的查询结果作为中间结果,供另一个 SQL 语句调用.MySQL 支持 SQL 标准要求的所有子查询格式和操作,也扩展了特有的几种特性.子查询没 ...
- eslint 错误
是因为你使用了eslint,这个是eslint的规范报错,能不用分号就不用分号. 去掉封号就醒了. 另外,方法的()前面也要有空格,不然页报错: indentifier is not in a cam ...
- 2017.12.12 架构探险-第一章-从一个简单的web应用开始
参考来自:<架构探险>黄勇 著 1 使用IDEA搭建MAVEN项目 1.1 搭建java项目 (1)创建java项目 为了整个书籍的项目,我创建了一个工程,在这个工程里创建了每个章节的mo ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 Windows Phone
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 Windows Phone 和.NET托管代码和 ...
- Spring集成ActiveMQ配置 --转
转自:http://suhuanzheng7784877.iteye.com/blog/969865 集成环境 Spring采用2.5.6版本,ActiveMQ使用的是5.4.2,从apache站点可 ...
- Solidworks如何设置零件材料,如何评估零件质量
右击材质,然后编辑材料,在弹出菜单中在Solidworks materials中选择零件材料(一般钢或者铁,注意质量密度是否跟你需要的一致),完成之后点击应用和关闭 在评估-质量属性中可以看到当前 ...
- 自开发实现Quartz Web管理
网上能找到的QuartzWeb管理的资料都是使用的一个国外人写的Quartz WebApp的东东.功能也非常全面. 可是作为自己的应用其有用不了那么多功能,一般我们仅仅要能够定义一个job,指定一个C ...