Vim As IDE

让VIM有IDE的效果 实用的功能有

目录树
打开文件标签
函数、类成员视图(Eclipse的outline功能)
函数跳转
自动补全
查找、替换

目标

图形界面如下
这里写图片描述

我也不一项一项的列出来了. 直接给大家粘贴全部的了 [ .vimrc]

"------------------------------------------------------------------------
" < other >
"------------------------------------------------------------------------

if has("win32")
    set nocompatible
    source $VIMRUNTIME/vimrc_example.vim
    source $VIMRUNTIME/mswin.vim
    behave mswin
endif

call pathogen#infect()
syntax on
filetype plugin indent on

set nu
set tabstop=4
set hlsearch
set incsearch
set shiftwidth=4
set autoindent
set expandtab
set mouse=a
set writebackup

syntax enable
set nocp
set background=dark
colorscheme solarized

" tags settting
" set tags=tags;
" set autochdir

let NERDTreeChristmasTree=1
let NERDTreeMouseMode=2
let NERDTreeHighlightCursorline=0
let NERDCompactSexyComs=1
let NERDSpaceDelims=1
let NERDTreeShowBookmarks=1

"nmap <C-h> <C-w>h
"nmap <C-j> <C-w>j
"nmap <C-k> <C-w>k
"nmap <C-l> <C-w>l

autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | end  " Auto Exit

" NERDCommand
let mapleader=","

map <F2> :silent! NERDTreeToggle<CR>

" TagbarToggle
map <F3> :silent! TagbarToggle<CR>

" FulCoverageFile
map <F4> :silent! FufCoverageFile<CR>

" NerdTree Book Mark
map <F5> :Bookmark <CR>
let NERDTreeIgnore=['cscope\.*','\.svn','\.git','\.o']

" Cscope
map <F6> :!find . -name '*.php' -o -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.java' -o -name '*.phtml' -name '*.ini' >cscope.files && cscope -bq<CR>:cs reset<CR>:cs add cscope.out<CR>

" MiniBuffer
map <C-c> :MBEbd<CR>
map <C-n> :MBEbn<CR>
map <C-b> :MBEbp<CR>

"Gundo 
map <leader>h :GundoToggle<CR>

" NERDCommand
let mapleader=","

" Powerline
set laststatus=2
let g:Powerline_symbols = 'unicode'

" Supertab
let g:SuperTabRetainCompletionType=2
let g:SuperTabDefaultCompletionType="<C-X><C-O>"
set ofu=syntaxcomplete#Complete
set completeopt=menu,longest

" Cscope
set cscopequickfix=s-,c-,d-,i-,t-,e-
set cscopetag 
set csto=1
if filereadable("cscope.out")  
  cs add cscope.out
endif
set cscopeverbose
map <C-g>s :cs find s <C-R>=expand("<cword>")<CR><CR>:copen<CR>      
map <C-g>g :cs find g <C-R>=expand("<cword>")<CR><CR>:copen<CR>     
map <C-g>c :cs find c <C-R>=expand("<cword>")<CR><CR>:copen<CR>   
map <C-g>t :cs find t <C-R>=expand("<cword>")<CR><CR>:copen<CR>
map <C-g>e :cs find e <C-R>=expand("<cword>")<CR><CR>:copen<CR>     
map <C-g>f :cs find f <C-R>=expand("<cfile>")<CR><CR>:copen<CR>
map <C-g>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>:copen<CR>   
map <C-g>d :cs find d <C-R>=expand("<cword>")<CR><CR>:copen<CR>   

" 相对行号
set relativenumber
au FocusLost * :set number
au FocusGained * :set relativenumber
" 插入模式下用绝对行号, 普通模式下用相对
autocmd InsertEnter * :set number
autocmd InsertLeave * :set relativenumber
function! NumberToggle()
  if(&relativenumber == 1)
    set number
  else
    set relativenumber
  endif
endfunc
nnoremap <C-r> :call NumberToggle()<cr>


" 配色方案
if has("gui_running")
    colo solarized
else
    colo desert
endif

"--------------------------------------------------
" Name: solarized
" Git: https://github.com/altercation/vim-colors-solarized.git
"--------------------------------------------------
let g:solarized_termcolors=256
let g:solarized_termtrans=0
let g:solarized_contrast="normal"
let g:solarized_visibility="high"
let g:solarized_underline=1
let g:solarized_italic=0
let g:solarized_degrade=0
let g:solarized_bold=1
let g:solarized_diffmode="normal"
let g:solarized_hitrail=0
let g:solarized_menu=1


