" 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