set encoding=utf-8
"set t_kD=\7f
set mouse="" " if Vim is compiled with mouse support
-set nomodeline
set viminfo='100,<50,s10,f1,%,n~/secure/vim/info
set viewdir=~/secure/vim/view
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 listchars=trail:·,tab:>→,nbsp:% ",eol:¶
set list
+set completeopt-=preview
set cursorline
set cursorcolumn
set colorcolumn=80
highlight ExtraWhitespace ctermbg=green ctermfg=blue
-match ExtraWhitespace /^\s*$/
+match ExtraWhitespace /\s\+$/
set relativenumber
set numberwidth=3
" }}}
" 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%q%k\ %=
+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
" }}}
" Tmux window naming {{{
set titleold = ""
set title
+autocmd BufEnter * let &titlestring = expand("%:t")
" }}}
" Fugitive {{{
-let g:fugitive_git_executable = "LANG=en.UTF-8 git"
-nmap <F7> "cyiw:execute "Gvsplit " . @c<CR>zR
+nmap <F7> :Gvsplit <C-R><C-W><CR>zR
nmap <F9> :diffupdate<CR>:syntax off<CR>:syntax on<CR>
" }}}
" *-lists indentation and formatting {{{
set comments-=mb:*
set formatlistpat=^\\s*\\*\ \\s*
-set formatoptions+=n
+set formatoptions+=onj
" }}}
-autocmd BufEnter * let &titlestring = expand("%:t")
-
-set keywordprg=
+" Spelling {{{
+set spelllang=ru,en_gb
+highlight SpellBad cterm=inverse ctermfg=red ctermbg=black
+" }}}
-let g:netrw_banner = 0
-let g:netrw_bufsettings = "noma nomod nowrap ro nobl"
+" Unimpaired-like textwidth switching {{{
+nmap [ob :set textwidth=72<CR>
+nmap ]ob :set textwidth=0<CR>
+" }}}
-" Often typos
+" Often typos {{{
map q: :
command! W w
+nmap <F1> :help!<CR>
+imap <F1> <C-O>:help!<CR>
+iabbrev итд и т.д.
+iabbrev итп и т.п.
+" }}}
+
+set keywordprg=
+let g:sh_no_error = 1
nmap <space> f<space>
vmap <space> I<space><ESC>gv
nmap <leader>] "*yiw
nmap <leader>p "_diwP
-nmap ]q :cnext<CR>
-nmap [q :cprev<CR>
-
nnoremap <leader>d "_d
vnoremap <leader>d "_d
cmap <C-P> <S-Right>
map Q gq
+map Y y$
cmap ][ '[,']
-nmap <Tab> :buffers<CR>:buffer<Space>
+imap <C-b> <C-x><C-o>
+nmap <F2> :set wrap!<CR>:set wrap?<CR>
+nmap <Tab> :buffers<CR>:b<Space>
nmap <silent> <Home> :registers<CR>
nmap <leader>' yiwciw"<C-r>""<ESC>
nmap <leader>h1 yypVr=o
-nmap <leader>72 :set textwidth=72
nmap <leader>sc 024i-<ESC>a >8 <ESC>24a-<ESC>
nmap <leader><C-]> :vertical wincmd ]<CR>
nnoremap <C-P> <C-I>
-nmap <F1> :help!<CR>
-imap <F1> <C-O>:help!<CR>
-
-nmap <leader>sp :setlocal spell spelllang=ru,en_gb
-highlight SpellBad cterm=inverse ctermfg=red ctermbg=black
-
-iabbrev итд и т.д.
-iabbrev итп и т.п.
-
command! E Explore
command! Ch cd %:p:h
command! -bar -nargs=? -bang Tmp :silent vnew<bang>|setlocal buftype=nofile bufhidden=hide noswapfile buflisted filetype=<args> modifiable