" =============================================================================
"                            << 设置快捷键映射 >>
" =============================================================================
let mapleader=";"                                     " 定义快捷键的前缀,即<Leader>
nnoremap lb 0                                             " 映射行尾行首
nnoremap le $
vnoremap <Leader>y "+y                                " 设置快捷键将选中文本块复制至系统剪贴板
nmap <Leader>p "+p                                    " 设置快捷键将系统剪贴板内容粘贴至 vim
nmap <Leader>Y "*y                                    " 设置快捷键将选中文本复制到系统缓冲区
nmap <Leader>P "*p                                    " 设置快捷键将系统缓冲区内容粘贴至 vim
nnoremap <Leader>q :q<CR>" 定义快捷键关闭当前分割窗口
nnoremap <Leader>, :w<CR>" 定义快捷键保存当前窗口内容
nmap <Leader>WAQ :wa<CR>:q<CR>                        " 定义快捷键保存所有窗口内容并退出 vim
nmap <Leader>Q :qa!<CR>                               " 不做任何保存,直接退出 vim
nnoremap wn <C-W><C-W>                                " 依次遍历子窗口
nnoremap wp <C-w>p                                    " 逆向遍历窗口
nnoremap <Leader>lw <C-W>l                            " 跳转至右方的窗口
nnoremap <Leader>hw <C-W>h                            " 跳转至左方的窗口
nnoremap <Leader>kw <C-W>k                            " 跳转至上方的子窗口
nnoremap <Leader>jw <C-W>j                            " 跳转至下方的子窗口
nnoremap <Leader>Lw <C-W>L                            " 跳转至最右方的窗口
nnoremap <Leader>Hw <C-W>H                            " 跳转至最左方的窗口
nnoremap <Leader>Kw <C-W>K                            " 跳转至最上方的子窗口
nnoremap <Leader>Jw <C-W>J                            " 跳转至最下方的子窗口
nmap <Leader>pa %" 定义快捷键在结对符之间跳转,助记pair
nmap <Leader><Leader>tn :tnext<CR>                   " 正向遍历同名标签
nmap <Leader><Leader>tp :tprevious<CR>               " 反向遍历同名标签

" =============================================================================
"        << 判断操作系统是 Windows 还是 Linux 和判断是终端还是 Gvim >>
" =============================================================================

" -----------------------------------------------------------------------------
"  < 判断操作系统是否是 Windows 还是 Linux >
" -----------------------------------------------------------------------------
let g:iswindows = 0
let g:islinux = 0
if(has("win32") || has("win64") || has("win95") || has("win16"))
    let g:iswindows = 1
else
    let g:islinux = 1
endif

" -----------------------------------------------------------------------------
"  < 判断是终端还是 Gvim >
" -----------------------------------------------------------------------------
if has("gui_running")
    let g:isGUI = 1
else
    let g:isGUI = 0
endif

" =============================================================================
"                          << 插件管理 >>
" =============================================================================
" 用于更方便的管理vim插件,具体用法参考 :h vundle 帮助
" 安装方法为在终端输入如下命令
" git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
" 如果想在 windows 安装就必需先安装 "git for window",可查阅网上资料

set nocompatible                                      "禁用 Vi 兼容模式
filetype off                                          "禁用文件类型侦测

if g:islinux
    set rtp+=~/.vim/bundle/vundle/
    call vundle#rc()
else
    set rtp+=$VIM/vimfiles/bundle/vundle/
    call vundle#rc('$VIM/vimfiles/bundle/')
endif

" 使用Vundle来管理Vundle,这个必须要有。
Bundle 'gmarik/vundle'

