1 " vim: foldmethod=marker:foldlevel=0
10 set mouse="" " if Vim is compiled with mouse support
13 set viminfo+=f1,%,n~/secure/vim/info
14 set viewdir=~/secure/vim/view
15 set directory=~/secure/vim/tmp
16 set undodir=~/secure/vim/undo
26 set backspace=indent,eol
28 set highlight-=v:Visual
34 set completeopt-=preview
35 set diffopt+=indent-heuristic,algorithm:histogram
41 set listchars=trail:·,tab:>→,nbsp:% ",eol:¶
43 highlight ExtraWhitespace ctermbg=green ctermfg=blue
44 match ExtraWhitespace /\s\+$/
54 map <F4> :nohlsearch<CR>:MarkClear<CR>
56 set wildmode=list:longest
57 set tags=.tags/**/tags;
58 set wildignore=**/.git,**/.tags
70 autocmd BufWinEnter * normal zR
71 highlight FoldColumn ctermfg=cyan ctermbg=black
72 highlight CursorColumn ctermfg=cyan ctermbg=red
77 set statusline=%F\ %m%r%h%w%k
78 set statusline+=%{len(getqflist())?'[Q]':''}
79 set statusline+=%{len(getloclist(0))?'[L]':''}
81 set statusline+=%n\ %#Question#%Y
82 set statusline+=%#DiffChange#%{strlen(&fenc)?&fenc:&enc}%{&bomb?'-bom':''}\ %{&ff}
83 set statusline+=%#DiffAdd#%l/%L
84 set statusline+=%#Todo#%c%V:0x%B
85 set statusline+=%#Comment#%o
86 set statusline+=%#Error#%{LintStatus()}
87 set statusline+=%*\ %P
89 function! LintStatus() " it is overrided in ftplugins
95 autocmd BufWinLeave ?* silent! if &ft !=# "gitcommit" | mkview | endif
96 autocmd BufWinEnter ?* silent loadview
105 nmap <leader>- <C-w>\|<C-w>_
106 nmap <leader>= <C-w>=
107 nmap <Del> :close<CR>
108 autocmd VimResized * wincmd =
111 " Tmux window naming {{{
114 autocmd BufEnter * let &titlestring = expand("%:t")
118 nmap <F7> :Gvsplit <C-R><C-W><CR>zR
119 nmap <F9> :diffupdate<CR>:syntax off<CR>:syntax on<CR>
122 " *-lists indentation and formatting {{{
124 set formatlistpat=^\\s*\\*\ \\s*
125 set formatoptions+=onj
129 set spelllang=ru,en_gb
130 highlight SpellBad cterm=inverse ctermfg=red ctermbg=black
131 highlight SpellLocal term=reverse ctermfg=red ctermbg=cyan
134 " Unimpaired-like textwidth switching {{{
135 nmap [ob :set textwidth=72<CR>
136 nmap ]ob :set textwidth=0<CR>
143 imap <F1> <C-O>:help!<CR>
149 let g:sh_no_error = 1
152 nmap <space> f<space>
156 nmap <leader>p "_diwP
158 nnoremap <leader>d "_d
159 vnoremap <leader>d "_d
163 imap <C-b> <C-x><C-o>
164 nmap <Tab> :buffers<CR>:b<Space>
165 nmap <silent> <Home> :registers<CR>
166 nmap <leader>' yiwciw"<C-r>""<ESC>
167 nmap <leader>h1 yypVr=o
168 nmap <leader>sc 024i-<ESC>a >8 <ESC>24a-<ESC>
169 nmap <leader><C-]> :vertical wincmd ]<CR>
174 command! -bar -nargs=? -bang Tmp :silent vnew<bang>|setlocal buftype=nofile bufhidden=hide noswapfile buflisted filetype=<args> modifiable