『note』目前的vim

『note』目前的vim

本文僅僅紀錄我用了什麼vim plugin。

首先.vimrc

https://github.com/Daichou/environment/blob/master/.vimrc

set shiftwidth=4  
set expandtab  
set softtabstop=4  
set laststatus=2  
set noshowmode  
set number  
set modeline  
set t\_Co=256  
set tabstop=2  
set fileencodings=utf-8,big5  
set cursorline                                                                                                                                      
set mouse=a  
syntax on  

autocmd filetype python nnoremap  :w  exec '!python '.shellescape('%')  
autocmd filetype c nnoremap  :w  exec '!clear&&gcc '.shellescape('%').' -o '.shellescape('%:r').'&&./'.shellescape('%:r') autocmd filetype cpp nnoremap  :w  exec '!clear;echo -n "====================";TEMP=\`mktemp\`;script $TEMP -e -q -c "g++ '.shellescape('%').' -std=c++11 -Wall -o '.shellescape('%:r').'" > /dev/null 2>&1 ;if \[ $? == 0 \] ;then echo -e "\\r\\033\[32m\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\\033\[0m";./'.shellescape('%:r').';else echo -e "\\r\\033\[31mXXXXXXXXXXXXXXXXX\\033\[0m";cat $TEMP; fi' autocmd filetype c nnoremap  :w  exec '!clear&&gcc '.shellescape('%').' -o '.shellescape('%:r') autocmd filetype cpp nnoremap  :w  exec '!clear&&g++ '.shellescape('%').' -std=c++11 -Wall -o '.shellescape('%:r')  
nnoremap  :w  exec '!cat '.shellescape('%').'\\| xclip -selection clipboard'  
nnoremap  :w  exec '!fish'

Bundle

Bundle 'chriskempson/tomorrow-theme', {'rtp': 'vim/'}  

設定

color Tomorrow-Night-Bright  
colorscheme Tomorrow-Night-Bright  

補完插件

Bundle

Bundle 'Shougo/neocomplcache.vim'    

設定

"neocomplcache                                                                                                                                      
let g:neocomplcache_enable_at_startup = 1  
let g:neocomplcache_disableautocomplete = 1  
let g:neocomplcache_enable_smart_case = 1  
" Recommended key-mappings.  
" <CR>: close popup and save indent.  
let g:neocomplcache_enable_insert_char_pre = 1

檔案樹插件

Bundle

Bundle 'scrooloose/nerdtree'

設定

let NERDTreeWinPos='left'  
let NERDTreeWinSize=30  
map <F2> :NERDTreeToggle<CR>  

vim git狀態(插入與刪除等)
Bundle

Bundle 'airblade/vim-gitgutter'

xterm的顏色表

Bundle

Bundle 'guns/xterm-color-table.vim'

語法錯誤標記

Bundle

Bundle 'Twinside/vim-cuteErrorMarker'

行尾空白顯示

Bundle

Bundle 'ntpeters/vim-better-whitespace'

設定

hi ExtraWhitespace ctermbg = 17  

縮排圖示
Bundle

Bundle 'Yggdroot/indentLine'  

vim script library

Bundle

Bundle 'eparreno/vim-l9'

vim json syntax highlight

Bundle

Bundle 'elzr/vim-json'

自動語法檢查
Bundle

Plugin 'scrooloose/syntastic'  

設定

set statusline+=%#warningmsg#  
  
set statusline+=%{SyntasticStatuslineFlag()}  
set statusline+=%*  
  
let g:syntastic_always_populate_loc_list = 1  
let g:syntastic_auto_loc_list = 1  
let g:syntastic_check_on_open = 0  
let g:syntastic_check_on_wq = 1  
let g:syntastic_cpp_compiler = 'g++'  
let g:syntastic_cpp_compiler_options = ' -std=c++11 '  
let g:syntastic_c_compiler = 'gcc'  
let g:syntastic_c_compiler_options = ' -ansi'  
let g:syntastic_javascript_checkers = ['standard']  
let g:syntastic_javascript_standard_generic = 1  
let g:syntastic_javascript_checkers = ['eslint']  
let g:syntastic_javascript_eslint_exec = 'eslint'

補完工具

Bundle

Bundle 'valloric/YouCompleteMe'

設定

let g:ycm_global_ycm_extra_conf = $HOME/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'

C/C++ taglist

Bundle

Bundle 'majutsushi/tagbar'

設定

nmap  :TagbarToggle let g:tagbar_ctags_bin='ctags'           
let g:tagbar_width=30                  
map  :Tagbar  
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()

comments powered by Disqus