Created
August 5, 2014 07:06
-
-
Save mosquito/714afe3147828e01ac46 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
scriptencoding utf-8 | |
autocmd! | |
" Чтобы избежать необходимости выполнять переключение клавиатуры при вводе {{{ | |
" команд Обычного режима | |
set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz | |
"}}} | |
set viminfo='100,%,/50,:50,<50,h | |
" Настройки буферов {{{ | |
"set autowriteall " Записывать перед изменениями | |
set hidden | |
" }}} | |
" Цвета {{{ | |
colorscheme murphy | |
set background=dark | |
" }}} | |
" Отступы {{{ | |
filetype indent on " Включить отступы | |
filetype plugin on | |
" }}} | |
" Поиск {{{ | |
set nohlsearch | |
set incsearch | |
" }}} | |
" Поведение строк {{{ | |
set autoindent " Отступы | |
set scrolloff=4 " Количество строк вокруг курсора | |
"set number " Номера строк | |
set nowrap " Не разрывать строки | |
set showmatch " Показывать совпадающую скобку | |
" }}} | |
" Настройки табуляторов {{{ | |
set softtabstop=0 | |
set shiftwidth=2 | |
set tabstop=2 | |
set list! listchars=tab:‣\ | |
" }}} | |
" Настройка свертки {{{ | |
set foldmethod=marker | |
set foldlevel=100 | |
set foldmarker={{{{{,}}}}} | |
" }}} | |
" Показывать выделение после сдвига {{{ | |
vnoremap < <gv | |
vnoremap > >gv | |
" }}} | |
" Интерфейс {{{ | |
set nocompatible " Несовместимость с vi --- так удобнее | |
set backspace=indent,eol,start " Поведение клавиш | |
set termencoding=utf-8 " Кодировка терминала | |
syn on " Подсветка синтаксиса | |
set ruler " Строка статуса | |
set printoptions=paper:a4 | |
" }}} | |
" Цвет комментариев {{{ | |
highlight Comment ctermfg=Gray | |
"set list " Отображение непечатных символов | |
"set listchars=trail:~ " Отображать тильду вместо замыкающих пробелов | |
set laststatus=2 " Всегда показыать строку статуса | |
set wildmenu " Более удобное дополнение | |
set showcmd " Показывать введенные команды и размер выделенной области | |
set vb t_vb= " Отключить пищалку | |
set splitbelow " Новое окно появляется внизу | |
" }}} | |
" Random string {{{ | |
function! Random() | |
return system('echo $RANDOM $RANDOM `date +%s` | base64 | tr -dc a-z0-9') | |
endfunction | |
imap <silent> <F8> <C-R>=Random()<CR> | |
" }}} | |
" Горячие клавиши {{{ | |
" Сохранение {{{ | |
nnoremap <silent> <F2> :w<CR> | |
inoremap <silent> <F2> <Esc>:w<CR><Ins><Right> | |
nnoremap <silent> ^S :w<CR> | |
inoremap <silent> ^S <Esc>:w<CR><Ins><Right> | |
" }}} | |
" Свернуть {{{ | |
nnoremap <silent> <F6> zc <CR> | |
inoremap <silent> <F6> <Esc> zc <CR><Ins><Right> | |
" }}} | |
" Разверуть {{{ | |
nnoremap <silent> <F5> zO <CR> | |
inoremap <silent> <F5> <Esc> zO <CR><Ins><Right> | |
" }}} | |
" Свернуть все {{{ | |
nnoremap <silent> <F7> zM <CR> | |
inoremap <silent> <F7> <Esc> zM <CR><Ins><Right> | |
" }}} | |
" Выход {{{ | |
nnoremap <silent> <F10> :q<CR> | |
inoremap <silent> <F10> <Esc>:q<CR> | |
" }}} | |
" Переключение режима вставки {{{ | |
set pastetoggle=<F3> | |
" }}} | |
" }}} | |
" Запрет замены {{{ | |
function s:ForbidReplace() | |
if v:insertmode!=#'i' | |
call feedkeys("\<Insert>", "n") | |
endif | |
endfunction | |
augroup ForbidReplaceMode | |
autocmd! | |
autocmd InsertEnter * call s:ForbidReplace() | |
autocmd InsertChange * call s:ForbidReplace() | |
augroup END | |
inoremap <S-Insert> <ESC>:setl paste<CR>gi<C-R>+<ESC>:setl nopaste<CR>gi | |
imap {{{<CR> {<CR>}}}<Esc>O<Tab> | |
nmap <Home> ^ | |
imap <Home> <Esc>I | |
set undolevels=200 | |
set autoread | |
set backupdir=/tmp | |
if has("autocmd") | |
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | |
\| exe "normal! g'\"" | endif | |
endif | |
" }}} | |
" Настройки разных типов файлов {{{ | |
autocmd BufReadPost *.[ch] call On_C_Load() | |
autocmd BufReadPost *.{{{[Hh][Tt][Mm]?}}},*.tpl call On_HTML_Load() | |
autocmd BufReadPost *.phtml set filetype=php | |
let python_highlight_all = 1 | |
autocmd FileType python map <buffer> <silent> +m :call ShowDoc("<C-R><C-W>")<CR> | |
autocmd FileType python map <buffer> <silent> <leader>ip <Esc>oimport IPython^Mshell = IPython.Shell.IPShell(argv=[])^Mshell.mainloop()^M<Esc> | |
autocmd FileType xthml set filetype=htmldjango | |
autocmd BufNewFile,BufRead .* set expandtab softtabstop=2 shiftwidth=2 tabstop=2 | |
autocmd BufNewFile,BufRead * set expandtab softtabstop=2 shiftwidth=2 tabstop=2 | |
autocmd! BufRead,BufNewFile *.json set syntax=javascript autoindent formatoptions=tcq2l textwidth=78 shiftwidth=2 softtabstop=2 tabstop=2 expandtab | |
autocmd! BufNewFile,BufRead *.py set expandtab softtabstop=2 shiftwidth=2 tabstop=2 | |
autocmd! BufNewFile,BufRead *.rb set expandtab softtabstop=2 shiftwidth=2 tabstop=2 | |
autocmd! BufNewFile,BufRead *.erb set expandtab softtabstop=2 shiftwidth=2 tabstop=2 | |
autocmd! BufNewFile,BufRead *.c,*.cpp set cindent shiftwidth=2 noexpandtab | |
autocmd! BufNewFile,BufRead *.htm,*.html set cindent shiftwidth=2 noexpandtab | |
" }}} | |
au BufWinLeave * mkview | |
au BufWinEnter * silent loadview | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment