init
authorindvdum (gotoindvdum[at]gmail[dot]com)
Sun, 27 Nov 2011 22:56:52 +0300
changeset 06b5ff619caec
child 1 fce9e2151421
init
indvdum.vim
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/indvdum.vim	Sun Nov 27 22:56:52 2011 +0300
     1.3 @@ -0,0 +1,147 @@
     1.4 +"
     1.5 +" Файл конфигурации VIM — indvdum.vim
     1.6 +" 22.08.2010 17:38:26
     1.7 +"
     1.8 +" indvdum
     1.9 +"
    1.10 +
    1.11 +" menu
    1.12 +set wildmenu
    1.13 +set wcm=<Tab>
    1.14 +menu Encoding.utf-8 :e ++enc=utf8<cr>
    1.15 +menu Encoding.cp1251 :e ++enc=cp1251<cr>
    1.16 +menu Encoding.koi8-r :e ++enc=koi8-r<cr>
    1.17 +menu Encoding.cp866 :e ++enc=cp866<cr>
    1.18 +menu Encoding.utf-16le :set enc=utf-8<cr>:e ++enc=utf-16le<cr>
    1.19 +menu Insert.date_time :start<cr><C-R>=strftime("%c")<CR>
    1.20 +
    1.21 +set fileencodings=utf-8,cp1251,koi8-r,cp866,utf-16le
    1.22 +"set encoding=utf-8
    1.23 +set autoindent
    1.24 +set shiftwidth=4
    1.25 +set tabstop=4
    1.26 +set softtabstop=4
    1.27 +set smarttab
    1.28 +set is
    1.29 +set ic
    1.30 +set textwidth=0
    1.31 +set winminheight=0
    1.32 +set noequalalways
    1.33 +set nowrap
    1.34 +set winheight=9999
    1.35 +set nu
    1.36 +set iskeyword=@,48-57,_,192-255
    1.37 +set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,х[,ъ],фa,ыs,вd,аf,пg,рh,оj,лk,дl,ж\\;,э',яz,чx,сc,мv,иb,тn,ьm,б\\,,ю.,ё`,ЙQ,ЦW,УE,КR,ЕT,НY,ГU,ШI,ЩO,ЗP,Х{,Ъ},ФA,ЫS,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж:,Э\\",ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б<,Ю>,Ё~
    1.38 +sy on
    1.39 +if has("win32")
    1.40 +    set columns=120
    1.41 +    set lines=30
    1.42 +	set guifont=courier_new:h10:cRUSSIAN
    1.43 +endif
    1.44 +if has("gui_running") && !has("win32")
    1.45 +    set columns=120
    1.46 +    set lines=30
    1.47 +endif
    1.48 +set clipboard=unnamed
    1.49 +set cursorline
    1.50 +set nocursorcolumn
    1.51 +set visualbell
    1.52 +set laststatus=2
    1.53 +set statusline=%<%f%h%m%r%=format=%{&fileformat}\ file=%{&fileencoding}\ enc=%{&encoding}\ %b\ 0x%B\ %l,%c%V\ %P
    1.54 +set nobackup
    1.55 +set noswapfile
    1.56 +set undolevels=65536
    1.57 +if version >= 703
    1.58 +    set undofile
    1.59 +	set undodir=$VIMRUNTIME/../undofiles/
    1.60 +    set norelativenumber
    1.61 +    set colorcolumn=80
    1.62 +endif
    1.63 +
    1.64 +"НАСТРОЙКИ ПОИСКА
    1.65 +set ignorecase " ics - поиск без учёта регистра символов
    1.66 +set smartcase " - если искомое выражения содержит символы в верхнем регистре - ищет с учётом регистра, иначе -  без учёта
    1.67 +set hls " подсветка результатов поиска
    1.68 +set incsearch " поиск фрагмента по мере его набора
    1.69 +
    1.70 +"ВКЛЮЧЕНИЕ АВТОДОПЛНЕНИЯ ВВОДА (omnifunct)
    1.71 +autocmd FileType python set omnifunc=pythoncomplete#Complete
    1.72 +autocmd FileType tt2html set omnifunc=htmlcomplete#CompleteTags
    1.73 +autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
    1.74 +autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
    1.75 +autocmd FileType css set omnifunc=csscomplete#CompleteCSS
    1.76 +autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
    1.77 +autocmd FileType php set omnifunc=phpcomplete#CompletePHP
    1.78 +autocmd FileType c set omnifunc=ccomplete#Complete
    1.79 +
    1.80 +"" Переключение табов (вкладок)
    1.81 +map <S-tab> :tabprevious<cr>
    1.82 +nmap <S-tab> :tabprevious<cr>
    1.83 +imap <S-tab> <ESC>:tabprevious<cr>i
    1.84 +map <C-tab> :tabnext<cr>
    1.85 +nmap <C-tab> :tabnext<cr>
    1.86 +imap <C-tab> <ESC>:tabnext<cr>i
    1.87 +nmap <C-t> :tabnew<cr>
    1.88 +imap <C-t> <ESC>:tabnew<cr>
    1.89 +"nmap <C-w> :tabclose<cr>
    1.90 +"imap <C-w> <ESC>:tabclose<cr>
    1.91 +
    1.92 +set go+=b
    1.93 +set lbr " переносить целые слова
    1.94 +set mouse=a " включает поддержку мыши при работе в терминале (без GUI)
    1.95 +set t_Co=256 " использовать больше цветов в терминале
    1.96 +filetype plugin indent on " определять подсветку на основе кода файла
    1.97 +"" Автоматически перечитывать конфигурацию VIM после сохранения
    1.98 +autocmd! bufwritepost $MYVIMRC source $MYVIMRC
    1.99 +
   1.100 +if has("gui_running")
   1.101 +	colo desert
   1.102 +else
   1.103 +	colo ron
   1.104 +endif
   1.105 +
   1.106 +" Теперь нет необходимости передвигать курсор к краю экрана, чтобы подняться в режиме редактирования
   1.107 +set scrolljump=1
   1.108 +" Теперь нет необходимости передвигать курсор к краю экрана, чтобы опуститься в режиме редактирования
   1.109 +set scrolloff=3
   1.110 +" Скрыть панель в gui версии ибо она не нужна
   1.111 +set guioptions-=T
   1.112 +" Включаем "умные" отступы ( например, автоотступ после {)
   1.113 +set smartindent
   1.114 +
   1.115 +
   1.116 +" Пробел в нормальном режиме перелистывает страницы
   1.117 +nmap <Space> <C-D><C-D>
   1.118 +nmap <S-Space> <C-U><C-U>
   1.119 +
   1.120 +" CTRL-F для omni completion
   1.121 +imap <C-Space> <C-X><C-O>
   1.122 +
   1.123 +nmap <PageUp> <C-U><C-U>
   1.124 +imap <PageUp> <C-O><C-U><C-O><C-U>
   1.125 +nmap <PageDown> <C-D><C-D>
   1.126 +imap <PageDown> <C-O><C-D><C-O><C-D>
   1.127 +
   1.128 +" < & > - делаем отступы для блоков
   1.129 +vmap < <gv
   1.130 +vmap > >gv
   1.131 +
   1.132 +" не перепрыгивать через длинные строки при включенном переносе строк
   1.133 +nnoremap j gj
   1.134 +nnoremap k gk
   1.135 +vnoremap j gj
   1.136 +vnoremap k gk
   1.137 +nnoremap <DOWN> gj
   1.138 +nnoremap <UP> gk
   1.139 +vnoremap <DOWN> gj
   1.140 +vnoremap <UP> gk
   1.141 +inoremap <DOWN> <C-O>gj
   1.142 +inoremap <UP> <C-O>gk
   1.143 +
   1.144 +" Ctrl-пробел для автодополнения
   1.145 +inoremap <C-space> <C-x><C-o>
   1.146 +
   1.147 +map <F7> <Esc>:set wrap!<cr>:set wrap?<cr>
   1.148 +imap <F7> <Esc>:set wrap!<cr>:set wrap?<cr>
   1.149 +map <F8> <Esc>:emenu <TAB>
   1.150 +map <F12> <Esc>:tabnew $vimruntime/indvdum.vim<cr>