source ~/.vim/vundles.vim " encoding dectection set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1 " enable filetype dectection and ft specific plugin/indent filetype plugin indent on " enable syntax hightlight and completion syntax on " Vim UI "-------- " color scheme set background=dark colorscheme molokai " highlight current line au WinLeave * set nocursorline nocursorcolumn au WinEnter * set cursorline cursorcolumn set cursorline cursorcolumn " search set incsearch "set highlight " conflict with highlight current line set ignorecase set smartcase " editor settings set history=1000 set nocompatible set nofoldenable " disable folding" set confirm " prompt when existing from an unsaved file set backspace=indent,eol,start " More powerful backspacing set t_Co=256 " Explicitly tell vim that the terminal has 256 colors " set mouse=a " use mouse in all modes set report=0 " always report number of lines changed " set nowrap " dont wrap lines set scrolloff=5 " 5 lines above/below cursor when scrolling set number " show line numbers set relativenumber " show relativenumber set showmatch " show matching bracket (briefly jump) set showcmd " show typed command in status bar set title " show file in titlebar set laststatus=2 " use 2 lines for the status bar set matchtime=2 " show matching bracket for 0.2 seconds set directory=~/.vim/tmp " move swp file to /tmp " Default Indentation set autoindent set expandtab " expand tab to space set smartindent " indent when set tabstop=8 " tab width set softtabstop=8 " backspace set shiftwidth=8 " indent width " set textwidth=79 " set smarttab " insert tabs on the start of a line according to shiftwidth, not tabstop autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120 " syntax support "----------------- " Plugin settings "----------------- " Rainbow parentheses for Lisp and variants let g:rbpt_colorpairs = [ \ ['brown', 'RoyalBlue3'], \ ['Darkblue', 'SeaGreen3'], \ ['darkgray', 'DarkOrchid3'], \ ['darkgreen', 'firebrick3'], \ ['darkcyan', 'RoyalBlue3'], \ ['darkred', 'SeaGreen3'], \ ['darkmagenta', 'DarkOrchid3'], \ ['brown', 'firebrick3'], \ ['gray', 'RoyalBlue3'], \ ['black', 'SeaGreen3'], \ ['darkmagenta', 'DarkOrchid3'], \ ['Darkblue', 'firebrick3'], \ ['darkgreen', 'RoyalBlue3'], \ ['darkcyan', 'SeaGreen3'], \ ['darkred', 'DarkOrchid3'], \ ['red', 'firebrick3'], \ ] let g:rbpt_max = 16 autocmd Syntax lisp,scheme,clojure,racket RainbowParenthesesToggle " tabbar let g:Tb_MaxSize = 2 let g:Tb_TabWrap = 1 hi Tb_Normal guifg=white ctermfg=white hi Tb_Changed guifg=green ctermfg=green hi Tb_VisibleNormal ctermbg=252 ctermfg=235 hi Tb_VisibleChanged guifg=green ctermbg=252 ctermfg=white " easy-motion let g:EasyMotion_leader_key = '' " Tagbar let g:tagbar_left=1 let g:tagbar_width=30 let g:tagbar_autofocus = 1 let g:tagbar_sort = 0 let g:tagbar_compact = 1 " tag for markdown let g:tagbar_type_markdown = { \ 'ctagstype' : 'markdown', \ 'kinds' : [ \ 'h:Heading_L1', \ 'i:Heading_L2', \ 'k:Heading_L3' \ ] \ } " Nerd Tree let NERDChristmasTree=0 let NERDTreeWinSize=30 let NERDTreeChDirMode=2 let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$'] " let NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\~$'] let NERDTreeShowBookmarks=1 let NERDTreeWinPos = "right" " nerdcommenter let NERDSpaceDelims=1 " nmap :NERDComToggleComment let NERDCompactSexyComs=1 " powerline "let g:Powerline_symbols = 'fancy' " NeoComplCache let g:neocomplcache_enable_at_startup=1 let g:neoComplcache_disableautocomplete=1 "let g:neocomplcache_enable_underbar_completion = 1 "let g:neocomplcache_enable_camel_case_completion = 1 let g:neocomplcache_enable_smart_case=1 let g:neocomplcache_min_syntax_length = 3 let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*' set completeopt-=preview imap (neocomplcache_snippets_force_expand) smap (neocomplcache_snippets_force_expand) imap (neocomplcache_snippets_force_jump) smap (neocomplcache_snippets_force_jump) " Enable omni completion. autocmd FileType markdown setlocal omnifunc=htmlcomplete#CompleteTags autocmd FileType python setlocal omnifunc=pythoncomplete#Complete autocmd FileType c setlocal omnifunc=ccomplete#Complete if !exists('g:neocomplcache_omni_patterns') let g:neocomplcache_omni_patterns = {} endif let g:neocomplcache_omni_patterns.erlang = '[a-zA-Z]\|:' " SuperTab " let g:SuperTabDefultCompletionType='context' let g:SuperTabDefaultCompletionType = '' let g:SuperTabRetainCompletionType=2 " ctrlp set wildignore+=*/tmp/*,*.so,*.o,*.a,*.obj,*.swp,*.zip,*.pyc,*.pyo,*.class,.DS_Store " MacOSX/Linux let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$' " Keybindings for plugin toggle nnoremap :set invpaste paste? set pastetoggle= nmap :TagbarToggle nmap :NERDTreeToggle nmap :GundoToggle nmap :IndentGuidesToggle nmap : nnoremap a :Ack nnoremap v V`] " Useful Functions "------------------ " easier navigation between split windows nnoremap j nnoremap k nnoremap h nnoremap l " When editing a file, always jump to the last cursor position autocmd BufReadPost * \ if ! exists("g:leave_my_cursor_position_alone") | \ if line("'\"") > 0 && line ("'\"") <= line("$") | \ exe "normal g'\"" | \ endif | \ endif " w!! to sudo & write a file cmap w!! %!sudo tee >/dev/null % " Quickly edit/reload the vimrc file nmap ev :e $MYVIMRC nmap sv :so $MYVIMRC " sublime key bindings nmap >> nmap << vmap >gv " eggcache vim nnoremap ; : :command W w :command WQ wq :command Wq wq :command Q q :command Qa qa :command QA qa " for macvim if has("gui_running") "set go=aAce " remove toolbar set transparency=2 ""不全屏为set nofu set nofu set guifont=Monaco:h13 set showtabline=2 set columns=140 set lines=40 set guioptions=mr "c去掉" set guioptions= " 隐藏全部 set guioptions+=m " 隐藏菜单栏 set guioptions-=T " 隐藏工具栏 set guioptions-=L " 隐藏左侧滚动条 "set guioptions+=r " 隐藏右侧滚动条 "set guioptions-=b " 隐藏底部滚动条 "set showtabline-=0 " 隐藏Tab栏 noremap :tabprevious noremap :tabnext map 1gt map 2gt map 3gt map 4gt map 5gt map 6gt map 7gt map 8gt map 9gt map :tablast endif