最近由于各种原因,IDE从source insight换成了vim,参考了诸多博客的文章,折腾了好久折腾了个大概的样子,现在总结一下经验:

主要参考:

改造vim变成source insight

Winxp下 gvim 编程环境搭建

VIM学习笔记 折叠 (Fold)

效果图(新:Taglist+NERD_Tree+SrcExpl),图为自动补全状态:

效果图(旧:WinManager+SrcExpl):

1. 安装:

下载gvim8.0安装就可以了

刚装完是这个样子的:

2. 插件安装:

选用的插件如下表 (尝试后发现WinManager和SrcExpl冲突,改用Trinity)

插件名

作用

下载地址

 安装方法(vimrc在后面统一配置)

taglist

基于ctags的taglist

http://www.vim.org/scripts/script.php?script_id=273

解压到.\vim80目录下面

WinManager

将FileExplore和Taglist整合

http://www.vim.org/scripts/script.php?script_id=95

解压到.\vim80目录下面

Ctags

ctags,用于生成tag文件(符号链接)

http://ctags.sourceforge.net

将ctags.exe放到.\vim80路径下,并将vim80添加到环境变量/ctags.exe放到system32路径下

Snipmate

提供常用代码快速输入(Tab补齐)

http://www.vim.org/scripts/script.php?script_id=2540

解压到.\vimfiles目录下面

Supertab

用Tab键自动补齐

http://www.vim.org/scripts/script.php?script_id=1643

Open the file in vim ($ vim supertab.vmb)
Source the file (:so %)

SrcExpl

实现source
insight的预览框的功能

http://www.vim.org/scripts/script.php?script_id=2179

解压到.\vimfiles目录下面

Cscope

ctags的强化版,不仅可以生成源tag还能生成调用tag

http://sourceforge.net/projects/mslk/files/

将压缩包解压并将目录加入环境变量path中

Trinity

NERD_Tree+taglist+SrcExpl的组合版

http://www.vim.org/scripts/script.php?script_id=2347

解压到.\vimfiles目录下面

3. 主题安装:

vim主题选用monokai,字体选用consolas

主题地址:https://github.com/sickill/vim-monokai

更改文件名为monokai.vim后放到vim80\colors\里

个人喜好的一些修改:(修改到monokai.vim对应的行)

  1. hi Search term=reverse cterm=NONE ctermfg=231 ctermbg=24 gui=NONE guifg=#f8f8f2 guibg=#AA0000
  2. hi Folded ctermfg=242 ctermbg=235 cterm=NONE guifg=#75715e guibg=#272822 gui=NONE
  3. hi FoldColumn ctermfg=242 ctermbg=235 cterm=NONE guifg=#75715e guibg=#272822 gui=NONE

  

4.vimrc更改:

在_vimrc文件后增加如下:

  1. "设置Taglist
  2. let Tlist_Show_One_File=1
  3. let Tlist_Exit_OnlyWindow=1
  4.  
  5. "使用F8打开Taglist
  6. "nmap <silent> <F8> :TlistToggle<CR>
  7. "通过WinManager插件来将TagList窗口和netrw窗口整合起来
  8. let g:winManagerWindowLayout='FileExplorer|TagList'
  9. "nmap <F8> :WMToggle<cr>
  10. "使用F9打开SrcExpl
  11. "nmap <F9> :SrcExplToggle<CR>
  12.  
  13. "Trinity 设置
  14. " Open and close all the three plugins on the same time
  15. nmap <F8> :TrinityToggleAll<CR>
  16. " Open and close the srcexpl.vim separately
  17. nmap <F9> :TrinityToggleSourceExplorer<CR>
  18. let g:SrcExpl_jumpKey = "<ENTER>"
  19. let g:SrcExpl_gobackKey = "<SPACE>"
  20. let g:SrcExpl_prevDefKey = "<F3>"
  21. let g:SrcExpl_nextDefKey = "<F4>"
  22.  
  23. "设置SuperTab,用tab键打开cppcomplet的自动补全功能。
  24. let g:SuperTabRetainCompletionType=2
  25. let g:SuperTabDefaultCompletionType="<C-X><C-O>"
  26. "显示行号
  27. set number
  28. "设置主题颜字体
  29. colorscheme monokai
  30. set guifont=Consolas:h12
  31. "为了使用智能补全,打开文件类型检测,关闭VI兼容模式
  32. filetype plugin indent on
  33. set nocp
  34. "字符匹配单词
  35. set incsearch
  36. "代码折叠
  37. set fdm=syntax
  38. set foldlevel=1
  39. set foldcolumn=2
  40. "不换行
  41. set nowrap
  42. "缩进设置
  43. set smartindent
  44. set tabstop=4
  45. set shiftwidth=4
  46. set expandtab
  47. set softtabstop=4

  

