indvdum.vim
author indvd00m
Fri, 11 May 2018 16:29:35 +0300
changeset 4 4137beec6616
parent 3 3e5c3ce53ad1
child 5 ae328bcaadcf
permissions -rwxr-xr-x
Moar
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 visualbell
indvdum@0
    47
set laststatus=2
indvdum@0
    48
set statusline=%<%f%h%m%r%=format=%{&fileformat}\ file=%{&fileencoding}\ enc=%{&encoding}\ %b\ 0x%B\ %l,%c%V\ %P
indvdum@0
    49
set nobackup
indvdum@0
    50
set noswapfile
indvdum@0
    51
set undolevels=65536
indvdum@0
    52
if version >= 703
indvdum@0
    53
    set undofile
indvdum@0
    54
	set undodir=$VIMRUNTIME/../undofiles/
indvdum@0
    55
    set norelativenumber
indvdum@0
    56
    set colorcolumn=80
indvdum@0
    57
endif
indvdum@0
    58
indvdum@0
    59
"НАСТРОЙКИ ПОИСКА
indvdum@0
    60
set ignorecase " ics - поиск без учёта регистра символов
indvdum@0
    61
set smartcase " - если искомое выражения содержит символы в верхнем регистре - ищет с учётом регистра, иначе -  без учёта
indvdum@0
    62
set hls " подсветка результатов поиска
indvdum@0
    63
set incsearch " поиск фрагмента по мере его набора
indvdum@0
    64
indvdum@0
    65
"ВКЛЮЧЕНИЕ АВТОДОПЛНЕНИЯ ВВОДА (omnifunct)
indvdum@0
    66
autocmd FileType python set omnifunc=pythoncomplete#Complete
indvdum@0
    67
autocmd FileType tt2html set omnifunc=htmlcomplete#CompleteTags
indvdum@0
    68
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
indvdum@0
    69
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
indvdum@0
    70
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
indvdum@0
    71
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
indvdum@0
    72
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
indvdum@0
    73
autocmd FileType c set omnifunc=ccomplete#Complete
indvdum@0
    74
indvdum@0
    75
"" Переключение табов (вкладок)
indvdum@0
    76
map <S-tab> :tabprevious<cr>
indvdum@0
    77
nmap <S-tab> :tabprevious<cr>
indvdum@0
    78
imap <S-tab> <ESC>:tabprevious<cr>i
indvdum@0
    79
map <C-tab> :tabnext<cr>
indvdum@0
    80
nmap <C-tab> :tabnext<cr>
indvdum@0
    81
imap <C-tab> <ESC>:tabnext<cr>i
indvdum@0
    82
nmap <C-t> :tabnew<cr>
indvdum@0
    83
imap <C-t> <ESC>:tabnew<cr>
indvdum@0
    84
"nmap <C-w> :tabclose<cr>
indvdum@0
    85
"imap <C-w> <ESC>:tabclose<cr>
indvdum@0
    86
indvdum@0
    87
set go+=b
indvdum@0
    88
set lbr " переносить целые слова
indvdum@2
    89
set mouse= " выключает поддержку мыши при работе в терминале (без GUI)
indvdum@0
    90
set t_Co=256 " использовать больше цветов в терминале
indvdum@0
    91
filetype plugin indent on " определять подсветку на основе кода файла
indvdum@0
    92
"" Автоматически перечитывать конфигурацию VIM после сохранения
indvdum@0
    93
autocmd! bufwritepost $MYVIMRC source $MYVIMRC
indvdum@0
    94
indvdum@0
    95
if has("gui_running")
indvdum@0
    96
	colo desert
indvdum@0
    97
else
indvdum@0
    98
	colo ron
indvdum@0
    99
endif
indvdum@0
   100
indvdum@2
   101
set cursorline
indvdum@2
   102
set cursorcolumn
indvdum@3
   103
hi CursorLine ctermbg=235
indvdum@3
   104
hi CursorColumn ctermbg=235
indvdum@3
   105
hi Search ctermbg=DarkBlue ctermfg=LightGrey
indvdum@2
   106
indvdum@2
   107
indvdum@0
   108
" Теперь нет необходимости передвигать курсор к краю экрана, чтобы подняться в режиме редактирования
indvdum@0
   109
set scrolljump=1
indvdum@0
   110
" Теперь нет необходимости передвигать курсор к краю экрана, чтобы опуститься в режиме редактирования
indvdum@2
   111
set scrolloff=5
indvdum@0
   112
" Скрыть панель в gui версии ибо она не нужна
indvdum@0
   113
set guioptions-=T
indvdum@0
   114
" Включаем "умные" отступы ( например, автоотступ после {)
indvdum@0
   115
set smartindent
indvd00m@4
   116
" Показываем space-символы по :set list
indvd00m@4
   117
set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
indvdum@0
   118
indvdum@0
   119
indvdum@0
   120
" Пробел в нормальном режиме перелистывает страницы
indvdum@0
   121
nmap <Space> <C-D><C-D>
indvdum@0
   122
nmap <S-Space> <C-U><C-U>
indvdum@0
   123
indvdum@0
   124
nmap <PageUp> <C-U><C-U>
indvdum@0
   125
imap <PageUp> <C-O><C-U><C-O><C-U>
indvdum@0
   126
nmap <PageDown> <C-D><C-D>
indvdum@0
   127
imap <PageDown> <C-O><C-D><C-O><C-D>
indvdum@0
   128
indvdum@0
   129
" < & > - делаем отступы для блоков
indvdum@0
   130
vmap < <gv
indvdum@0
   131
vmap > >gv
indvdum@0
   132
indvdum@0
   133
" не перепрыгивать через длинные строки при включенном переносе строк
indvdum@0
   134
nnoremap j gj
indvdum@0
   135
nnoremap k gk
indvdum@0
   136
vnoremap j gj
indvdum@0
   137
vnoremap k gk
indvdum@0
   138
nnoremap <DOWN> gj
indvdum@0
   139
nnoremap <UP> gk
indvdum@0
   140
vnoremap <DOWN> gj
indvdum@0
   141
vnoremap <UP> gk
indvdum@0
   142
inoremap <DOWN> <C-O>gj
indvdum@0
   143
inoremap <UP> <C-O>gk
indvdum@0
   144
indvdum@0
   145
" Ctrl-пробел для автодополнения
indvdum@0
   146
inoremap <C-space> <C-x><C-o>
indvdum@0
   147
indvdum@0
   148
map <F7> <Esc>:set wrap!<cr>:set wrap?<cr>
indvdum@0
   149
imap <F7> <Esc>:set wrap!<cr>:set wrap?<cr>
indvdum@0
   150
map <F8> <Esc>:emenu <TAB>
indvdum@0
   151
map <F12> <Esc>:tabnew $vimruntime/indvdum.vim<cr>