" 以下为要安装或更新的插件,不同仓库都有(具体书写规范请参考帮助)
Bundle 'xml.vim'
"Bundle 'a.vim'
Bundle 'Align'
Bundle 'jiangmiao/auto-pairs'
"Bundle 'yegappan/grep'
Bundle 'mileszs/ack.vim'
Bundle 'dyng/ctrlsf.vim'
"Bundle 'ccvext.vim'
Bundle 'Yggdroot/indentLine'
"Bundle 'Mark--Karkat'
"Bundle 'Shougo/neocomplcache.vim'
Bundle 'Shougo/neocomplete'
Bundle 'scrooloose/nerdcommenter'
Bundle 'scrooloose/nerdtree'
"Bundle 'OmniCppComplete'
Bundle 'Lokaltog/vim-powerline'
"Bundle 'msanders/snipmate.vim'
"Bundle 'wesleyche/SrcExpl'
"Bundle 'std_c.zip'
"Bundle 'tpope/vim-surround'
"Bundle 'scrooloose/syntastic'
Bundle 'vim-scripts/indexer.tar.gz'
Bundle 'DfrankUtil'
Bundle 'vimprj'
Bundle 'majutsushi/tagbar'
"Bundle 'ZoomWin'
"Bundle 'tpope/vim-markdown'
"Bundle 'nathanaelkane/vim-indent-guides'
Bundle 'fholgado/minibufexpl.vim'
"Plugin 'shawncplus/phpcomplete.vim'
"Bundle 'ctrlpvim/ctrlp.vim'
" Bundle 'cSyntaxAfter'
" Bundle 'javacomplete'
" Bundle 'vim-javacompleteex'               "更好的 Java 补全插件
" Bundle 'mattn/emmet-vim'
" Bundle 'fholgado/minibufexpl.vim'         "好像与 Vundle 插件有一些冲突
" Bundle 'Shougo/neocomplcache.vim'
" Bundle 'repeat.vim'
" Bundle 'ervandew/supertab'                "有时与 snipmate 插件冲突
" Bundle 'taglist.vim'
" Bundle 'TxtBrowser'
" Bundle 'Valloric/YouCompleteMe'
" Plugin 'exvim/ex-minibufexpl'                "exvim插件之一。修复BUG


" =============================================================================
"        << 界面&主题配置 >>
" =============================================================================
" 设置代码配色方案
if g:isGUI
     "colorscheme solarized
     colorscheme molokai 
   set background=dark
else
     "colorscheme molokai
     colorscheme gruvbox
     set background=dark
endif

" 显示/隐藏菜单栏、工具栏、滚动条,可用 Ctrl + F11 切换
if g:isGUI
    set guioptions-=m
    set guioptions-=T
    set guioptions-=r
    set guioptions-=L
    map <silent> <c-F11> :if &guioptions =~# 'm' <Bar>
        \set guioptions-=m <Bar>
        \set guioptions-=T <Bar>
        \set guioptions-=r <Bar>
        \set guioptions-=L <Bar>
    \else <Bar>
        \set guioptions+=m <Bar>
        \set guioptions+=T <Bar>
        \set guioptions+=r <Bar>
        \set guioptions+=L <Bar>
    \endif<CR>
endif

set guifont=YaHei\ Consolas\ Hybrid\ 12               "设置 gvim 显示字体
set number                                            "显示行号
set laststatus=2                                      "启用状态栏信息
set cmdheight=2                                       "设置命令行的高度为2,默认为1
set ruler                                             "显示光标当前位置
set cursorline                                        "高亮显示当前行/列
"set cursorcolumn
set nofoldenable                                      "不启用折叠
set nowrap                                            "设置不自动换行
set shortmess=atI                                     "去掉欢迎界面
"set gcr=a:block-blinkon0                             "禁止光标闪烁
set hlsearch                                          "高亮显示搜索结果


" =============================================================================
"                          << 编码设置 >>
" =============================================================================
" 注:使用utf-8格式后,软件与程序源码、文件路径不能有中文,否则报错
set encoding=utf-8                                    "设置gvim内部编码
set fileencoding=utf-8                                "设置当前文件编码
set fileencodings=ucs-bom,utf-8,gbk,cp936,latin-1     "设置支持打开的文件的编码

" 文件格式,默认 ffs=dos,unix
set fileformat=unix                                   "设置新文件的<EOL>格式
set fileformats=unix,dos,mac                          "给出文件的<EOL>格式类型

if (g:iswindows && g:isGUI)
    "解决菜单乱码
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim

    "解决consle输出乱码
    language messages zh_CN.utf-8
endif

syntax on
syntax enable
filetype on                                           "启用文件类型侦测
filetype plugin on                                    "针对不同的文件类型加载对应的插件
filetype plugin indent on                             "启用缩进
set smartindent                                       "启用智能对齐方式
set expandtab                                         "将Tab键转换为空格
set tabstop=4                                         "设置Tab键的宽度
set shiftwidth=4                                      "换行时自动缩进4个空格
set shiftwidth=4                                      "设置格式化时制表符占用空格数
set smarttab                                          "指定按一次backspace就删除shiftwidth宽度的空格
"set foldmethod=indent                                "indent 折叠方式
set foldmethod=syntax                                 "syntax 折叠方式
set wildmenu                                          "vim 自身命令行模式智能补全
set ignorecase                                        "搜索模式里忽略大小写
set smartcase                                         "如果搜索模式包含大写字符,不使用 'ignorecase' 选项,只有在输入搜索模式并且打开 'ignorecase' 选项时才会使用
" set noincsearch                                       "在输入要搜索的文字时,取消实时匹配


