" various settings set number helplang=en foldmethod=marker ttymouse=xterm2 mouse= set history=50 nobackup nomodeline backspace=indent,eol,start " hidden characters set list listchars=tab:\|_,nbsp:x,trail:* " search set hlsearch incsearch ignorecase smartcase " scroll before reaching the first / final line set scrolloff=3 sidescrolloff=15 sidescroll=1 " disable bell set noerrorbells visualbell t_vb= " indentation set tabstop=3 softtabstop=4 shiftwidth=4 smarttab expandtab " termcap fixes set t_Co=256 t_ut= termencoding=utf-8 encoding=utf-8 " status line set wildmenu showcmd ruler laststatus=2 set statusline=%F\ %m%r%h%w%=%{&fenc}/%{&ff}\ %y\ [%4l/%L:%3v]\ [%3p%%] " enable case indentation let g:sh_indent_case_labels=1 " version specific settings if has("nvim") || v:version >= 800 set breakindent set keymap=russian-jcukenwintype iminsert=0 imsearch=0 inoremap cnoremap inoremap cnoremap endif if has("nvim") || v:version >= 703 set colorcolumn=80 relativenumber nnoremap r :setlocal relativenumber! endif " maps " leader map let mapleader="\" " no more F1 noremap " some toggles nnoremap n :setlocal number! nnoremap l :setlocal list! nnoremap c :setlocal cursorline! nnoremap / :nohls "home / end nnoremap H ^ nnoremap L $ "copy to / paste from clipboard vmap y "+y vmap d "+d nmap p "+p nmap P "+P vmap p "+p vmap P "+P "move macro somewhere I won't accidentally use it nnoremap Q q nnoremap q "quit / save nnoremap qq :q nnoremap qf :q! nnoremap qa :qa nnoremap qw :wq nnoremap w :w " plugins let plugins = expand("$HOME/.vimplugins") if filereadable(plugins) execute 'source ' . fnameescape(plugins) else colorscheme solarized8_light endif syntax on filetype plugin on