Skip to content

Instantly share code, notes, and snippets.

@wilful
Forked from anonymous/.vimrc
Created December 22, 2011 08:56
Show Gist options
  • Save wilful/1509589 to your computer and use it in GitHub Desktop.
Save wilful/1509589 to your computer and use it in GitHub Desktop.
"-------------------------
" Стандартные настройки
"-------------------------
" When started as "evim", evim.vim will already have done these settings.
" if v:progname =~? "evim"
" finish
" endif
"if has("vms")
" set nobackup " do not keep a backup file, use versions instead
" else
" set backup " keep a backup file
"endif
" set history=50 " keep 50 lines of command line history
"
"-------------------------
" Базовые настройки
"-------------------------
set background=dark
highlight clear
"colorscheme xoria256
"Отключаем автодополнение скобок
let g:xptemplate_brace_complete = ''
"Отображаем табы и прочие гадости
set list
set listchars=tab:»·
"set listchars+=trail:·
set endofline
"set stal=2 "постоянно выводим строку с табами
"colorscheme peachpuff
"colorscheme desert
"подсветка текущей строки
set cursorline
"Настроим кол-во символов пробелов, которые будут заменять \t
set tabstop=4
set shiftwidth=4
set smarttab
"включим автозамену по умолчанию
set et
" Включаем перенос строк
set wrap
" Перенос строк по словам, а не по буквам
set linebreak
" по умолчанию - латинская раскладка
set iminsert=0
" по умолчанию - латинская раскладка при поиске
set imsearch=0
" Включаем несовместимость настроек с Vi (ибо Vi нам и не понадобится).
set nocompatible
" Показывать незавершённые команды в статусбаре
set showcmd
" Включаем нумерацию строк
"set nu
" проверка скобок
set showmatch
" Поиск по набору текста (очень полезная функция)
set incsearch
" Отключаем подстветку найденных вариантов,
set nohlsearch
" Кодировка текста по умолчанию
set termencoding=utf-8
"Включить автоотступы
"при начале новой строки, отступ копируется из предыдущей
" Включаем "умные" отспупы ( например, автоотступ после {)
"При этих параметрах не корректно работает вставка с linux буфера
"set autoindent
"set ai
"set smartindent
" Влючить подстветку синтаксиса
syntax on
" Метод фолдинга - по синтаксису
set fdm=syntax
" Разворачиваем все свернутые фолдингом группировки
set foldlevel=10
" Формат строки состояния
set statusline=%<%f%h%m%r\ %b\ %{&encoding}\ 0x\ \ %l,%c%V\ %P
set laststatus=2
" Не использовать .swp-файл
set noswapfile
" Поддержка мыши
if has('mouse')
set mouse=a
set mousemodel=popup
endif
"pathogen load
call pathogen#infect()
"Ruby
if has("autocmd")
autocmd FileType ruby set omnifunc=rubycomplete#Complete
autocmd FileType ruby let g:rubycomplete_buffer_loading=1
autocmd FileType ruby let g:rubycomplete_classes_in_global=1
endif
"----------------------------------------------------------------------------
" формат строки с ошибкой для gcc и sdcc, это нужно для errormarker
let &errorformat="%f:%l:%c: %t%*[^:]:%m,%f:%l: %t%*[^:]:%m," . &errorformat
" Слова откуда будем завершать
set complete=""
set complete+=. " Из текущего буфера
set complete+=k " Из словаря
set complete+=b " Из других открытых буферов
set complete+=t " из тегов
" игнорировать регистр при поиске
set ic
" русская раскладка
"set keymap=russian-jcukenwin
"set iskeyword=@,48-57,_,192-255
" allow to use backspace instead of "x"
set backspace=indent,eol,start whichwrap+=<,>,[,]
" Перемещать курсор на следующую строку при нажатии на клавиши вправо-влево и
" пр.
set whichwrap=b,s,<,>,[,],l,h
"LaTeX settings
let g:Tex_ViewRule_pdf='acroread &> /dev/null'
let g:Tex_DefaultTargetFormat='pdf'
let g:Tex_AutoFolding=0
filetype plugin indent on
au BufRead,BufNewFile *.phps set filetype=php
au BufRead,BufNewFile *.thtml set filetype=php
au BufRead,BufNewFile *.tex set filetype=tex
"-------------------------
" Горячие клавиши
"------------------------
nmap <F2> :w<cr>
vmap <F2> <esc>:w<cr>i
imap <F2> <esc>:w<cr>i
if version >= 700
set spelllang=ru,en
" set spell
map <F3> :set spell!<CR><bar>:echo "Spell check: " . strpart("OFFON", 3 * &spell, 3)<CR>
endif
" Открытие\закрытие новой вкладки
imap <C-t>t <Esc>:tabnew<CR>a
nmap <C-t>t :tabnew<CR>
map <F10> <Esc>:q<CR>
imap <F10> <Esc>:q<CR>
cmap <F10> <Esc><Esc>:q<CR>
map <F11> <Esc>:NERDTree<CR>
imap <F11> <Esc>:NERDTree<CR>
cmap <F11> <Esc><Esc>:NERDTree<CR>
vmap <C-C> "+yi
map <S-Insert> <MiddleMouse>
vmap < <gv
vmap > >gv
imap <Ins> <Esc>i
"imap [ []<LEFT>
"imap { {}<LEFT>
" Общее меню
set wildmenu
set wcm=<Tab>
set cpo-=<
source $VIMRUNTIME/menu.vim
map <F9> :emenu <tab>
" Меню Encoding -->
" Выбор кодировки, в которой читать файл -->
set wildmenu
set wcm=<Tab>
menu Encoding.Read.utf-8<Tab><F7> :e ++enc=utf8 <CR>
menu Encoding.Read.windows-1251<Tab><F7> :e ++enc=cp1251<CR>
menu Encoding.Read.koi8-r<Tab><F7> :e ++enc=koi8-r<CR>
menu Encoding.Read.cp866<Tab><F7> :e ++enc=cp866<CR>
map <F7> :emenu Encoding.Read.<TAB>
" Выбор кодировки, в которОй сохранять файл -->
set wildmenu
set wcm=<Tab>
menu Encoding.Write.utf-8<Tab><S-F7> :set fenc=utf8 <CR>
menu Encoding.Write.windows-1251<Tab><S-F7> :set fenc=cp1251<CR>
menu Encoding.Write.koi8-r<Tab><S-F7> :set fenc=koi8-r<CR>
menu Encoding.Write.cp866<Tab><S-F7> :set fenc=cp866<CR>
map <F8> :emenu Encoding.Write.<TAB>
" Более привычные Page Up/Down, когда курсор остаётся в той же строке,
"а не переносится вверх/вниз экрана, как при стандартном
"PgUp/PgDown.
"Поскольку по умолчанию прокрутка по C-U/D происходит на
"полэкрана,
"привязка делается к двойному нажатию этих комбинаций.
nmap <PageUp> <C-U><C-U>
imap <PageUp> <C-O><C-U><C-O><C-U>
nmap <PageDown> <C-D><C-D>
imap <PageDown> <C-O><C-D><C-O><C-D>
imap <C-@> <C-N>
" Навигация по буферам ^_^
nmap <F4> <Esc>:BufExplorer<cr>
vmap <F4> <esc>:BufExplorer<cr>
imap <F4> <esc>:BufExplorer<cr>
" F6 - предыдущий буфер
nmap <F5> :bp<cr>
vmap <F5> <esc>:bp<cr>i
imap <F5> <esc>:bp<cr>i
" F7 - следующий буфер
nmap <F6> :bn<cr>
vmap <F6> <esc>:bn<cr>i
imap <F6> <esc>:bn<cr>i
map ё `
map й q
map ц w
map у e
map к r
map е t
map н y
map г u
map ш i
map щ o
map з p
map х [
map ъ ]
map ф a
map ы s
map в d
map а f
map п g
map р h
map о j
map л k
map д l
map ж ;
map э '
map я z
map ч x
map с c
map м v
map и b
map т n
map ь m
map б ,
map ю .
map Ё ~
map Й Q
map Ц W
map У E
map К R
map Е T
map Н Y
map Г U
map Ш I
map Щ O
map З P
map Х {
map Ъ }
map Ф A
map Ы S
map В D
map А F
map П G
map Р H
map О J
map Л K
map Д L
map Ж :
map Э "
map Я Z
map Ч X
map С C
map М V
map И B
map Т N
map Ь M
map Б <
map Ю >
map ; $
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment