X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=vim%2F.vimrc;h=1a02b400e28259065040041f6b401c331675dcdb;hb=5e6071fde8446388619054907977ed73fd9cc960;hp=dd8c250cb8477ba8bf45fc980a440b5bb74ba018;hpb=8b6c945696a9ecc99cd51b70a54045b34a159982;p=dotfiles.git diff --git a/vim/.vimrc b/vim/.vimrc index dd8c250..1a02b40 100644 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -8,9 +8,9 @@ set nocompatible set encoding=utf-8 "set t_kD= set mouse="" " if Vim is compiled with mouse support -set nomodeline -set viminfo='100,<50,s10,f1,%,n~/secure/vim/info +set viminfo-=h +set viminfo+=f1,%,n~/secure/vim/info set viewdir=~/secure/vim/view set history=128 set directory=~/secure/vim/tmp @@ -28,15 +28,19 @@ set backspace=indent,eol set shortmess=aoOtI set highlight-=v:Visual set highlight+=vr +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 +52,15 @@ set smartcase set hlsearch set incsearch set gdefault -set wildmode=longest:list -set tags=tags;,./; -set wildignore=**/_build/*,**/tags,**/.git,**/.hypothesis - map :nohlsearch:MarkClear +set wildmode=list:longest +set tags=.tags/**/tags; +set wildignore=**/.git,**/.tags + +set exrc +set secure + " Folding {{{ set foldmethod=indent set foldnestmax=9 @@ -67,29 +74,31 @@ highlight CursorColumn ctermfg=cyan ctermbg=red " }}} " Statusline {{{ -highlight User1 ctermbg=blue ctermfg=black -highlight User2 ctermbg=green ctermfg=black -highlight User3 ctermbg=yellow ctermfg=black -highlight User4 ctermbg=red ctermfg=black set laststatus=2 -set statusline=%n\|%F%m%r%h%w%q\ %= -set statusline+=%1*%Y[%{strlen(&fenc)?&fenc:&enc},%{&ff}] -set statusline+=%2*[%l/%L] -set statusline+=%3*[%c%V:0x%B] -set statusline+=%4*%{LintStatus()} +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}%{&bomb?'-bom':''}\ %{&ff} +set statusline+=%#DiffAdd#%l/%L +set statusline+=%#Todo#%c%V:0x%B +set statusline+=%#Comment#%o +set statusline+=%#Error#%{LintStatus()} set statusline+=%*\ %P -function! LintStatus() " it is overrided in ftplugin/python/pylint.vim +function! LintStatus() " it is overrided in ftplugins return "" endfunction " }}} " View saving {{{ -autocmd BufWinLeave *.* mkview -autocmd BufWinEnter *.* silent loadview +autocmd BufWinLeave ?* silent! if &ft !=# "gitcommit" | mkview | endif +autocmd BufWinEnter ?* silent loadview " }}} " Windows related {{{ +nnoremap noremap j noremap k noremap l @@ -107,8 +116,7 @@ autocmd BufEnter * let &titlestring = expand("%:t") " }}} " Fugitive {{{ -let g:fugitive_git_executable = "LANG=en.UTF-8 git" -nmap "cyiw:execute "Gvsplit " . @czR +nmap :Gvsplit zR nmap :diffupdate:syntax off:syntax on " }}} @@ -121,11 +129,12 @@ 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 " }}} -" Netrw {{{ -let g:netrw_banner = 0 -let g:netrw_bufsettings = "noma nomod nowrap ro nobl" +" Unimpaired-like textwidth switching {{{ +nmap [ob :set textwidth=72 +nmap ]ob :set textwidth=0 " }}} " Often typos {{{ @@ -139,9 +148,9 @@ iabbrev итп и т.п. set keywordprg= let g:sh_no_error = 1 +set termwinkey= nmap f -vmap Igv nmap _ f_l nmap ] "*yiw @@ -150,18 +159,13 @@ nmap p "_diwP nnoremap d "_d vnoremap d "_d -cmap -cmap - map Q gq -map Y y$ cmap ][ '[,'] -nmap :set wrap!:set wrap? -nmap :buffers:buffer +imap +nmap :buffers:b nmap :registers nmap ' yiwciw""" nmap h1 yypVr=o -nmap 72 :set textwidth=72 nmap sc 024i-a >8 24a- nmap :vertical wincmd ] nnoremap