gVim编辑器——基本设置、常用命令、代码片段

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默认的文件编码格式是ANSI,而当里面有中文时则保存为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_ROOT\Applications\gvim.exe\shell\edit\command,如下图所示:

     ③在“ab默认”那鼠标右键点击修改,将其修改为 D:\Program Files\Vim\vim72\gvim.exe -p --remote-tab-silent "%1"

  这样用gVim打开多个文件时它就自动启用多标签模式了。

  缺点,无法再另外打开一个窗口显示代码,所以是否要这样设置得看个人喜好了。同时由于更改了注册表,可能导致Windows状态栏中的gVim图标异常显示,只需要按以下步骤即可恢复:

  ①新建TXT文档

  ②写上以下代码

taskkill /im explorer.exe /f
cd /d %userprofile%\appdata\local
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键,如果要达到程序换行的目的,用<Enter>就行了。因为安装时配置好了Verilog的使用,所以模板里的程序被调出时会按Verilog语法自动对齐。上图的模板在用gVim正常写代码时,输入zh2按Enter键即可出现模板,如下所示:

  将自己常用的代码片段都设置进去,以后写代码就方便多啦!

 

六、gVim中文文档

https://github.com/yianwillis/vimcdoc/releases

 

七、出现过的问题

1.打开文件时下方出现红色警告:E576: viminfo: 缺少 '>' 位于行: 

  解决办法:删除C:\Users\lenovo\_viminfo   

  亲测有效!



作者:咸鱼FPGA

出处:

        https://www.cnblogs.com/xianyufpga/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值