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