MinGW+MSYS+gVim的搭建
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不能退格...
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