" http://kastaneda.kiev.ua/desktop/dotrc/vim.html " общие настройки syntax on " включить подсветку синтаксиса set ts=8 " у меня табуляция (tabstop) 4 символа set tabstop=8 set shiftwidth=8 set textwidth=8 set autoindent set tw=159 set copyindent " set expandtab set background=dark " весьма важная штука! :) set lbr set showcmd set nocompatible " обойдёмся без стандартного vi set backspace=indent,eol,start color desert set number nmap :set invlist " отключение бэкапов set nobackup " set backup " set backupdir=$HOME/.vim/backups " set directory=$HOME/.vim/temp " чтобы курсор не прыгал, а вёл себя так, как kwrite и т.п. nnoremap j gj nnoremap k gk vnoremap j gj vnoremap k gk nnoremap gj nnoremap gk vnoremap gj vnoremap gk inoremap gj inoremap gk " файлы автоматом делаются исполняемыми function ModeChange() if getline(1) =~ "^#!" if getline(1) =~ "/bin/" silent !chmod a+x endif endif endfunction au BufWritePost * call ModeChange() " интуитивные горячие клавиши =) imap :setnu!a nmap :setnu! nmap :w vmap :wi imap :wi nmap :q! vmap :q!i imap :q!i " вкладки :set tabpagemax=99 nmap :tabnew imap :tabnew map :tabnext nmap :tabnext imap :tabnext map :tabprev nmap :tabprev imap :tabprev " кириллица set encoding=utf-8 set termencoding=utf-8 set fileencoding=utf-8 set wildmenu set wcm= menu Encoding.CP1251 :e ++enc=cp1251 menu Encoding.CP866 :e ++enc=cp866 menu Encoding.KOI8-U :e ++enc=koi8-u menu Encoding.UTF-8 :e ++enc=utf-8 map :emenu Encoding. " вкл/выкл автоперенос set pastetoggle= " set paste " nmap :set noautoindent " imap :set noautoindent " nmap :set autoindent " imap :set autoindent " inoremap u:set paste.:set nopastegi " чтобы отступы не съезжали при вставке из буфера X Window " FONT SIZE SHORTCUTS set guifont=Liberation\ Mono\ 8 let g:MyFontSize = 8 function! ToggleMyFontSize() if ( g:MyFontSize == 10 ) let g:MyFontSize = 8 elseif ( g:MyFontSize == 8 ) let g:MyFontSize = 9 elseif ( g:MyFontSize == 9 ) let g:MyFontSize = 10 endif execute "set guifont=Liberation\\ Mono\\ ".g:MyFontSize endfunction nnoremap :call ToggleMyFontSize() " теги set tags+=./.ctags set tags+=~/.big/ctags cscope add ./.cscope cscope add ~/.big/cscope map [I:let nr = input("Which one: ")exe "normal " . nr ."[\t" " Foldging set foldenable set foldmethod=syntax