indvdum.vim
author indvdum (gotoindvdum[at]gmail[dot]com)
Fri, 02 Mar 2012 01:10:18 +0400
changeset 1 fce9e2151421
parent 0 6b5ff619caec
child 2 a14a25c6bbd0
permissions -rwxr-xr-x
Config
     1 "
     2 " Файл конфигурации VIM — indvdum.vim
     3 " 22.08.2010 17:38:26
     4 "
     5 " indvdum
     6 "
     7 
     8 " menu
     9 set wildmenu
    10 set wcm=<Tab>
    11 menu Encoding.utf-8 :e ++enc=utf8<cr>
    12 menu Encoding.cp1251 :e ++enc=cp1251<cr>
    13 menu Encoding.koi8-r :e ++enc=koi8-r<cr>
    14 menu Encoding.cp866 :e ++enc=cp866<cr>
    15 menu Encoding.utf-16le :set enc=utf-8<cr>:e ++enc=utf-16le<cr>
    16 menu Insert.date_time :start<cr><C-R>=strftime("%c")<CR>
    17 
    18 set fileencodings=utf-8,cp1251,koi8-r,cp866,utf-16le
    19 "set encoding=utf-8
    20 set autoindent
    21 set shiftwidth=4
    22 set tabstop=4
    23 set softtabstop=4
    24 set smarttab
    25 set is
    26 set ic
    27 set textwidth=0
    28 set winminheight=0
    29 set noequalalways
    30 set nowrap
    31 set winheight=9999
    32 set nu
    33 set iskeyword=@,48-57,_,192-255
    34 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,Б<,Ю>,Ё~
    35 sy on
    36 if has("win32")
    37     set columns=120
    38     set lines=30
    39 	set guifont=courier_new:h10:cRUSSIAN
    40 endif
    41 if has("gui_running") && !has("win32")
    42     set columns=120
    43     set lines=30
    44 endif
    45 set clipboard=unnamed
    46 set cursorline
    47 set nocursorcolumn
    48 set visualbell
    49 set laststatus=2
    50 set statusline=%<%f%h%m%r%=format=%{&fileformat}\ file=%{&fileencoding}\ enc=%{&encoding}\ %b\ 0x%B\ %l,%c%V\ %P
    51 set nobackup
    52 set noswapfile
    53 set undolevels=65536
    54 if version >= 703
    55     set undofile
    56 	set undodir=$VIMRUNTIME/../undofiles/
    57     set norelativenumber
    58     set colorcolumn=80
    59 endif
    60 
    61 "НАСТРОЙКИ ПОИСКА
    62 set ignorecase " ics - поиск без учёта регистра символов
    63 set smartcase " - если искомое выражения содержит символы в верхнем регистре - ищет с учётом регистра, иначе -  без учёта
    64 set hls " подсветка результатов поиска
    65 set incsearch " поиск фрагмента по мере его набора
    66 
    67 "ВКЛЮЧЕНИЕ АВТОДОПЛНЕНИЯ ВВОДА (omnifunct)
    68 autocmd FileType python set omnifunc=pythoncomplete#Complete
    69 autocmd FileType tt2html set omnifunc=htmlcomplete#CompleteTags
    70 autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
    71 autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
    72 autocmd FileType css set omnifunc=csscomplete#CompleteCSS
    73 autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
    74 autocmd FileType php set omnifunc=phpcomplete#CompletePHP
    75 autocmd FileType c set omnifunc=ccomplete#Complete
    76 
    77 "" Переключение табов (вкладок)
    78 map <S-tab> :tabprevious<cr>
    79 nmap <S-tab> :tabprevious<cr>
    80 imap <S-tab> <ESC>:tabprevious<cr>i
    81 map <C-tab> :tabnext<cr>
    82 nmap <C-tab> :tabnext<cr>
    83 imap <C-tab> <ESC>:tabnext<cr>i
    84 nmap <C-t> :tabnew<cr>
    85 imap <C-t> <ESC>:tabnew<cr>
    86 "nmap <C-w> :tabclose<cr>
    87 "imap <C-w> <ESC>:tabclose<cr>
    88 
    89 set go+=b
    90 set lbr " переносить целые слова
    91 " set mouse=a " включает поддержку мыши при работе в терминале (без GUI)
    92 set mouse=
    93 set t_Co=256 " использовать больше цветов в терминале
    94 filetype plugin indent on " определять подсветку на основе кода файла
    95 "" Автоматически перечитывать конфигурацию VIM после сохранения
    96 autocmd! bufwritepost $MYVIMRC source $MYVIMRC
    97 
    98 if has("gui_running")
    99 	colo desert
   100 else
   101 	colo ron
   102 endif
   103 
   104 " Теперь нет необходимости передвигать курсор к краю экрана, чтобы подняться в режиме редактирования
   105 set scrolljump=1
   106 " Теперь нет необходимости передвигать курсор к краю экрана, чтобы опуститься в режиме редактирования
   107 set scrolloff=3
   108 " Скрыть панель в gui версии ибо она не нужна
   109 set guioptions-=T
   110 " Включаем "умные" отступы ( например, автоотступ после {)
   111 set smartindent
   112 
   113 
   114 " Пробел в нормальном режиме перелистывает страницы
   115 nmap <Space> <C-D><C-D>
   116 nmap <S-Space> <C-U><C-U>
   117 
   118 " CTRL-F для omni completion
   119 imap <C-Space> <C-X><C-O>
   120 
   121 nmap <PageUp> <C-U><C-U>
   122 imap <PageUp> <C-O><C-U><C-O><C-U>
   123 nmap <PageDown> <C-D><C-D>
   124 imap <PageDown> <C-O><C-D><C-O><C-D>
   125 
   126 " < & > - делаем отступы для блоков
   127 vmap < <gv
   128 vmap > >gv
   129 
   130 " не перепрыгивать через длинные строки при включенном переносе строк
   131 nnoremap j gj
   132 nnoremap k gk
   133 vnoremap j gj
   134 vnoremap k gk
   135 nnoremap <DOWN> gj
   136 nnoremap <UP> gk
   137 vnoremap <DOWN> gj
   138 vnoremap <UP> gk
   139 inoremap <DOWN> <C-O>gj
   140 inoremap <UP> <C-O>gk
   141 
   142 " Ctrl-пробел для автодополнения
   143 inoremap <C-space> <C-x><C-o>
   144 
   145 map <F7> <Esc>:set wrap!<cr>:set wrap?<cr>
   146 imap <F7> <Esc>:set wrap!<cr>:set wrap?<cr>
   147 map <F8> <Esc>:emenu <TAB>
   148 map <F12> <Esc>:tabnew $vimruntime/indvdum.vim<cr>