-set nocompatible
-
-"-----------plugin manager----------------
+" ~/.vimrc
+set nocompatible
if empty(glob('$HOME/.vim/autoload/plug.vim'))
silent !curl -fLo $HOME/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
call plug#begin('$HOME/.vim/plugged')
-Plug 'tpope/vim-sensible'
-Plug 'tpope/vim-ragtag'
+"Plug 'tpope/vim-sensible'
+"Plug 'tpope/vim-ragtag'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-fugitive'
-Plug 'altercation/vim-colors-solarized'
"Plug 'vim-airline/vim-airline'
"Plug 'vim-airline/vim-airline-themes'
-Plug 'mileszs/ack.vim'
+"Plug 'mileszs/ack.vim'
Plug 'brandonbloom/csearch.vim'
Plug 'chazy/cscope_maps'
-"Plug 'vim-scripts/taglist.vim'
+Plug 'majutsushi/tagbar'
"Plug 'airblade/vim-gitgutter'
-Plug 'junegunn/fzf.vim'
-Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
+"Plug 'junegunn/fzf.vim'
Plug 'thanthese/Tortoise-Typing'
+Plug 'altercation/vim-colors-solarized'
call plug#end()
-"---------------------------------------------
+" Section: Options {{{1
+" ---------------------
-" For color
-set background=dark
-let g:solarized_menu=0
-try
- colorscheme solarized
-catch
- colorscheme default
-endtry
+set autoindent
+set autoread
+set autowrite " Automatically save before commands like :next and :make
+set backspace=2
+if exists('+breakindent')
+ set breakindent showbreak=\ +
+endif
+set cmdheight=2
+setglobal commentstring=#\ %s
+set complete-=i " Searching includes can be slow
+set fileformats=unix,dos,mac
+set foldmethod=marker
+set foldopen+=jump
+set history=200
+set incsearch " Incremental search
+set laststatus=2 " Always show status line
+set lazyredraw
+set linebreak
+set mouse=nvi
+set mousemodel=popup
+set pastetoggle=<F2>
+set printoptions=paper:letter
+set scrolloff=1
+set shiftround
+set showcmd " Show (partial) command in status line.
+set showmatch " Show matching brackets.
+set sidescrolloff=5
+set smartcase " Case insensitive searches become sensitive with capitals
+set smarttab " sw at the start of the line, sts everywhere else
+setglobal tags=./tags;
+set timeoutlen=1200 " A little bit more time for macros
+set ttimeoutlen=50 " Make Esc work faster
+if exists('+undofile')
+ set undofile
+endif
+set visualbell
+set virtualedit=block
+set wildmenu
+set wildmode=longest:full,full
+set wildignore+=tags,.*.un~,*.pyc
+set winaltkeys=no
-" For fonts
-if has("gui_running")
- if has("gui_gtk2")
- set guifont=Inconsolata\ 12
- elseif has("gui_macvim")
- set guifont=Monaco:h11
- elseif has("gui_win32")
- set guifont=Consolas:h11
- endif
+if !has("gui_running") && $DISPLAY == '' || !has("gui")
+ set mouse=
endif
+set background=dark
-" For markdown
-autocmd BufNewFile,BufReadPost *.md set filetype=markdown
+
+" Plugin Settings {{{2
+
+
+let g:solarized_menu=0
let g:markdown_fenced_languages = ['html', 'python', 'bash=sh']
let g:markdown_syntax_conceal = 0
-" For taglist
-"let Tlist_Compact_Format = 1
-"let Tlist_GainFocus_On_ToggleOpen = 1
-"let Tlist_Close_On_Select = 1
-"nnoremap <C-l> :TlistToggle<CR>
-
" %s is replaced with fzf command
"let g:fzf_launcher = 'xterm -e bash -ic %s'
let g:fzf_launcher = "In_a_new_term_function %s"
"For airline
"let g:airline#extensions#tabline#enabled = 1
-" Easy escape
+" }}}2
+" Section: Commands {{{1
+" -----------------------
+"
+"
+" Section: Mappings {{{1
+" ----------------------
+
inoremap jj <ESC>
inoremap j<Space> j
+map <F1> <Esc>
+map! <F1> <Esc>
+if has("gui_running")
+ map <F2> :Fancy<CR>
+endif
+nmap <silent> <F6> :if &previewwindow<Bar>pclose<Bar>elseif exists(':Gstatus')<Bar>exe 'Gstatus'<Bar>else<Bar>ls<Bar>endif<CR>
+nmap <silent> <F7> :if exists(':Lcd')<Bar>exe 'Lcd'<Bar>elseif exists(':Cd')<Bar>exe 'Cd'<Bar>else<Bar>lcd %:h<Bar>endif<CR>
+map <F8> :Make<CR>
+map <F9> :Dispatch<CR>
+map <F10> :Start<CR>
+map <Leader>v :so ~/.vimrc<CR>
+
+
+" Section: Autocommands {{{1
+" --------------------------
+if has("autocmd")
+ filetype plugin indent on
+autocmd BufNewFile,BufReadPost *.md set filetype=markdown
+endif " has("autocmd")
+" }}}1
+" Section: Visual {{{1
+" --------------------
+
+" Switch syntax highlighting on, when the terminal has colors
+if (&t_Co > 2 || has("gui_running")) && has("syntax")
+ function! s:initialize_font()
+ if exists("&guifont")
+ if has("mac")
+ set guifont=Monaco:h12
+ elseif has("unix")
+ if &guifont == ""
+ set guifont=Monospace\ Medium\ 12
+ endif
+ elseif has("gtk2")
+ set guifont=Inconsolata\ 12
+ elseif has("win32")
+ set guifont=Consolas:h11,Courier\ New:h10
+ endif
+ endif
+ endfunction
+
+
+ if exists("syntax_on") || exists("syntax_manual")
+ else
+ syntax on
+ endif
+ set list
+ if !exists('g:colors_name')
+ silent! colorscheme solarized
+ endif
+ endif
+" }}}1
-" For local/private settings
-let $LOCALFILE=expand("$HOME/.vimrc_local")
-if filereadable($LOCALFILE)
-source $LOCALFILE
+if filereadable(expand("$HOME/.vimrc_local"))
+ source $HOME/.vimrc_local
endif