本文针对windows下打造Gvim IDE编辑器 Gvim 7.4(没有做taglist php支持不是很好)
- 安装gvim插件管理器-vundle,这是一个神器啊,可以参照官方github来安装https://github.com/gmarik/Vundle.vim/wiki/Vundle-for-Window
主要步奏:
- 安装git,添加环境变量,在cmd中执行git --version能正确就OK(为什么安装git呢,因为基本上vundle管理gvim插件都是从github拉的)
- 将下面代码copy到curl.cmd中,放在git/cmd 目录下,执行curl --version正确就OK,不正确自己折腾吧
3.到gvim安装目录,cmd执行这段代码,安装vundle插件,@rem Do not use "echo off" to not affect any child calls. @setlocal @rem Get the abolute path to the parent directory, which is assumed to be the @rem Git installation root. @for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI @set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH% @if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH% @if not exist "%HOME%" @set HOME=%USERPROFILE% @curl.exe %*
git clone https://github.com/gmarik/Vundle.vim.git vimfiles/bundle/Vundle.vim
2. 开始配置gvim ,编辑gvim安装目录下的_vimrc,直接上我的,带解释的
""""""""""""""""""""""""""""'BY SB Date: 2014-12-4 """""""""""""""""""""""""""""""""" let mapleader=',' """""""""""""""""""""""""""""""""""""""""""bundle""""""""""""""""""""""""""""""""""""""""""""""""" set nocompatible "关闭兼容性 filetype off " required "vundle path 兼容linux和windows $VIM是gvim的安装目录 if has("gui_running") set rtp+=$VIM/vimfiles/bundle/Vundle.vim call vundle#begin('$VIM/vimfiles/bundle/') else set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin()
<span style="font-family: Arial, Helvetica, sans-serif;">endif</span>
"官方插件 Plugin 'gmarik/Vundle.vim' Plugin 'tpope/vim-fugitive' Plugin 'L9' Plugin 'git://git.wincent.com/command-t.git' Plugin 'file:///home/gmarik/path/to/plugin' Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} Plugin 'user/L9', {'name': 'newL9'} "新增插件 Plugin 'The-NERD-tree' Plugin 'majutsushi/tagbar' Plugin 'altercation/vim-colors-solarized' "一个主题插件还不错 Plugin 'tomtom/tcomment_vim' Plugin 'msanders/snipmate.vim' "自动补全插件 Plugin 'taglist.vim' Plugin 'vim-scripts/AutoComplPop' call vundle#end() " required " vundle 帮助命令 " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " see :h vundle for more details or wiki for FAQ filetype on filetype plugin on filetype plugin indent on " required " encoding set encoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set termencoding=utf-8 " search set smartcase set hlsearch " tab set tabstop=4 set softtabstop=4 set shiftwidth=4 set expandtab " indent set smartindent set cindent set cinoptions=:s,ps,ts,cs set cinwords=if,else,while,do,for,switch,case " 代码折叠 set foldenable set foldmethod=marker nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> " auto reload vimrc where editing it if has("gui_running") autocmd! bufwritepost _vimrc source $VIM/_vimrc else autocmd! bufwritepost .vimrc source ~/.vimrc endif if has("gui_running") au GUIEnter * simalt ~x "窗口启动时自动最大化 set guioptions-=m "隐藏菜单栏 set guioptions-=T " 隐藏工具栏 set guioptions-=L " 隐藏左侧滚动条 "set guioptions-=r " 隐藏右侧滚动条 set guioptions-=b " 隐藏底部滚动条 set showtabline=0 " 隐藏Tab栏 "菜单乱码 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim language messages zh_CN.utf-8 endif " seneral settings syntax enable " enable syntax highlighting set nobomb " utf8 bomb set showcmd set number " show line numbers set ruler " show where you are set modeline " 启用Modeline,详见http://vim.wikia.com/wiki/Modeline_magic set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离 set textwidth=0 " Linebreak set backspace=2 " 设置回格键正常处理 set clipboard+=unnamed " Yanks go on clipboard instead. set wildmenu " show a navigable menu for tab completion set wildmode=longest,list set history=100 "ctags set autochdir " 自动修改vim当前目录为文件所在目录 set tags=tags " tags文件搜索 "配色方案 colorscheme solarized "php 函数库自动补全 au FileType php call AddPHPFuncList() function AddPHPFuncList() set dictionary-=$VIM/php/php_funclist dictionary+=$VIM/php/php_funclist set complete-=k complete+=k endfunction "comment nnoremap // :TComment<CR> vnoremap // :TComment<CR> "tagbar nnoremap <leader>] :TagbarToggle<CR> "NERD-Tree noremap <leader>d :NERDTreeToggle<CR> "括号引用自动补全 inoremap ( ()<Esc>i inoremap [ []<Esc>i inoremap { {<CR>}<Esc>O autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR> inoremap ) <c-r>=ClosePair(')')<CR> inoremap ] <c-r>=ClosePair(']')<CR> inoremap } <c-r>=CloseBracket()<CR> inoremap " <c-r>=QuoteDelim('"')<CR> inoremap ' <c-r>=QuoteDelim("'")<CR> function ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\<Right>" else return a:char endif endf function CloseBracket() if match(getline(line('.') + 1), '\s*}') < 0 return "\<CR>}" else return "\<Esc>j0f}a" endif endf "字体设置 if has("gui_running") set guifont=courier_New:h11 else "set guifont=courier_New\h11 endif
4. 打开vim 执行:PluginInstall 就可以安装插件了,不出意外你的最后是这样的
5.没有实现PHP 自动提示,不想折腾了,后续增加文件监听,只要有文件修改就生成tags文件并传到开发机上,实现本地开发远程调试