set undofile                                          "设置undofile
set undolevels=1000
if g:iswindows                                        
    set undodir=$VIM.'/vimfiles/_undodir'
else 
    set undodir=$HOME.'/.vim'
endif

" 用空格键来开关折叠
" nnoremap <Leader><space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>

" 当文件在外部被修改,自动更新该文件
set autoread

" 常规模式下输入 cS 清除行尾空格
nmap cS :%s/\s\+$//g<CR>:noh<CR>

" 常规模式下输入 cM 清除行尾 ^M 符号
nmap cM :%s/\r$//g<CR>:noh<CR>

" Ctrl + K 插入模式下光标向上移动
imap <c-k> <Up>

" Ctrl + J 插入模式下光标向下移动
imap <c-j> <Down>

" Ctrl + H 插入模式下光标向左移动
imap <c-h> <Left>

" Ctrl + L 插入模式下光标向右移动
imap <c-l> <Right>

" 启用每行超过80列的字符提示(字体变蓝并加下划线),不启用就注释掉
"au BufWinEnter * let w:m2=matchadd('Underlined', '\%>' . 80 . 'v.\+', -1)

" =============================================================================
"                          << 自定义函数 >>
" =============================================================================
"--------------------------------------------------------------------
" < 窗口最大化 >
"--------------------------------------------------------------------
" 将外部命令 wmctrl 控制窗口最大化的命令行参数封装成一个 vim 的函数
fun! ToggleFullscreen()
    call system("wmctrl -ir " . v:windowid . " -b toggle,fullscreen")
endf
" 全屏开/关快捷键
map <silent> <F11> :call ToggleFullscreen()<CR>

"--------------------------------------------------------------------
" < 替换函数 >
" confirm:是否替换前逐一确认
" wholeword:是否整词匹配
" replace:被替换字符串
"--------------------------------------------------------------------
function! Replace(confirm, wholeword, replace)
    wa
    let flag = ''
    if a:confirm
        let flag .= 'gec'
    else
        let flag .= 'ge'
    endif
    let search = ''
    if a:wholeword
        let search .= '\<' . escape(expand('<cword>'), '/\.*$^~[') . '\>'
    else
        let search .= expand('<cword>')
    endif
    let replace = escape(a:replace, '/\&~')
    execute 'argdo %s/' . search . '/' . replace . '/' . flag . '| update'
endfunction
" 不确认、非整词
nnoremap <Leader>R :call Replace(0, 0, input('Replace '.expand('<cword>').' with: '))<CR>
" 不确认、整词
nnoremap <Leader>rw :call Replace(0, 1, input('Replace '.expand('<cword>').' with: '))<CR>
" 确认、非整词
nnoremap <Leader>rc :call Replace(1, 0, input('Replace '.expand('<cword>').' with: '))<CR>
" 确认、整词
nnoremap <Leader>rcw :call Replace(1, 1, input('Replace '.expand('<cword>').' with: '))<CR>
nnoremap <Leader>rwc :call Replace(1, 1, input('Replace '.expand('<cword>').' with: '))<CR>

"----------------------PHP函数自动补全----------------------------------------
set dictionary-=$VIM/vimfiles/TXT/php_funclist.txt dictionary+=$VIM/vimfiles/TXT/php_funclist.txt
set complete-=k complete+=k
au FileType php call AddPHPFuncList()
function AddPHPFuncList()
    set dictionary-=$VIM/vimfiles/TXT/php_funclist.txt dictionary+=$VIM/vimfiles/TXT/php_funclist.txt
    set complete-=k complete+=k
endfunction

