设为首页 收藏本站
查看: 701|回复: 0

[经验分享] Env:Gvim开发环境配置笔记--Windows篇

[复制链接]

尚未签到

发表于 2017-6-28 17:50:15 | 显示全部楼层 |阅读模式
  转自:http://www.cnblogs.com/xiekeli/archive/2012/08/13/2637176.html
  加班的时候,听同事提到gvim在windows下的使用,然后突然想起来几年前实习的时候,在实习公司也用的GVIM,但是想不起来为什么用这个工具了,所以就找了篇博文,看了看,然后在自己的电脑上重新配了下,过程如下。
  环境:Windows7 旗舰版
  1、安装Gvim7.3 : 下载地址http://www.vim.org/download.php#pc。
  2、安装中文帮助:vimcdoc-1.8.0-setup.exe 地址http://vimcdoc.sourceforge.net/
  会自动识别gvim的安装路径,
  安装完后,gvim菜单中文出现乱码,在_vimrcset文件中增加:



1 " 配置多语言环境,解决中文乱码问题
2
3 if has("multi_byte")
4     " UTF-8 编码
5     set encoding=utf-8
6     set termencoding=utf-8
7     set formatoptions+=mM
8     set fencs=utf-8,gbk
9     if v:lang =~? '^/(zh/)/|/(ja/)/|/(ko/)'
10         set ambiwidth=double
11     endif
12     if has("win32")
13         source $VIMRUNTIME/delmenu.vim
14         source $VIMRUNTIME/menu.vim
15         language messages zh_CN.utf-8
16     endif
17 else
18     echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
19 endif
  输入:help,显示中文帮助,说明安装成功:
DSC0000.png

  3、设置语法高亮
  编辑安装目录下的_vimrc文件(例如:我的在D:\Program Files\Vim)
  加入以下内容:



1 set nu!
2 colorscheme desert
3 syntax enable
4 syntax on
5 set nobackup
  再打开gvim,打开一个源代码文件:
DSC0001.png

  这些设置使得gvim可以显示行号,并使用了desert配色方案,而且打开了语法高亮功能(用不同颜色显示注释、关键字、字符串等)。
我们还可以让函数名也高亮起来,
  这里对C、C++的代码进行配置:在D:\Program Files\Vim\vim73\syntax下找到 c.vim 和 cpp.vim,分别添加以下内容:



1 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
2 syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
3 hi cFunction gui=NONE guifg=#B5A1FF
  重新打开gvim,效果如下:
DSC0002.png

  
  4、安装Ctags
  下载地址:http://ctags.sourceforge.net/,在解压后将文件夹中的ctags.exe复制到D:\ProgramFiles\Vim\vim73下,并编辑_vimrc文件,添加以下内容:



1 set tags=tags;
2 set autochdir
  然后将D:\ProgramFiles\Vim\vim73加到环境变量的path中。在需要查看的源代码目录下执行命令ctags -R(通过cmd或者其他bash手段);然后再用gvim打开源代码文件:
DSC0003.png

  
  按住“CTRL”键,点击对应的函数名或“CTRL+]”,会自动跳转到函数的定义部分,“CTRL+T”则返回;
  5、源代码分析工具 taglist
  下载地址:http://vim.sourceforge.net/scripts/script.php?script_id=273,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到d:\Program Files\Vim\vim73下的doc及plugin中。
在_vimrc文件中加入以下内容:



1 let Tlist_Show_One_File=1
2 let Tlist_Exit_OnlyWindow=1
   DSC0004.png
  
  用gvim打开代码文件(已生成过tags文件),输入:Tlist,TagList窗口即出现在左侧。再输入:
  :Tlist,左侧栏消失;左侧栏列出了当前文件中的所有宏,  全局变量,  函数名等,  在查看代码时用这个窗口总揽全局,  切换位置相当方便
  设置自动Taglist自动开启:



1 let Tlist_Auto_Open=1
   DSC0005.png
  
  6、文件浏览组件 WinManager
  winmanager.zip 地址http://www.vim.org/scripts/download_script.php?src_id=754
  将winmanager.zip解压和拷贝,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到d:\Program Files\Vim\vim73下的doc及plugin中
  在_vimrc文件中加入以下内容:



1 let g:winManagerWindowLayout='FileExplorer|TagList'
2 nmap <silent> <F8> :WMToggle<cr>
  设置自动打开Winmanager:



1 let g:AutoOpenWinManager = 1
  同时在winmanager.vim中加入一段话:



"set auto open Winmanager
if g:AutoOpenWinManager
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w
endif
  :如果设置Winmanager自动开,那么Taglist自动open变量需要关闭,否则会出现两个导航栏。
  用gvim打开代码文件,normal状态下按下F8可以打开关闭, 窗口如下:
DSC0006.png

  左上角是winmanager 浏览文件的窗口,左下角的是TagList窗口;
  7、多文档编辑
  minibufexpl.vim 地址http://www.vim.org/scripts/download_script.php?src_id=3640
  解压后将将minibufexpl.vim复制到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:



