文档章节

Gvim开发环境配置笔记--Windows篇

随影求是
 随影求是
发布于 2013/12/29 20:41
字数 1606
阅读 227
收藏 16
点赞 0
评论 3

环境: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文件中增加:

" 配置多语言环境,解决中文乱码问题

if has("multi_byte") 
    " UTF-8 编码 
    set encoding=utf-8 
    set termencoding=utf-8 
    set formatoptions+=mM 
    set fencs=utf-8,gbk 
    if v:lang =~? '^/(zh/)/|/(ja/)/|/(ko/)' 
        set ambiwidth=double 
    endif 
    if has("win32") 
        source $VIMRUNTIME/delmenu.vim 
        source $VIMRUNTIME/menu.vim 
        language messages zh_CN.utf-8 
    endif 
else 
    echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte" 
endif

     输入:help,显示中文帮助,说明安装成功:

Image

3、设置语法高亮

编辑安装目录下的_vimrc文件(例如:我的在D:\Program Files\Vim)

     加入以下内容:

     set nu!

     colorscheme desert 
     syntax enable 
     syntax on

再打开gvim,打开一个源代码文件:

Image(1)

这些设置使得gvim可以显示行号,并使用了desert配色方案,而且打开了语法高亮功能(用不同颜色显示注释、关键字、字符串等)。 
我们还可以让函数名也高亮起来,

这里对C、C++的代码进行配置:在D:\Program Files\Vim\vim73\syntax下找到 c.vim 和 cpp.vim,分别添加以下内容: 
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2 
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1 
hi cFunction gui=NONE guifg=#B5A1FF

重新打开gvim,效果如下:

Image(2)


4、程序中跳转

将ec57w32.zip解压,在解压后将文件夹中的ctags.exe复制到D:\ProgramFiles\Vim\vim73下,并编辑_vimrc文件,添加以下内容: 
set tags=tags; 
set autochdir

 

然后将D:\ProgramFiles\Vim\vim73加到环境变量的path中。在需要查看的源代码目录下执行命令ctags -R;然后再用gvim打开源代码文件:

Image(3)


按住“CTRL”键,点击对应的函数名或“CTRL+]”,会自动跳转到函数的定义部分,“CTRL+T”则返回;

5、源代码分析工具 taglist

将taglist_45.zip解压,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到d:\Program Files\Vim\vim73下的doc及plugin中。 
在_vimrc文件中加入以下内容: 
let Tlist_Show_One_File=1 
let Tlist_Exit_OnlyWindow=1

Image(4)


用gvim打开代码文件(已生成过tags文件),输入:Tlist,TagList窗口即出现在左侧。再输入:

:Tlist,左侧栏消失;左侧栏列出了当前文件中的所有宏,  全局变量,  函数名等,  在查看代码时用这个窗口总揽全局,  切换位置相当方便

Image(5)



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文件中加入以下内容:

let g:winManagerWindowLayout='FileExplorer|TagList' 
nmap wm :WMToggle<cr>

用gvim打开代码文件,normal状态下输入命令"wm",窗口如下:

Image(6)

左上角是浏览文件的窗口,左下角的是TagList窗口;

7、多文档编辑

minibufexpl.vim 地址http://www.vim.org/scripts/download_script.php?src_id=3640

解压后将将minibufexpl.vim复制到d:\Program Files\Vim\vim73\plugin,在_vimrc中添加:

let g:miniBufExplMapCTabSwitchBufs=1 
let g:miniBufExplMapWindowsNavVim=1 
let 
g:miniBufExplMapWindowNavArrows=1

用GVIM打开多个源代码文件后,如图:

Image(7)

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 Windows http://gnuwin32.sourceforge.net/packages/grep.htm

下载后在环境变量中增加grep的路径;

用gvim打开一个源代码文件,光标选择需要查找的内容,按F3,确定要查找的内容和搜索范围,gvim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果

Image(8)

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,即添加了书签。

Image(9)

使用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],就可以看到自动补全的代码选项了

Image(10)

12、python编译

下载VimPdb,解压后拷贝VimPdb.py,VimPdb.vim到plugin即可。

用vim代开python代码文件,按F5运行,然后按F2设置断点,在运行到断点后可以用按F12可以查看Stack Trace,F3查看变量和参数值。

Image(11)

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

在_vimrc增加

复制代码
python << EOF import time
import vim
def SetBreakpoint():
    nLine = int( vim.eval( 'line(".")'))
    strLine = vim.current.line i = 0 strWhite = "" while strLine[i] == ' ' or strLine[i] == "\t":
        i += 1 strWhite += strLine[i] 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运行

 

 

13、Python代码检查

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

Image(12)

本文转载自:http://www.cnblogs.com/xiekeli/archive/2012/08/13/2637176.html

共有 人打赏支持
随影求是
粉丝 35
博文 182
码字总数 6102
作品 0
南岸
高级程序员
加载中

评论(3)

随影求是
随影求是

引用来自“Adven”的评论

作为懒人,表示头大。
顺便推荐一个,集成和配置了很多东西:
http://vim.spf13.com/
spf13-vim is a distribution of vim plugins and resources for Vim, GVim and MacVim

多谢你的推荐,确实比较强大,简单
Adven
Adven
作为懒人,表示头大。
顺便推荐一个,集成和配置了很多东西:
http://vim.spf13.com/
spf13-vim is a distribution of vim plugins and resources for Vim, GVim and MacVim

mahengyang
mahengyang
佩服,这一圈折腾没少费事吧
Ubuntu10.10下编译安装vim 7.3

