将vim变为IDE

今天重新配置了一下vim,将其配置成为了一个完整的IDE。包括自动补全,文件列表,函数列表等
先来一张图

将vim变为IDE_第1张图片
2016-05-07 23:27:21的屏幕截图.png

下面是其配置文件:

set shortmess=atI   " 启动的时候不显示那个援助乌干达儿童的提示  
set nu              " 显示行号  
syntax on           " 语法高亮  
set ruler           " 显示标尺  
set showmode
set showcmd
set hlsearch
set nocompatible  "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限  
set cursorcolumn   "竖行高亮
set cursorline     "当前横行高亮
set foldmethod=syntax    "设置折叠   
set foldlevelstart=99
set autoindent   "自动缩进
set tabstop=2
set softtabstop=2
set shiftwidth=2

"配色方案
set t_Co=256
syntax enable
set background=dark
colorscheme molokai

let mapleader=";"
nmap q :q
nmap w :w
nmap qa :qa
nmap wq :wq
nmap a za
nmap  G
nmap  gg

inoremap jk 
inoremap ( ()
inoremap [ []
inoremap { {}O


function HeaderPython()
    call setline(1, "#coding: utf-8")
    call append(1, "\#Created Time: ".strftime('%Y-%m-%d %T', localtime()))
        call append(2,"")
    normal G
endf

function Headersh()
    call setline(1,"\#########################################################################") 
        call append(1,"\#File Name:".expand("%"))
        call append(2,"\#Created Time:".strftime('%Y-%m-%d %T'))
    call append(3, "\#########################################################################") 
    call append(4, "\#!/bin/bash") 
        call append(5,"")
        normal G
endf

function Headercpp()
        call setline(1,"/*******************************************************")
        call append(1,"File Name:".expand("%"))
        call append(2,"Created Time:".strftime('%Y-%m-%d %T'))
        call append(3,"********************************************************/")
        call append(4,"\#include")
        call append(5,"using namespace std;")
        call append(6,"")
        normal G
endf

autocmd bufnewfile *.py call HeaderPython()
autocmd bufnewfile *.sh call Headersh()
autocmd bufnewfile *.cpp call Headercpp()

map  :call CompileRunGcc()
func! CompileRunGcc()
    exec "w"
    if &filetype == 'c'
        exec "!g++ % -o %<"
      exec "! ./%<"
    elseif &filetype == 'cpp'
      exec "!g++ % -o %<"
      exec "! ./%<"
    elseif &filetype == 'sh'
      :!./%
    elseif &filetype == 'python'
        exec "!python %"
    endif
endfunc

"Plugin
set nocompatible              " be iMproved, required
filetype off                  " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'Valloric/YouCompleteMe'
Plugin 'vim-scripts/a.vim'
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'


"NERDTree
map  :NERDTreeToggle
let NERDTreeShowBookmarks=1 "显示书签
let NERDTreeDirArrows=0 "目录箭头 1 显示箭头  0传统+-|号
"autocmd VimEnter * NERDTree
"autocmd VimEnter * wincmd p
"autocmd VimEnter * if !argc() | NERDTree | endif

"Taglist
map  :Tlist
let Tlist_Show_One_File=0        
let Tlist_Ctags_Cmd="/usr/bin/ctags" "将taglist与ctags关联  
let Tlist_Exit_OnlyWindow=1    "最后一个窗口时退出
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
"let Tlist_Auto_Open=1

"ctags
map   :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

你可能感兴趣的:(将vim变为IDE)