MinGW+MSYS+gVim的搭建

让vim运行c/c++

1.安装MinGW
         下载,mingw提供了gcc、g++、g77等编译工具

2.安装MSYS

        下载,msys提供了ls、rm、mkdir等Linux下一些常用shell命令,下载列表中的Current - MSYS 即为 MSYS 的安装程序,下载其二进制版本(bin),并将其安装到D:\msys\1.0 下。中途需要指定MinGW的位置。

3.修改MSYS配置文件 参考
        修改D:\msys\1.0\etc\profile,在其末尾添加如下几行:
                export PS1='[\u@msys \W]$ '
                export PS2='> '
                export PS4='+ '
                export LANG=en
                alias l='/bin/ls --show-control-chars --color=tty'
                alias la='/bin/ls -aF --show-control-chars --color=tty'
                alias ll='/bin/ls -alF --show-control-chars --color=tty'
                alias ls='/bin/ls --show-control-chars -F --color=tty'
        然后修改D:\msys\1.0\msys.bat,找到 :startrxvt 一节,修改为如下:
                if "x%MINGW32BGCOLOR%" == "x" set MINGW32BGCOLOR=Black
                if "x%MINGW32FGCOLOR%" == "x" set MINGW32FGCOLOR=White
        最后修改:
                start rxvt -sl 2500 -fg %FGCOLOR% -bg %BGCOLOR% -sr -fn "MS Gothic"-24 -tn msys -geometry 90x30 -e

                /bin/sh --login -i
                exit
        注意:不要带-backspacekey ^H,这样会使得shell不能退格...

4.VIM安装 参考1 参考2