1 let g:miniBufExplMapCTabSwitchBufs=1
2 let g:miniBufExplMapWindowsNavVim=1
3 let g:miniBufExplMapWindowNavArrows=1
  用GVIM :e打开多个源代码文件后,如图:
DSC0007.png

  ctrl+Tab,切换到前一个buffer,并在当前窗口打开文件;
ctrl+shift+Tab,切换到后一个buffer,并在当前窗口打开文件;
ctrl+箭头键,可以切换到上下左右窗口中;
ctrl+h,j,k,l,切换到上下左右的窗口中。
  这样可以完成多个标签页的切换
  ------------------------------------------------------------------------本人配置到这-----------------------------------------------------------------------
  8、在工程中快速查找
  grep.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7645
  解压后把grep.vim文件拷贝到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
  nnoremap <silent> <F3> :Grep<CR>
  因为windows下是不带grep的,需要下载Grep for Windowshttp://gnuwin32.sourceforge.net/packages/grep.htm
  下载后在环境变量中增加grep的路径;
  用gvim打开一个源代码文件,光标选择需要查找的内容,按F3,确定要查找的内容和搜索范围,gvim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果
DSC0008.png

  9、h\c切换(针对C、C++)
  下载插件:a.vim 地址http://www.vim.org/scripts/download_script.php?src_id=7218
  将a.vim复制到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:
nnoremap <silent> <F12> :A<CR>
用gvim打开源码文件后,按F12即可以在c/h文件中切换,也可以通过输入:A实现。
  10、高亮书签
  下载插件:visualmark.vim 地址http://www.vim.org/scripts/download_script.php?src_id=4700
  将visualmark.vim复制到d:\Program Files\Vim\vim73\plugin。
用gvim打开源码文件,将光标定位在需要添加书签的地方,按下ctrl+F2,即添加了书签。
DSC0009.png

  使用F2在书签之间正向切换,shift+F2反向切换。
  11、Python代码补全
  下载插件pydiction-1.2.zip
  解压后,将里面的python_pydiction.vim文件复制到D:\Program Files\Vim\vimfiles\ftplugin
  将complete-dict 和 pydiction.py复制到D:\Program Files\Vim\vimfiles\ftplugin\pydiction
  在_vimrc文件中增加配置如下:
  filetype plugin on  “启用filetype插件
  let g:pydiction_location = 'D:\Program Files\Vim\vimfiles\ftplugin\pydiction\complete-dict'
let g:pydiction_menu_height = 20 ”设置弹出菜单的高度,默认是15
  用gvim打开一个py文件,输入row+[tab],就可以看到自动补全的代码选项了
DSC00010.png

  12、python编译
  下载VimPdb,解压后拷贝VimPdb.py,VimPdb.vim到plugin即可。
  用vim代开python代码文件,按F5运行,然后按F2设置断点,在运行到断点后可以用按F12可以查看Stack Trace,F3查看变量和参数值。
DSC00011.png

  不过这种方法使用了一下,经常会死掉,不知道为什么,所以在网上找到了另外一种方法:
  在_vimrc增加




DSC00012.gif
python << EOF
import time
import vim
def SetBreakpoint():
nLine = int( vim.eval( 'line(".")'))
strLine = vim.current.line
i = 0
strWhite = ""
while strLine == ' ' or strLine == "\t":
i += 1
strWhite += strLine
vim.current.buffer.append(
"%(space)spdb.set_trace() %(mark)s Breakpoint %(mark)s" %
{'space':strWhite, 'mark': '#' * 30}, nLine - 1)
for strLine in vim.current.buffer:
if strLine == "import pdb":
break
else:
vim.current.buffer.append( 'import pdb', 0)
vim.command( 'normal j1')
break
vim.command( 'map <C-M> :py SetBreakpoint()<cr>')
def RemoveBreakpoints():
nCurrentLine = int( vim.eval( 'line(".")'))
nLines = []
nLine = 1
for strLine in vim.current.buffer:
if strLine == 'import pdb' or strLine.lstrip()[:15] == 'pdb.set_trace()':
nLines.append( nLine)
nLine += 1
nLines.reverse()
for nLine in nLines:
vim.command( 'normal %dG' % nLine)
vim.command( 'normal dd')
if nLine < nCurrentLine:
nCurrentLine -= 1
vim.command( 'normal %dG' % nCurrentLine)
vim.command( 'map <C-U> :py RemoveBreakpoints()<cr>')
vim.command( 'map <C-D> :!python %<cr>')
EOF

  然后在要调试的代码里面用ctrl-M设断点
ctrl-D运行
DSC00013.png

DSC00014.png

  13、Python代码检查
  下载pyflakes,解压缩后把pyflakes.vim文件和pyflakes目录拷贝套ftplugin\python目录中打开一个有问题的python源代码文件,执行命令:cc,即可进行代码检查:
DSC00015.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389074-1-1.html 上篇帖子: Windows上编译GRPC 下篇帖子: C# 实现windows 系统服务(全,含代码)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表