1. 程式人生 > >Mac/Centos下Vim配置及常用外掛安裝

Mac/Centos下Vim配置及常用外掛安裝

set nocompatible              " be iMproved, required
filetype off                  " required

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'gmarik/Vundle.vim'

" plugins

Plugin 'scrooloose/nerdtree'
Plugin 'bling/vim-airline'
Plugin 'mattn/emmet-vim'
Plugin 'godlygeek/tabular'
Plugin 'Shougo/neocomplcache.vim'

Plugin 'jelera/vim-javascript-syntax'
Plugin 'kien/ctrlp.vim'
Plugin 'terryma/vim-multiple-cursors'
Plugin 'tpope/vim-commentary'
Plugin 'jiangmiao/auto-pairs'

Plugin 'jQuery'
Plugin 'othree/html5.vim'

call vundle#end()            " required
filetype plugin indent on    " required

" settings

syntax enable
syntax
 on

let mapleader=','
let g:molokai_original = 1
let g:rehash256 = 1
set t_Co=256
colorscheme molokai

set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
set cul

set laststatus=2 
set number
set noshowmode

set tabstop=4
set shiftwidth=4
set softtabstop=4

set expandtab
set
 smarttab
set autoindent
set smartindent
set ruler
set ignorecase
set hls
set foldmethod=syntax
set showcmd

" backup

set nobackup
set nowb
set noswapfile

" search

set hlsearch
set incsearch

" backspace

set backspace=eol,start,indent
set whichwrap+=<,>,h,l

" javascript settings

au BufRead,BufNewFile jquery.*.js set ft=javascript syntax=jquery

" html5 settings

let g:html5_event_handler_attributes_complete = 0

" nerdtree settings

autocmd vimenter * NERDTree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
map <silent> <F2> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif

" airline settings

let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'

" ctags settings

let Tlist_Ctags_Cmd ='/usr/local/Cellar/ctags/5.8/bin/ctags'  "這裡比較重要了,設定ctags的位置,不是指向MacOS自帶的那個,而是我們用homebrew安裝的那個,Centos下配置登出這行即可。

" taglist settings

let Tlist_Use_Right_Window = 1 "讓taglist窗口出現在Vim的右邊
let Tlist_File_Fold_Auto_Close = 1 "當同時顯示多個檔案中的tag時,設定為1,可使taglist只顯示當前檔案tag,其它檔案的tag都被摺疊起來。
let Tlist_Show_One_File = 1 "只顯示一個檔案中的tag,預設為顯示多個
let Tlist_Sort_Type ='name' "Tag的排序規則,以名字排序。預設是以在檔案中出現的順序排序
let Tlist_GainFocus_On_ToggleOpen = 1 "Taglist視窗開啟時,立刻切換為有焦點狀態
let Tlist_Exit_OnlyWindow = 1 "如果taglist視窗是最後一個視窗,則退出vim
let Tlist_WinWidth = 32 "設定窗體寬度為32,可以根據自己喜好設定
map <silent> <F9> :TlistToggle <CR>

" emment settings

let g:user_emmet_mode='n'    "only enable normal mode functions.
let g:user_emmet_mode='inv'  "enable all functions, which is equal to
let g:user_emmet_mode='a'    "enable all function in all mode.
let g:emmet_html5 = 0

let g:user_emmet_install_global = 0
autocmd FileType html,css EmmetInstall
" let g:user_emmet_leader_key='<C-Z>' 

" let g:user_emmet_expandabbr_key='<Tab>'


" neocompletecache settings

let g:acp_enableAtStartup = 0
let g:neocomplcache_enable_at_startup = 1
let g:neocomplcache_enable_smart_case = 1
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'

inoremap <expr><C-g>     neocomplcache#undo_completion()
inoremap <expr><C-l>     neocomplcache#complete_common_string()

inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><C-y>  neocomplcache#close_popup()
inoremap <expr><C-e>  neocomplcache#cancel_popup()

autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags

" ctrlp settings

let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'

let g:ctrlp_working_path_mode = 'ra'
set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " Linux/MacOSX

let g:ctrlp_user_command = 'find %s -type f'        " MacOSX/Linux