5.安装Ctags(代码定位) 参考

       下载,解压至任一目录(如D:\ctags58),并将Ctags的安装路径(D:\ctags58)添加到系统环境变量path中,并编辑_vimrc文件,添加如下内容:    

       set tags=tags;
       set autochdir

       "设置tags目录,可以根据自己的设置自动调整
       set tags+=C:\ctags56\stltags
       set tags+=C:\ctags56\cpptags

       打开cmd命令行,切换到你要查看源代码的根目录下,运行 ctags -R ./*。将会在此目录出生成一个tags文件,用GVim打开一个代码文件,将光标放在某一函数名上,按下”ctrl+]”,光标会自动跳转到定义处,按下”ctrl+T”会调回到原来的位置。注意:方法函数增加或改变时,需要重新生成tags文件才能正确跳转到改变了的函数定义上。

 

6.安装TagList(窗口管理)

       下载,解压后包含一个doc文件夹和一个plugin文件夹,复制到Vim\Vim72下的doc及plugin中,在_vimrc文件中加入以下内容:

       let Tlist_Show_One_File=1
       let Tlist_Exit_OnlyWindow=1

       用GVim打开代码文件(已生成过tags文件),使用命令”:Tlist”来打开或关闭TagList窗口。

 

7.安装OmniCppComplete(自动补全功能)

       下载,解压可得到三个文件夹(autoload,after,doc),分别复制到gvim的安装目录下的vimfiles文件夹中,在_vimrc文件中加入以下内容:

       "setting for omnicppcomplete

       set nocp
       filetype plugin on

       "下面的设置用于当用户预先声明namespace时也能自动补全代码(如使用using std::string) 
       let OmniCpp_DefaultNamespaces = ["std"]

       " 设置代码提示窗口的颜色(默认为粉红色,如附图1,下面的设置的效果如附图2) 
       highlight Pmenu ctermbg=13 guibg=LightGray 
       highlight PmenuSel ctermbg=7 guibg=DarkBlue guifg=White 
       highlight PmenuSbar ctermbg=7 guibg=DarkGray 
       highlight PmenuThumb guibg=Black

       "打开文件类型检测, 加了这句才可以用智能补全
       filetype plugin indent on
       "关掉智能补全时的预览窗口
       set completeopt=longest,menu

       使用方法:

       :set tags=/home/wooin/vim71/tags 随便找一个有成员变量的对象, 比如”parmp”, 进入Insert模式, 将光标放在”->”后面, 然后按下”Ctrl+X Ctrl+O”, 此时会弹出一个下列菜单, 显示所有匹配的标签。

8.安装SuperTab(自动补全功能)

       下载,SuperTab插件会记住你上次所使用的补全方式,下次再补全时,直接使用Tab就可以重复这种类型的补全。比如,上次你使用CTRL-X CTRL-F进行了文件名补全,接下来,你就可以使用Tab来继续进行文件名补全,直到你进行了其它形式的补全。
       安装:将supertab.vim复制到 $VIM/vimfiles/plugin 文件夹即可。
       配置:可以对下面两个选项进行配置,以调整SuperTab的缺省行为:

              g:SuperTabRetainCompletionType 缺省值为1,意为记住你上次的补全方式,直到使用其它的补全命令改变它;如果设为2,意为记住上次的补全方式,直到按ESC退出插入模式为止;如果设为0,意为不记录上次的补全方式。

              g:SuperTabDefaultCompletionType 设置缺省的补全方式,缺省为CTRL-P。

可以在vimrc中设置这两个变量,例如:

              let g:SuperTabRetainCompletionType = 2
              let g:SuperTabDefaultCompletionType = "<C-X><C-O>"

9.配置环境变量:
        PATH D:\MinGW\bin;
        LIBRARY_PATH D:\MinGW\lib
        C_INCLUDED_PATH D:\MinGW\include
        CPLUS_INCLUDE_PATH D:\MinGW\include\c++\3.4.5


10.gVim安装后,安装目录下_vimrc文件
        添加:
                set number
                set filetype=c
                colorscheme torte
                set guifont=lucida_console:h16 等等
        具体参见:http://edyfox.codecarver.org/html/_vimrc.html


        一点小技巧是可以通过在_vimrc中写cd使得一打开gvim就进入程序目录,如我gvim安装目录为的是D:\gVim\Vim\vim71,而程序目录为D:\Ubuntu\program(方便在Ubuntu中编程共享)
        添加:
        cd ..
        cd ..
        cd ..
        cd /Ubuntu/program.
同理,Ubuntu中的vimrc中也可添加相应语句,设到/Ubuntu/program下,则会省去很多切换目录的时间

11.双击桌面上的MSYS图标,敲入命令 gvim hello.cpp & 即可像在Linux下一样写编辑C++程序(如果说gvim命令不存在,记得把vim安装目录加入到环境变量中)

12.最后编译g++ -Wall -c hello.cpp得到hello.o

13.生成g++ -Wall hello.o -o hello得到可执行文件hello.exe

14.执行./hello.exe

 

vim java

1.javacomplete下载,将javacomplete.rar中autoload内的文件放到d:/vim72/vimfiles/autoload中,然后重新编译Reflection.java,将生成的class文件放到d:/vim72/vimfiles/autoload中,将javacomplete.rar中doc放到d:/vim72/vimfiles/doc中.并将d:/vim72添加到classpath环境变量中.修改_vimrc,在其中添加setlocal omnifunc=javacomplete#Complete,样在VIM中编辑Java代码,就可以用ctrl-x, ctrl-o智能补全了,如果要实现outline效果,需要安装taglist插件,到vim.sf.net上找。

 

//--------------------------------------Ubuntu下配置VIM c/c++开发环境-------------------------------------------

apt-get install vim-full安装后在/etc/vim下,并编辑.vimrc文件输入以下配置:

"语法高亮度显示
syntax on
"不使用vi默认键盘布局-否则在编辑模式下按方向键会输入字符
set nocompatible
"显示行号
set number
"检测文件的类型
filetype on
"记录历史的行数
set history=1000
"背景使用黑色
set background=dark
"vim使用自动对齐,也就是把当前行的对齐格式应用到下一行
set autoindent
"依据上面的对齐格式,智能的选择对齐方式,对于类似C语言编
set smartindent
"设置Windows风格的C/C++自动缩进,第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
"设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set showmatch
"去除vim的GUI版本中的toolbar
set guioptions-=T
"在编辑过程中,在右下角显示光标位置的状态行
set ruler
"默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
set nohls
"使用此设置会快速找到答案,当你找要匹配的单词时,别忘记回车
set incsearch
if &term=="xterm"
  set t_Co=8
  set t_Sb=^[[4%dm
  set t_Sf=^[[3%dm
endif

参考

http://os.51cto.com/art/201001/176900.htm

http://www.51testing.com/?uid-225738-action-viewspace-itemid-216939

http://www.linuxidc.com/Linux/2011-08/41265.htm

http://www.cppblog.com/tdweng/articles/113026.html

posted @ 2011-05-31 09:38  WenEric  阅读(2582)  评论(1编辑  收藏  举报