]> Sergey Matveev's repositories - dotfiles.git/blobdiff - vim/.vimrc
Combine all gitcommit autocmds
[dotfiles.git] / vim / .vimrc
index 8b67c498ad68cb0edb4641e3b41a5ff758847a5c..1b61e9e102295411fa5b4550c044855b930c316f 100644 (file)
@@ -31,12 +31,15 @@ set highlight+=sr
 set cpoptions+=$
 set showcmd
 set showmatch
-set listchars=trail:·,tab:>→,nbsp:% ",eol:¶
-set list
+set completeopt-=preview
+set diffopt+=indent-heuristic,algorithm:histogram
 
 set cursorline
 set cursorcolumn
 set colorcolumn=80
+
+set listchars=trail:·,tab:>→,nbsp:% ",eol:¶
+set list
 highlight ExtraWhitespace ctermbg=green ctermfg=blue
 match ExtraWhitespace /\s\+$/
 
@@ -48,12 +51,15 @@ set smartcase
 set hlsearch
 set incsearch
 set gdefault
-set wildmode=longest:list
-set tags=tags;,./;
-set wildignore=**/_build/*,**/tags,**/.git,**/.hypothesis
-
 map <F4> :nohlsearch<CR>:MarkClear<CR>
 
+set wildmode=list:longest
+set tags=.tags/**/tags;
+set wildignore=**/.git,**/.tags
+
+set exrc
+set secure
+
 " Folding {{{
 set foldmethod=indent
 set foldnestmax=9
@@ -68,9 +74,12 @@ highlight CursorColumn ctermfg=cyan ctermbg=red
 
 " Statusline {{{
 set laststatus=2
-set statusline=%F\ %m%r%h%w%q%k\ %=
+set statusline=%F\ %m%r%h%w%k
+set statusline+=%{len(getqflist())?'[Q]':''}
+set statusline+=%{len(getloclist(0))?'[L]':''}
+set statusline+=\ %=
 set statusline+=%n\ %#Question#%Y
-set statusline+=%#DiffChange#%{strlen(&fenc)?&fenc:&enc}\ %{&ff}
+set statusline+=%#DiffChange#%{strlen(&fenc)?&fenc:&enc}%{&bomb?'-bom':''}\ %{&ff}
 set statusline+=%#DiffAdd#%l/%L
 set statusline+=%#Todo#%c%V:0x%B
 set statusline+=%#Comment#%o
@@ -83,11 +92,12 @@ endfunction
 " }}}
 
 " View saving {{{
-autocmd BufWinLeave *.* mkview
-autocmd BufWinEnter *.* silent loadview
+autocmd BufWinLeave ?* silent! mkview
+autocmd BufWinEnter ?* silent loadview
 " }}}
 
 " Windows related {{{
+nnoremap <C-b> <C-W>
 noremap <C-j> <C-w>j
 noremap <C-k> <C-w>k
 noremap <C-l> <C-w>l
@@ -118,6 +128,7 @@ set formatoptions+=onj
 " Spelling {{{
 set spelllang=ru,en_gb
 highlight SpellBad cterm=inverse ctermfg=red ctermbg=black
+highlight SpellLocal term=reverse ctermfg=red ctermbg=cyan
 " }}}
 
 " Unimpaired-like textwidth switching {{{
@@ -136,9 +147,9 @@ iabbrev итп и т.п.
 
 set keywordprg=
 let g:sh_no_error = 1
+set termwinkey=<C-B>
 
 nmap <space> f<space>
-vmap <space> I<space><ESC>gv
 nmap _ f_l
 
 nmap <leader>] "*yiw
@@ -147,13 +158,9 @@ nmap <leader>p "_diwP
 nnoremap <leader>d "_d
 vnoremap <leader>d "_d
 
-cmap <C-O> <S-Left>
-cmap <C-P> <S-Right>
-
 map Q gq
-map Y y$
 cmap ][ '[,']
-nmap <F2> :set wrap!<CR>:set wrap?<CR>
+imap <C-b> <C-x><C-o>
 nmap <Tab> :buffers<CR>:b<Space>
 nmap <silent> <Home> :registers<CR>
 nmap <leader>' yiwciw"<C-r>""<ESC>