"-------------------------版权信息------------------------
function CopyRight(type, position) 
    let author = "wangtengtao_iwm <wangtengtao@iwaimai.baidu.com>"
    if a:position == 'curr'
        let line_num = line(".")
    else
        let line_num = 0
    endif
    if a:type == "phpfile" 
        call setline(line_num,"<?php")
        call append(line_num+0,"<?php")
        call append(line_num+1,"/** =============================================================================") 
        call append(line_num+2," * @name ".expand("%:t")) 
        call append(line_num+3," * @date date ".strftime("%c")) 
        call append(line_num+4," * @author ".author) 
        call append(line_num+5," * @package ") 
        call append(line_num+6," * =============================================================================")
        call append(line_num+7," */") 
    elseif a:type == "file"
        call setline(line_num,"")
        call append(line_num+0,"/** =============================================================================") 
        call append(line_num+1," * @name ".expand("%:t")) 
        call append(line_num+2," * @date date ".strftime("%c")) 
        call append(line_num+3," * @author ".author) 
        call append(line_num+4," * @package ") 
        call append(line_num+5," * =============================================================================")
        call append(line_num+6," */") 
    else 
        if a:type == "func" 
            call setline(line_num," /**") 
            call append(line_num+0," * @access ") 
            call append(line_num+1," * @author ".author) 
            call append(line_num+2," * @param") 
            call append(line_num+3," * @return") 
            call append(line_num+4," */") 
        else 
            call setline(line_num," /**") 
            call append(line_num+0," * @access ") 
            call append(line_num+1," * @var ") 
            call append(line_num+2," */") 
        endif 
    endif
endfunction

nnoremap <Leader>cp :call CopyRight("phpfile","0")<CR>
nnoremap <Leader>co :call CopyRight("file","0")<CR>
nnoremap <Leader>cf :call CopyRight("func","curr")<CR>
nnoremap <Leader>cv :call CopyRight("var","curr")<CR>

"-----------------------------------------------------------------------
" < ctrlsf查找 >
"-----------------------------------------------------------------------
function Search(options)
    NERDTreeClose
    if a:options != 0
        let searchOptions = a:options
        execute 'CtrlSF '.searchOptions
    else
        execute 'CtrlSF -i '.expand('<cword>')
    endif
endfunction

function SearchResult(open)
    if a:open
        NERDTreeClose
        CtrlSFOpen
    else
        NERDTree
        CtrlSFClose
    endif
endfunction

"-----------------------------------------------------------------------
" < 打开某个buffer >
"-----------------------------------------------------------------------
function BufferOpen()
    let bufnum = input("which buffer to open(input buffer number):") 
    execute 'b'.bufnum
endfunction


" =============================================================================
"                          << 插件配置 >>
" =============================================================================

"------------------------------------------------------------------------
" < vim-powerline >
"------------------------------------------------------------------------
if g:isGUI
    let g:Powerline_colorscheme='solarized256'
else
    let g:Powerline_colorscheme='solarized'
endif

"------------------------------------------------------------------------
" < vim-indent-guides >
"------------------------------------------------------------------------
" 随 vim 自启动
"let g:indent_guides_enable_on_vim_startup=1
" 从第二层开始可视化显示缩进
"let g:indent_guides_start_level=2
" 色块宽度
"let g:indent_guides_guide_size=1
" 快捷键 i 开/关缩进可视化
":nmap <silent> <Leader>i <Plug>IndentGuidesToggle

"------------------------------------------------------------------------
" < Align >
"------------------------------------------------------------------------
" 一个对齐的插件,用来——排版与对齐代码,功能强大,不过用到的机会不多

"------------------------------------------------------------------------
" < minibufexpl >
"------------------------------------------------------------------------
" 显示/隐藏 MiniBufExplorer 窗口
let g:miniBufExplMapCTabSwitchBufs=1
map <Leader>bl :MBEToggle<cr>
map <Leader>bo :MBEOpen<cr>
map <Leader>bc :MBEClose<cr>
" buffer 切换快捷键
map <C-Tab> :MBEbn<cr>
map <C-S-Tab> :MBEbp<cr>
map <Leader><Leader>d :MBEbd<cr>
map <Leader><Leader>b :call BufferOpen()<cr>
" 在不使用 MiniBufExplorer 插件时也可用<C-k,j,h,l>切换到上下左右的窗口中去
noremap <c-k> <c-w>k
noremap <c-j> <c-w>j
noremap <c-h> <c-w>h
noremap <c-l> <c-w>l

"------------------------------------------------------------------------
" < tagbar >
"------------------------------------------------------------------------
" 高效地浏览源码, 其功能就像vc中的workpace
" 那里面列出了当前文件中的所有宏,全局变量, 函数名等

