Mac/Centos下Vim配置及常用外掛安裝
阿新 • • 發佈:2019-01-10
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
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
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
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