vim7.3正式版发布了,Ubuntu 10.10中用apt-get安装的vim的版本是7.2,想体验7.3的新功能,就只能自己编译了。 下面是最新版安装笔记: 1. 加入必需的终端库: sudo apt-get install libncur...

durban
2012/05/08
0
0
Linux tty字符终端下VIM显示混乱的解决方法

前几天自己配好了vim作为C语言开发环境,加了几个插件,语法高亮、字体大小都改了改,在gvim下用着很舒服,在图形界面的终端窗口下使用vim也是很舒服,但是偶然发现到了tty虚拟终端下就挂了。...

Kernel开发者
06/26
0
0
windows 上 gvim 的编码设置

这个问题困扰我多年,Windows系统默认的编码是cp936,所以用gvim一打开文件,默认是用gb2312编码打开的。我写的程序代码里,如果出现unicode文字的话,基本都会设置为utf8,所以每次都得手动...

不必在乎朕是谁
2013/01/22
0
0
IDE---GVim各种功能的实现原理

经过几天的配置GVim,使他支持php的开发,用来替换大型的IDE,这东西挺笨重的 其实他的配置是很简单的,我的Gvim最后我需要的功能全部实现了,最重要的是支持函数的自动提示,错误代码的提示...

durban
2012/02/18
0
0
用Gvim建立IDE编程环境 (Windows篇)

本文源自:http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx。 0.准备软件及插件。 (a)gvim72.exe 地址ftp://ftp.vim.org/pub/vim/pc/gvim72.exe。 (b)vimcdoc-1.7.0-setup.exe......

卡得侬
2012/03/24
0
0
Windows下vim方式操作软件+Gvim使用

Vim+ Total Command http://sourceforge.net/p/viatc/home im key At Total Commander 也许你和我一样,使用着两大神器, Vim 和 Total Commander Vim的模式与快捷键让人着迷,TC的高效和强大...

AlphaJay
2011/08/28
0
3
WINDOWS下GVIM的块选

LINUX下是Ctrl-v,但是在windows下的GVIM,Ctril-v是粘贴。 WINDOWS下的GVIM的块选命令是: V+Ctrl-q,然后使用hjkl移动。 先按V,在按组合键Ctrl-q,然后使用hjkl来移动光标选择块。...

lyle_5
2012/09/11
0
0
Gnome 下 gvim 启动最大化

1,安装 wmctrl: sudo apt-get install wmctrl 2,在 ~/.vimrc 中加上: function Maximize_Window() silent !wmctrl -r :ACTIVE: -b add,maximizedvert,maximizedhorz endfunction 3,在 ......

vzomik
2010/06/08
0
0
一、vim插件NERD_tree.vim

安装NERDtree.vim。找到NERDtree.zip,下载。把解压缩后的NERDtree.vim复制到$.vim/plugin目录下,把NERD_tree.txt复制到$.vim/doc目录下。然后打开gvim,在命令窗口中键入“gvim“,在gvi...

cbliu
2013/10/10
0
0
ubuntu下gvim启动出现gtk warning Invalid input string

问题: ubuntu 10.04 Lucid环境下安装gnome-vim后,输入gvim命令,启动图形界面时报告warning,能启动图形界面但无法正常显示中文菜单。 错误信息: 引用: Gtk-WARNING **: Invalid input str...

任远
2011/06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python以太坊类库web3.py概览

python通过web3.py库与以太坊交互共同入口是web3对象。web3对象提供API接口,python开发应用与以太坊进行交互如钱包创建、支付、转账等连接JSON-RPC服务器进行。 Providers提供者 Providers使...

智能合约
1分钟前
0
0
【Android学习笔记】设置App启动页

先将启动页放到项目资源中,图片一般是1080*1920的jpg。 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: >>>阅读全文

全部原谅
2分钟前
0
0
什么是React-redux、为什么使用React-redux、怎么使用React-redux

1、什么是React-redux React-redux是用于连接React和Redux的 2、为什么使用React-redux 使用React-redux可以使redux部分代码更简洁更明了,比如组建中需要使用到的数据都在mapStateToProps方...

kimyeongnam
5分钟前
0
0
Spring核心——Stereotype组件与Bean扫描

在注解自动装载中介绍了通过注解(Annotation)自动向Bean中注入其他Bean的方法,本篇将介绍通过注解(Annotation)向容器添加Bean的方法。 Spring的核心容器提供了@Component和@Bean注解来标...

随风溜达的向日葵
5分钟前
0
0
利用世界杯,读懂 Python 装饰器

Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 今天就结合最近的世界杯带大家理解下装饰器。...

猫咪编程
8分钟前
0
0
flink fold example

flink fold例子 import org.apache.flink.api.common.functions.*;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.S......

coord
10分钟前
0
0
c++ qt 组播总结

每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂。 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看...

backtrackx
14分钟前
0
0
Sublime text2安装json格式化插件SublimePrettyJson[Windows]

一、下载SublimePrettyJson插件包 https://github.com/dzhibas/SublimePrettyJson 二、将下载的文件解压放到在package目录下面 C:\Users\lucky\AppData\Roaming\Sublime Text 3\Packages 每个......

lazy~
14分钟前
0
0
安装vue-cli 报4058错误

1. 4058是网络代理错误。 安装淘宝源修改一下就可以了: npm --registry https://registry.npm.taobao.org info underscore 改为cnpm执行: cnpm install --global vue-cli 安装成功: 试试版...

MrBoyce
15分钟前
0
0
CPU飙升分析

1、top -----看具体的进程 2、top -H -p pid ------该进程的线程 3、printf 0x%x 15248 ------将线程改为16进制 4、jstack 进程...

北极之北
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部