nnoremap <Leader>tl ::andToggle<CR>       "设置显示/隐藏标签列表子窗口的快捷键
let tagbar_right=1                          "设置 tagbar 子窗口的位置出现在主编辑区的左边
let tagbar_width=30                         "设置标签子窗口的宽度 
let g:tagbar_compact=1                      "tagbar 子窗口中不显示冗余帮助信息 

"------------------------------------------------------------------------
" < indexer >
"------------------------------------------------------------------------
set tags+=/home/lancelot/resources/tags/ap-tags
let g:indexer_ctagsCommandLineOptions="--c++-kinds=+p+l+x+c+d+e+f+g+m+n+s+t+u+v --php-kinds=+c+i+d+f+v+j --python-kinds=+c+f+m+v+i --sql-kinds=+c+d+f+F+l+L+p+P+r+s+t+T+v+i+e+U+R+D+V+n+x+y+z --vim-kinds=+a+c+f+m+v --java-kinds=+c+e+f+g+i+l+m+p --javascript-kinds=+f+c+m+p+v --fields=+iaSl --extra=+q"

"------------------------------------------------------------------------
" < ctrlsf.vim >
"------------------------------------------------------------------------
nnoremap <Leader>ss :call Search(input('input search string:'))<CR>
nnoremap <Leader>si :call Search(0)<CR>
nnoremap <Leader>so :call SearchResult(1)<CR>
nnoremap <Leader>sc :call SearchResult(0)<CR>

"------------------------------------------------------------------------
" < nerdtree >
"------------------------------------------------------------------------
" 使用 NERDTree 插件查看工程文件。设置快捷键,速记:file list
nmap <Leader>fl :NERDTreeToggle<CR>
" 设置NERDTree子窗口宽度
let NERDTreeWinSize=28
" 设置NERDTree子窗口位置
let NERDTreeWinPos="left"
" 显示隐藏文件
let NERDTreeShowHidden=0
" NERDTree 子窗口中不显示冗余帮助信息
let NERDTreeMinimalUI=1
" 删除文件时自动删除文件对应 buffer
let NERDTreeAutoDeleteBuffer=1

"------------------------------------------------------------------------
" < nerdcommenter >
"------------------------------------------------------------------------
" 我主要用于C/C++代码注释(其它的也行)
" 以下为插件默认快捷键,其中的说明是以C/C++为例的,其它语言类似
" <Leader>ci 以每行一个 /* */ 注释选中行(选中区域所在行),再输入则取消注释
" <Leader>cm 以一个 /* */ 注释选中行(选中区域所在行),再输入则称重复注释
" <Leader>cc 以每行一个 /* */ 注释选中行或区域,再输入则称重复注释
" <Leader>cu 取消选中区域(行)的注释,选中区域(行)内至少有一个 /* */
" <Leader>ca 在/*...*/与//这两种注释方式中切换(其它语言可能不一样了)
" <Leader>cA 行尾注释
let NERDSpaceDelims = 1                     "在左注释符之后,右注释符之前留有空格

"------------------------------------------------------------------------
" < indentline  >
"------------------------------------------------------------------------
" 用于显示对齐线,与 indent_guides 在显示方式上不同,根据自己喜好选择了
" 在终端上会有屏幕刷新的问题,这个问题能解决有更好了
" 开启/关闭对齐线
nmap <leader>il :IndentLinesToggle<CR>
if g:isGUI
    let g:indentLine_char = ""
    let g:indentLine_first_char = ""
endif
let g:indentLine_color_term = 239

"------------------------------------------------------------------------
" < neocomplete >
"------------------------------------------------------------------------
let g:neocomplete#enable_at_startup = 1
" Use smartcase.
let g:neocomplete#enable_smart_case = 1
inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
" Enable omni completion.
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd FileType html,js,javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
autocmd FileType php setlocal omnifunc=phpcomplete#CompletePHP
autocmd FileType sql setlocal omnifunc=sqlcomplete#Complete


" =============================================================================
"                          << autocmd >>
" =============================================================================
" autocmd VimEnter * call ToggleFullscreen()                " 启动 vim 时自动全屏
autocmd VimEnter * set nu
autocmd BufNewFile *.php call CopyRight("phpfile","0")

上边的内容是 .vimrc文件的内容

只单单的copy 这些是不能具备图片上的功能的

注: 为了方便大家 我已经将 .vim 和 .vimrc 上传到github上了. 点击下载 里面有详细的介绍 以及安装方法, 如果大家有好的简介 请留言.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值