F8开启全部插件,F9开关SrcExpl(Trinity版)

Winmanager的设置被注视掉了(发现和SrcExpl冲突)

cscope设置:(我没用到)

详见:http://cscope.sourceforge.net/cscope_maps.vim

  1. "cscope
  2. nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
  3. nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>
  4. nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>
  5. nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR>
  6. nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR>
  7. nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
  8. nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
  9. nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR>

 

5. 一些其他设置:

tags生成(虽然Source Explore支持每次打开调用时更新,但如果首次打开没有tags会在当前目录生成,如果打开的是工程内部文件就会导致tags不全,所以首次运行最好生成一下)

  1. ctags -R ./Drvlib ./Source ./Include

cscope数据库生成(路径更改为自己的)

  1. find -P ./Drvlib ./Source ./Include > cscope.files
  2. cscope -bq

cscope数据库包含(路径更改为自己的)

  1. cscope add ..\cscope.out

  

windows下 gvim8.0 编译器配置的更多相关文章

  1. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  2. Windows下pry安装和配置

    Windows下pry安装和配置 pry是一个增强型的交互式命令行工具,比irb强大. 有自动完成功能,自动缩进,有颜色.有更强大的调试功能. pry 安装很简单. 在终端输入: gem instal ...

  3. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

  4. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

  5. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  6. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  7. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  8. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  9. windows下redis安装和配置

    windows下redis安装和配置 redis介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数 ...

随机推荐

  1. c++中的类之构造函数

    一.构造函数的缘由 本文我们主要来讲解c++中类的构造函数,其中涉及了深拷贝和浅拷贝的问题,这也是在面试笔试中经常会碰到的问题.如果您是第一次听说构造函数,可能会觉得这个名字有点高大上,而它却和实际中 ...

  2. [CodeForces 11D] A Simple Task - 状态压缩入门

    状态压缩/Bitmask 在动态规划问题中,我们会遇到需要记录一个节点是否被占用/是否到达过的情况.而对于一个节点数有多个甚至十几个的问题,开一个巨型的[0/1]数组显然不现实.于是就引入了状态压缩, ...

  3. win10下安装Ubuntu16.04双系统

    其实我是不喜欢系统的,之前都是在win下面进行开发,现在来了个项目,经过各种环境的安装调研,最终选择在Ubuntu下面进行开发.之前想着为啥不在虚拟机里面安装Ubuntu进行操作呢,由于虚拟机的体验不 ...

  4. requests-所有异常归类

    IOError RequestException HTTPError(RequestException) UnrewindableBodyError(RequestException) RetryEr ...

  5. CSS3 3D立方体效果

    <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...

  6. C++ namespace的作用

    namespace:命名空间或者叫名字空间,传统的c++只有一个全局的namespace,但是由于现在的程序规模越来越大,程序的分工越来越细,全局作用域就变得越来越拥挤,每个人都可能使用相同的名字来实 ...

  7. 用js来实现那些数据结构06(队列)

    其实队列跟栈有很多相似的地方,包括其中的一些方法和使用方式,只是队列使用了与栈完全不同的原则,栈是后进先出原则,而队列是先进先出(First In First Out). 一.队列    队列是一种特 ...

  8. 《阿里巴巴 Java 开发手册》读书笔记

    偶然看到阿里巴巴居然出书了???趁着满减活动(节约节约....)我赶紧买来准备看看,刚拿到的时候掂量了好多下,总觉得商家给我少发了一本书,结果打开才知道..原来这本书这么小.... 编码规范的重要性 ...

  9. 创建类似于Oracle中decode的函数

    -- 创建类似于Oracle中decode的函数create or replace function decode(variadic p_decode_list text[])returns text ...

  10. [LeetCode] Shortest Completing Word 最短完整的单词

    Find the minimum length word from a given dictionary words, which has all the letters from the strin ...