X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=vim%2Fvimrc;h=dafbea714e132e31a8afdd02115f90e412ac1d09;hb=HEAD;hp=04735e91eca8cbd6104d4448e2c03e596f04a8ea;hpb=0035b56e86070c2a5e0b1cb451f8fcebbcb5b49d;p=dotfiles.git diff --git a/vim/vimrc b/vim/vimrc index 04735e9..dafbea7 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -13,7 +13,8 @@ Bundle 'vim-scripts/FuzzyFinder' Bundle 'vim-scripts/L9' Bundle 'Valloric/YouCompleteMe' Bundle 'octol/vim-cpp-enhanced-highlight' -Bundle 'bling/vim-airline' +Bundle 'vim-airline/vim-airline' +Bundle 'vim-airline/vim-airline-themes' Bundle 'payneseu/nerdtree' Bundle 'Townk/vim-autoclose' Bundle 'majutsushi/tagbar' @@ -34,6 +35,11 @@ Bundle 'tpope/vim-markdown' "Bundle 'vim-scripts/genutils' "Bundle 'vim-scripts/Marks-Browser' Bundle 'MattesGroeger/vim-bookmarks' +"Bundle 'tpope/vim-repeat' +"Bundle 'kien/ctrlp.vim' +"disable since some conflicting mapping +Bundle 'vim-latex/vim-latex' +Plugin 'vimperator/vimperator.vim' call vundle#end() filetype plugin indent on @@ -41,6 +47,7 @@ filetype plugin indent on " }}} " Basic options ----------------------------------------------------------- {{{ set number +set relativenumber set tabstop=4 set softtabstop=4 set shiftwidth=4 @@ -75,7 +82,9 @@ set hlsearch set autoindent set confirm set nostartofline " don't jump to first character when paging -set nowrap +set wrap +set expandtab +set backspace=indent,eol,start "set textwidth, formatoptions for chinese set formatoptions+=m set colorcolumn=+1 @@ -86,7 +95,7 @@ if has("gui_running") set macmeta "" Macvim only colorscheme molokai set guioptions+=c - set guifont=Sauce\ Code\ Powerline\ Light:h11 + set guifont=Source\ Code\ Pro\ Light:h11 highlight Cursor guifg=white guibg=green set guicursor=a:blinkon0 set guioptions=eac @@ -111,6 +120,8 @@ endif " Mappings ---------------------------------------------------------------- {{{ let mapleader = ";" map Q gq +nnoremap Q +nnoremap gq " Normal mode ------------------------------------------------------------- {{{ nnoremap Y y$ nnoremap ' ` @@ -123,7 +134,7 @@ nmap q :q nmap e :e nmap W :w !sudo tee % nmap h :vertical help -nmap t :tabedit +nmap t :tabedit % "nmap x :x " windows @@ -143,7 +154,7 @@ nmap = = nnoremap zz nnoremap zz -nnoremap +"nnoremap nnoremap nnoremap nnoremap gt @@ -152,18 +163,21 @@ nnoremap gT " map Alt+TAB "noremap "input C-V then input key sequence to "http://vim.wikia.com/wiki/Make_Shift-Tab_work -nnoremap :bn -nnoremap  :bp +"nnoremap :bn +nnoremap :tabnext +"nnoremap  :bp +nnoremap  :tabprevious "nmap :bp "nmap :b# "nmap d :bd "" keymappig for register operations -nnoremap r :registers +""TODO check if this already mapping +"nnoremap r :registers "noremap x : nnoremap a : nmap p "*p - +" also works :r !pbpaste nmap :resize:vertical resize nmap = :resize:vertical resize @@ -176,6 +190,9 @@ nnoremap zR zRzz nnoremap zr zrzz nnoremap zn znzz +nnoremap zj zjzz +nnoremap zh zhzz + noremap z zmzvzz nmap \\ :nohlsearch " }}} @@ -185,8 +202,9 @@ inoremap u inoremap inoremap inoremap -inoremap -inoremap +inoremap +inoremap +inoremap ui imap " }}} " Command mode ------------------------------------------------------- {{{ @@ -220,6 +238,14 @@ vmap { vmap } "vmap y "*y vmap Y "*y +" +"vmap "qy +"vmap "qp +vnoremap Y "*y +vnoremap p "*p +"search for visually selectecd text +vnoremap // y/" +vnoremap a : " }}} " }}} " Plugins Configuration --------------------------------------------------- {{{ @@ -234,18 +260,18 @@ nnoremap sj :FufBuffer nnoremap sk :FufFileWithCurrentBufferDir nnoremap sK :FufFileWithFullCwd nnoremap s :FufFile -nnoremap sl :FufCoverageFileChange -nnoremap sL :FufCoverageFileChange -nnoremap s :FufCoverageFileRegister +"nnoremap sl :FufCoverageFileChange +"nnoremap sL :FufCoverageFileChange +"nnoremap s :FufCoverageFileRegister nnoremap sd :FufDirWithCurrentBufferDir nnoremap sD :FufDirWithFullCwd nnoremap s :FufDir nnoremap sn :FufMruFile nnoremap sN :FufMruFileInCwd nnoremap sm :FufMruCmd -nnoremap su :FufBookmarkFile +"nnoremap su :FufBookmarkFile nnoremap s :FufBookmarkFileAdd -vnoremap s :FufBookmarkFileAddAsSelectedText +"vnoremap s :FufBookmarkFileAddAsSelectedText nnoremap si :FufBookmarkDir nnoremap s :FufBookmarkDirAdd nnoremap sT :FufTag @@ -253,29 +279,39 @@ nnoremap st :FufTag! nnoremap s :FufTagWithCursorWord! nnoremap s, :FufBufferTag nnoremap s< :FufBufferTag! -vnoremap s, :FufBufferTagWithSelectedText! -vnoremap s< :FufBufferTagWithSelectedText +"vnoremap s, :FufBufferTagWithSelectedText! +"vnoremap s< :FufBufferTagWithSelectedText nnoremap s} :FufBufferTagWithCursorWord! +nnoremap sl :FufBufferTagAll "nnoremap s. :FufBufferTagAll -"nnoremap s> :FufBufferTagAll! +nnoremap s> :FufBufferTagAll! "vnoremap s. :FufBufferTagAllWithSelectedText! "vnoremap s> :FufBufferTagAllWithSelectedText "nnoremap s] :FufBufferTagAllWithCursorWord! nnoremap sG :FufTaggedFile nnoremap sg :FufTaggedFile! -nnoremap so :FufJumpList -nnoremap sp :FufChangeList -nnoremap sq :FufQuickfix -nnoremap sy :FufLine +"nnoremap so :FufJumpList +"nnoremap sp :FufChangeList +"nnoremap sq :FufQuickfix +"nnoremap sy :FufLine " nnoremap sh :FufHelp -nnoremap se :FufEditDataFile +"nnoremap se :FufEditDataFile nnoremap sr :FufRenewCache " }}} " YouCompleteMe ----------------------------------------------------------- {{{ "syntax on, must before the YCM, -let g:ycm_collect_identifiers_from_tags_files = 1 +" Load YouCompleteMe only on OSX +if !has("osx") + let g:loaded_youcompleteme = 1 +endif + +"let g:ycm_collect_identifiers_from_tags_files = 1 let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' +" this is fix youcompleteme python error +"http://www.cnblogs.com/clivelee/p/4266559.html +"https://github.com/Valloric/YouCompleteMe/issues/18 +"let g:ycm_path_to_python_interpreter= '/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python' let g:ycm_auto_trigger = 1 let g:ycm_seed_identifiers_with_syntax = 1 let g:ycm_show_diagnostics_ui = 0 @@ -312,7 +348,8 @@ let g:ycm_key_detailed_diagnostics = '' let g:airline_right_sep = '' let g:airline_right_alt_sep = '' - let g:airline#extensions#tabline#show_buffers = 1 +" let g:airline#extensions#tabline#show_buffers = 1 + let g:airline#extensions#tabline#show_buffers = 0 let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#left_sep = '' let g:airline#extensions#tabline#left_alt_sep ='' @@ -349,6 +386,8 @@ endfunction "endif " }}} " NerdTree ---------------------------------------------------------------- {{{ +" Fix keymapping conflict +nmap , MarkClear nmap n :NERDTreeToggle nmap N :NERDTreeFind " }}} @@ -401,8 +440,8 @@ endif " }}} " Marks ------------------------------------------------------------------- {{{ nmap \h MarkSet -nmap * MarkSearchNext -nmap # MarkSearchPrev +"nmap * MarkSearchNext +"nmap # MarkSearchPrev " }}} " Gundo ------------------------------------------------------------------- {{{ " nnoremap :GundoToggle @@ -432,7 +471,38 @@ let g:bookmark_auto_close = 1 " nmap ,c BookmarkClear " nmap ,x BookmarkClearAll " }}} - +" EasyMotion -------------------------------------------------------------- {{{ +map en (easymotion-sn) +map ej (easymotion-j) +map ek (easymotion-k) +map eb (easymotion-b) +map ew (easymotion-w) +map ee (easymotion-w) +map el (easymotion-lineforward) +map eh (easymotion-linebackward) + +"map n (easymotion-sn) +"map j (easymotion-j) +"map k (easymotion-k) +"map b (easymotion-b) +"map w (easymotion-w) +"map e (easymotion-w) +"map l (easymotion-lineforward) +"map h (easymotion-linebackward) + +"" }}} +" vim-latex --------------------------------------------------------------- {{{ +"set grepprg=grep\ -nH\ $* +"let g:tex_flavor='latex' +"set iskeyword+=: +"autocmd BufEnter *.tex set sw=2 +"disable default mapping +imap #$ IMAP_JumpForward +nmap #$ IMAP_JumpForward +vmap #$ IMAP_JumpForward +vmap #$ IMAP_DeleteAndJumpForward +let g:Imap_FreezeImap=1 +" }}} " }}} " FileType ---------------------------------------------------------------- {{{ autocmd BufNewFile,BufRead *.log set filetype=logecc @@ -455,8 +525,10 @@ autocmd FileType qf nnoremap q :q | setlocal nowrap | setl autocmd FileType help nnoremap q :q | vertical resize 85; autocmd FileType c,cpp setlocal foldmethod=syntax | \ let b:AutoClosePairs = AutoClose#DefaultPairsModified("\"", "{}") | - \ inoremap { {}kA -autocmd FileType python setlocal foldmethod=indent + \ inoremap { {}kA| + \ nnoremap :let word=expand(""):wincmd o:vsp:exec("tag ". word)zzzr:wincmd w +autocmd FileType python setlocal foldmethod=indent | + \ set list autocmd FileType xml setlocal foldmethod=syntax | \ let g:xml_syntax_folding=1 @@ -464,6 +536,10 @@ autocmd FileType vim setlocal foldmethod=marker | \ setlocal formatoptions-=c formatoptions-=r formatoptions-=o | \ let b:AutoClosePairs = AutoClose#DefaultPairsModified("", "{} \"") +autocmd FileType perl setlocal foldmethod=syntax | + \ let b:AutoClosePairs = AutoClose#DefaultPairsModified("\"", "{}") | + \ inoremap { {}kA + autocmd Filetype markdown setlocal textwidth=80 autocmd CmdwinEnter * map q :q @@ -564,7 +640,7 @@ nmap \q :call ToggleList("Quickfix List", 'c') "endif function! DiffToggle() if(&diff) - diffoff | wincmd h | wincmd o + diffoff | wincmd l | :q else exec ":VCSVimDiff" | wincmd h endif @@ -576,7 +652,7 @@ nnoremap \d :call DiffToggle() " }}} "nnoremap @=(foldlevel('.')?'za':"\") -nnoremap @=(foldlevel('.')?'za':"\") +nnoremap @=(foldlevel('.')?'za':"\") "noremap d @=(&diff)?':diffoff':":VCSVimDiff" " https://bitbucket.org/sjl/dotfiles/src/tip/vim/vimrc @@ -607,8 +683,29 @@ iabbrev "} " }}} " m nnoremap B ^ nnoremap E $ -nnoremap :cn -nnoremap :cp +nnoremap :cnzzzv +nnoremap :cpzzzv "http://dougblack.io/words/a-good-vimrc.html "nnoremap gV `[v`] +"nnoremap :let word=expand(""):vsp:wincmd w:exec("tag ". word) +"nnoremap :let word=expand(""):wincmd o:vsp:exec("tag ". word)zz:wincmd w +" command in normal mode, and visual mode +" yiw = viwy +" diw = viwd +" gn select search and in visual mode +" confirm when using :q to quit the last tab page, +"Alias q if\ winnr('$')>1||tabpagenr('$')>1||confirm('Really\ quit?',\ "&OK\\n&Cancel")==1|quit|endif + + + +" color of current line +"let s:marklist = '' +nnoremap m :marks abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:normal ' + +"let g:ctrlp_extensions = ['tag', 'buffertag', 'quickfix', 'dir', 'rtscript', +" \ 'undo', 'line', 'changes', 'mixed', 'bookmarkdir'] + + +"" TODO: +""