Created
August 20, 2009 12:05
-
-
Save anonymous/171022 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
" Цветовая схема, color | |
colorscheme tutticolori | |
" Включить подсветку синтаксиса | |
syntax on | |
" == set number, установить нумерацию | |
set nu | |
" Проверять файл на кодировку в следующем порядке | |
set fileencodings=ucs-bom,utf-8,cp1251,default,latin1 | |
" Шрифт для gvim | |
set guifont=Courier\ New\ 14 | |
" Табуляция = 4 пробелам, ts | |
set tabstop=4 | |
" == set sw=4, сдвиг при увеличении/уменьшении отступов | |
set shiftwidth=4 | |
" Не заменять табы пробелами | |
set noexpandtab | |
" == set autoindent, автоотступ | |
set ai | |
" Показать командную строку | |
set showcmd | |
" При поиске файлов игнорировать эти (временные, исполняемые MS и т.п.) | |
set wildignore=*.bak,*.exe,*.pyc,*.*~ | |
" Кодировка по умолчанию | |
set encoding=utf-8 | |
" Кодировка терминала | |
set termencoding=utf-8 | |
" Кодировка для сохранения | |
"set fileencoding=utf-8 | |
" Включить фолдинг | |
set foldenable | |
" Фолдить по (syntax - синтаксису, indent - отступ) | |
set fdm=indent | |
" Все должны быть открыты | |
set foldlevelstart=10 | |
" Открывать все при наведении | |
"set foldopen=all | |
" менять рабочий каталог на тот, где файл | |
set autochdir | |
" Не делать резервных копий | |
set nobackup | |
" не записывать бэкапов | |
set nowritebackup | |
" не создавать swap-файлов | |
set noswapfile | |
" Не различать БоЛьшие и маЛые | |
set ic | |
" Подсветка найденных | |
set hls is | |
" режим несовместимости с vi | |
set nocompatible | |
" порядок действий при бэкспейсе в режиме вставки | |
set backspace=indent,eol,start | |
" хранить 500 записей истории | |
set history=500 | |
" показывать позицию курсора всегда | |
set ruler | |
" Всегда показывать мышку | |
set mouse=a | |
" Устанавливаем аббревиатуры для режима вставки, сначала очистив (см. :help abbreviate) | |
:iabc | |
:iabbrev #- #------------------------------------------------------------------------------# | |
:iabbrev /*- /*----------------------------------------------------------------------------*/ | |
let python_highlight_all = 1 " Подсвечивать по питону все, что можно | |
nmap <C-P> O<esc>p | |
" Переход по буферам | |
" http://vimdoc.sourceforge.net/htmldoc/windows.html#:sbnext | |
" http://vim.wikia.com/wiki/Vim_buffer_FAQ | |
nmap <S-tab> :bprevious<cr> | |
nmap <tab> :bnext<cr> | |
map <esc><esc> :buffers<cr> | |
" В нормальном режиме Backspace приводит к переходу на предыдущий редактируемый буфер. | |
nmap <backspace> :b#<cr> | |
" Создание закладок | |
" nmap <C-t> :tabnew<cr> | |
" imap <C-t> <ESC>:tabnew<cr> | |
" Открыть и спрятать дерево файлов и список тегов | |
" map <C-B> :NERDTreeToggle<CR> | |
" map <C-C> :TlistToggle<CR> | |
" создание меню для переключения кодировок | |
"set wildmenu | |
"set wcm=<Tab> | |
"menu Encoding.CP1251 :e ++enc=cp1251<CR> | |
"menu Encoding.CP866 :e ++enc=cp866<CR> | |
"menu Encoding.KOI8-U :e ++enc=koi8-u<CR> | |
"menu Encoding.UTF-8 :e ++enc=utf-8<CR> | |
"map <F8> :emenu Encoding.<TAB> | |
" Установить сохранение на F2 | |
imap <F2> <esc>:w<cr>i | |
nmap <F2> :w<cr> | |
" при создании файлов с расширением py добавлять заголовок | |
function! BufNewFile_PY() | |
0put = '#!/usr/bin/env python' | |
1put = '#coding:utf8' | |
normal G | |
endfunction | |
autocmd BufNewFile *.py call BufNewFile_PY() | |
" При работе с файлами шаблонов mako устанавливать соответствующий синтаксис | |
autocmd BufNewFile,BufRead *.mako set syn=mako | |
" Автозакрывать скобки | |
imap [ []<LEFT> | |
imap ( ()<LEFT> | |
imap { {}<LEFT> | |
" Запускать файл по <F5>: | |
function Run() | |
let $ext=expand("%:e") " получаем расширение файла % через модификатор :e | |
if $ext=='py' | |
!/usr/bin/env python "%" | |
elseif $ext=='php' | |
!/usr/bin/env php "%" | |
endif | |
endfunction | |
map <F5> :call Run()<cr> | |
" Установка переноса в тексте для всего, кроме скриптов | |
:autocmd BufEnter *.py,*.php,*.css,*.html,*.htm,*.js :set nowrap | |
:autocmd BufLeave *.py,*.php,*.css,*.html,*.htm,*.js :set wrap | |
" Переход между окнами по Ctrl + стрелки вверх/низ. Очень удобно. | |
:map <C-DOWN> <C-W>j<C-W>_ | |
:map <C-UP> <C-W>k<C-W>_ | |
" Ставим на F12 включение - выключение номеров строк. | |
:map <F12> :set number!<cr> | |
" Для чтения файлов MS Word (нужен установленный antiword) | |
:autocmd BufReadPre *.doc set ro | |
:autocmd BufReadPre *.doc set hlsearch! | |
:autocmd BufReadPost *.doc %!antiword "%" | |
" Сохранение и загрузка сессии по горячим клавишам | |
nmap <C-M> :mksession! /home/kawaikunee/.vim_session<cr> | |
nmap <C-L> :source /home/kawaikunee/.vim_session<cr> | |
" Плагин для автовсплывания автодополнения | |
" http://www.vim.org/scripts/script.php?script_id=1879 | |
" :AutoComplPopDisable | |
" :AutoComplPopEnable | |
" Автодополнение для языков | |
" http://amix.dk/blog/viewEntry/19021 | |
autocmd FileType python set omnifunc=pythoncomplete#Complete | |
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS | |
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags | |
autocmd FileType css set omnifunc=csscomplete#CompleteCSS | |
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags | |
autocmd FileType php set omnifunc=phpcomplete#CompletePHP | |
autocmd FileType c set omnifunc=ccomplete#Complete | |
" Добавить или убрать словарь | |
" http://vim.wikia.com/wiki/Dictionary_completions | |
" :set dictionary+=/usr/share/dict/words | |
" :set dictionary-=/usr/share/dict/words | |
" Скрипт для срабатывания автодополнения на Tab | |
" http://wiki.rsdn.ru/(S(ygop3rf0tsljfle2jjd2i445))/vim-plugins.ashx | |
set complete="" | |
set complete+=. | |
set complete+=k | |
set complete+=b | |
set complete+=t | |
set completeopt-=preview | |
set completeopt+=longest | |
set mps-=[:] | |
function! SuperCleverTab() | |
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$' | |
return "\<Tab>" | |
else | |
"if &omnifunc != "" | |
" return "\<C-X>\<C-O>" | |
"elseif &dictionary != "" | |
" return "\<C-K>" | |
"else | |
return "\<C-N>" | |
"endif | |
endif | |
endfunction | |
" На Crtl-Space делаем дополнение по синтаксису, | |
" а на Tab - по текущим словарям (открытые буферы и подключенные словари) | |
imap <Tab> <C-R>=SuperCleverTab()<cr> | |
imap <C-@> <C-X><C-O> | |
" Чтобы в нормальном режиме срабатывали сочетания клавиш в килиллице | |
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 Ю > |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment