gVim是一款强大的编辑器,可以满足大部分语言的编程需要。尤其是其自带的模板定制功能对于Verilog来说非常受用。然而gVim有很多操作是不同于其他编辑器的,这让很多初学者望而却步,因此,本文将gVim的一些常用技巧列举了出来。
一、_vimrc中可能用到的设置
1.gVim的默认设置
安装和配置好gVim后,在Program Files (x86)Vim目录下有个“_vimrc”文件,双击选择gVim软件打开,这里可以对gVim进行一些默认设置,我的设置如下所示
1 "乱码设置
2 "-----------------------------------------------------------------
3 let &termencoding=&encoding
4 set fileencodings=utf-8,gbk,gb18030,gb2312,cp936,ucs-bom,latin1
5
6 "常用设置
7 "-----------------------------------------------------------------
8 set showmatch "高亮显示匹配的括号
9 set matchtime =2 "高亮括号的闪烁时间
10 set shiftwidth =4 "自动缩进符
11 set tabstop =4 "tab制表符
12 set softtabstop =4 "4个空格符视为tab符
13 set expandtab "tab符视为空格符
14 set smarttab "使用退格键时辨别tab
15 set number "行号显示
16 "set cursorline "突出显示当前行
17 set lbr "折行显示时不折断单词
18 set guifont=Consolas:h16 "Consolas字体和16字号
19 "set guifont=Courier_New:h16 "Courier_New字体和16字号
20 "set guifont=新宋体:h16:cGB2312 "新宋体,16字号,gb2312编码方式
21 set nobackup "不生成备份文件~
22 set noswapfile "不生成交换文件.swp
23 "set lines=30 columns=100 "启动时窗口大小设置
24 au GUIEnter * simalt ~x "启动时窗口最大化
25 "set nowrap "不折行
26 "set guioptions+=b "添加水平滚动条
27 filetype indent on "载入相关缩进格式实现自动缩进
这些设置都写了注释,就不一一解释了。重点说一下乱码现象,什么情况会出现乱码?
①小伟用gVim编写.v文件里面有中文注释,文件被gVim默认保存为ANSI格式。之后小马用quartus ii打开此文件看到中文是乱码。
②小马很生气,于是用quartus ii在里面写了一句 I am angry 并保存,因为里面有中文(虽然是乱码)所以文件被quartus ii默认保存为UTF-8格式。之后小伟用gVim打开此文件看到所有中文都乱码了,全乱套了!
这是因为quartus ii默认的文件编码格式是ANSIvim中文乱码vim中文乱码,而当里面有中文时则保存为UTF-8。gVim默认情况下不管有没有中文都是ANSI。quartus ii无法识别ANSI格式下的中文,而gVim又无法识别UTF-8格式下的中文。能不能把gVim设置成和quartus ii一样,无中文时是ANSI格式有中文时是UTF-8格式呢?可以的,只要在“_vimrc”文件里添加了上述代码中3-4行语句,这样使得gVim编码和显示时都按utf-8,gbk,gb18030,gb2312,cp936,ucs-bom,latin1的顺序去探测,这样用gVim保存文件时和quartus ii编码方式完全一致,无中文时是ANSI格式,有中文时是UTF-8格式,而且查看文件时也不再显示乱码了。(看.v文件是什么编码格式保存的只要.v文件右键选择记事本打开,点另存为就能看到编码格式了。)网上很多别的教程说修改encoding=utf-8,可是这样一改菜单就乱码了,于是又加一些改变菜单乱码的语句,打开一看貌似好了。如果你这样做会发现两个问题:一是这种方式下中文的双引号 “ ” 是不正常显示的;二是这种方式下模板定制时不能出现汉字,否则调出模板时的汉字是乱码。所以还是按上面的方法来吧。
补充:
③问题解决后,小蔡用quartus ii打开.v文件后,又用gVim打开这个.v文件修改并保存,回到quartus ii界面加载内容后发现这个里面的中文又乱码了!说好的解决乱码呢?
对于这种情况就算换成notepad++也是一样乱码,纯粹是因为quartus ii自带的编译器太垃圾了。所以quartus ii自带编译器打开了代码时最好直接在里面修改保存,或者叉掉.v文件后再用第三方编译器修改保存。当然,如果弃用quartus ii自带编译器,让quartus ii与第三方编译器直接关联好,那么这个问题也就不存在了。
2.gVim多标签设置(慎用)
gVim是默认无标签的,多标签打开文件需要用命令,Windows下还是有点麻烦。但是可以通过对注册表进行操作达到默认多标签的修改。方法:
①打开Windows系统注册表,桌面左下角输入regedit即可进入注册表。
②找到”HKEY_CLASSES_ROOTApplicationsgvim.exeshelleditcommand,如下图所示:
③在“ab默认”那鼠标右键点击修改,将其修改为 D:Program FilesVimvim72gvim.exe -p –remote-tab-silent “%1”
这样用gVim打开多个文件时它就自动启用多标签模式了。
缺点,无法再另外打开一个窗口显示代码,所以是否要这样设置得看个人喜好了。同时由于更改了注册表,可能导致Windows状态栏中的gVim图标异常显示,只需要按以下步骤即可恢复:
①新建TXT文档
②写上以下代码
taskkill /im explorer.exe /f
cd /d %userprofile%appdatalocal
del iconcache.db /a
start explorer.exe
exit
③文档重命名为xxx.bat
④双击允许,重启软件
⑤若无法解决,就以管理员身份运行
二、常用命令,这些命令可满足日常90%编码需要
1 一、编辑模式(i键光标停在左侧,a键光标停在右侧)
2
3 1.补全:ctrl + p,按住ctrl键再按p键可以进行代码选择,按Enter键确认
4
5
6 二、命令模式(Esc键)
7
8 1.复制、粘贴、删除
9 (1)yy :光标所在行,复制整行
10 (2)y5y :光标所在行往下数,复制5行
11 (3)p :光标所在行,粘贴
12 (4)5p :光标所在行往下数,粘贴5次
13 (5)dd :光标所在行,删除整行
14 (6)d5d :光标所在行往下数,删除5行
15
16 2.搜索
17 (1)搜索单个单词 :*键
18 (2)搜索单词局部 :/需要选中的代码,按Enter键。
19 (3)搜索字符“/” :需添加,如“//”表示搜索字符“/”
20 (4)向上搜索 :N
21 (5)向下搜索 :n
22 (6)退出 ::noh,按Enter键
23
24 3.跳转
25 (1)文件头 :gg
26 (2)文件尾 :G
27 (3)第7行 ::7,按Enter键
28 (4)行头 :^
29 (5)行尾 :$
30
31 4.替换
32 (1)局部替换 :第20行到第30行的i0替换成i1::20,30s/i0/i1/gc,按Enter键,按y表同意替换,按n表跳过的替换
33 (2)全局替换 ::%s/i0/i1/gc,按Enter,按Enter键,按y表同意替换,按n示跳过替换
34
35 5.分窗口
36 (1)上下窗口 ::sp,按Enter键
37 (2)左右窗口 ::vs,按Enter键
38 (3)退出 ::q,按Enter键
39
40 6.列操作:
41 (1)选中 :按住Alt键,用鼠标键选中范围
42 (2)删除 :选中需要删除的范围,按删除键
43 (3)插入 :输入数据,再按ese退出
44
45
46 三、列操作模式(命令模式下按ctrl + q键)
47
48 1.选中 :hjkl表示左下上右
49 2.删除 :按delete删除
50 3.插入 :按I再输入数据,按ese退出
51 4.鼠标 :可先鼠标选中范围,再ctrl+q进入列操作模式
52 5.如果不习惯,建议直接使用命令模式下的列操作方法
53
54
55 四、其他常用功能
56
57 1.代码文件对比功能
58 菜单 >>> 文件 >>> 分割比较,把文件添加进来,gVim自动分成两个窗口,自动将异同显示高亮
59
60 2.录制命令功能
61 qa开始录制,开始操作命令,q结束录制,100@a表示重复命令100次
三、gVim中文速查表(搬运)
View Code
四、gVim记忆图(搬运)
五、代码片段
安装和配置好gVim后,在Program Files (x86)Vim目录下有个“_vimrc”文件,双击选择gVim软件打开,在里面添加代码片段就行了。如果做模板时就打开了一个.v文件,保存后,在那个.v文件中是无法马上使用刚刚添加的代码片段的,得关闭重新打开才行。代码片段格式如下:
“ 双引号是注释,相当于我们常用的 // ,:ab是命令,sx1是代码片段的调出名称,然后就是模板了。所以格式是 ab: 名称 代码,注意一下空格符。
编写模板程序时可以放心的打空格了。但是注意一点,这里不能按Enter键,如果要达到程序换行的目的,用就行了。因为安装时配置好了Verilog的使用,所以模板里的程序被调出时会按Verilog语法自动对齐。上图的模板在用gVim正常写代码时,输入zh2按Enter键即可出现模板,如下所示:
将自己常用的代码片段都设置进去,以后写代码就方便多啦!
六、gVim中文文档
七、出现过的问题
1.打开文件时下方出现红色警告:E576: viminfo: 缺少 ‘>’ 位于行:
解决办法:删除C:Userslenovo_viminfo
亲测有效!
限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信: