~ delirio /.vimrc

my .vimrc at Втр Ноя 27 20:44:35 MSK 2007
"-------------------------
" Базовые настройки
"-------------------------

" Включаем несовместимость настроек с Vi (ибо Vi нам и не понадобится).
set nocompatible

" Показывать положение курсора всё время.
set ruler  

" Показывать незавершённые команды в статусбаре
set showcmd

" Включаем нумерацию строк
set nu

" устанавливаем GUI-шрифт
set gfn=Consolas

" меняем цветовую схему
colorscheme desert

" включить подсветку синтаксиса
syntax on

" установить автоотступ
set autoindent

" вставлять пробелы, а не табы
set expandtab

" Размер табулации по умолчанию
set shiftwidth=4
set softtabstop=4
set tabstop=4

" насильно заставляем считать бекграунд темным
set background=dark

" зеленый цвет камментов
highlight Comment ctermfg=darkgreen

" при поиске помечать все найденные строки
set hlsearch

" при поиске перескакивать на найденный текст в процессе набора строки
set incsearch 

" Поддержка мыши
set mouse=a
set mousemodel=popup

" Кодировка текста по умолчанию
set termencoding=utf-8

" Не выгружать буфер, когда переключаемся на другой
" Это позволяет редактировать несколько файлов в один и тот же момент без необходимости сохранения каждый раз
" когда переключаешься между ними
set hidden

" увеличение истории команд
set history=500
set undolevels=100
filetype plugin on
filetype indent on

" Слова откуда будем завершать
set complete=""
" Из текущего буфера
set complete+=.
" Из словаря
set complete+=k
" Из других открытых буферов
set complete+=b
" из тегов 
set complete+=t

"-------------------------
" Горячие клавишы
"-------------------------

" автодополнение по Control+Space
imap <C-Space> <C-N>

" выход
imap <F12> <Esc>:qa<CR>
nmap <F12> :qa<CR>

" сохранение текущего буфера
imap <F2> <Esc>:w<CR>a
nmap <F2> :w<CR>

" сохранение всех буферов
imap <S-F2> <Esc>:wa<CR>a
nmap <S-F2> :wa<CR>

" закрыть буфер
imap <C-F4> <Esc>:bd<CR>a
nmap <C-F4> :bd<CR>

" открыть буфер
imap <F3> <Esc>:e<Space>
nmap <F3> :e<Space>

" следующий буфер
imap <F6> <Esc>:bn!<CR>a
nmap <F6> :bn!<CR>

" предыдущий буфер
imap <F5> <Esc>:bp!<CR>a
nmap <F5> :bp!<CR>

" окно ниже и развернуть
imap <C-F8> <Esc><C-W>j<C-W>_a
nmap <C-F8> <C-W>j<C-W>_

" окно выше и развернуть
imap <C-F7> <Esc><C-W>k<C-W>_a
nmap <C-F7> <C-W>k<C-W>_

" окно ниже
imap <F8> <Esc><C-W>ja
nmap <F8> <C-W>j

" окно выше
imap <F7> <Esc><C-W>ka
nmap <F7> <C-W>k

" окно левее
imap <S-F7> <Esc><C-W>ha
nmap <S-F7> <C-W>h

" окно правее
imap <S-F8> <Esc><C-W>la
nmap <S-F8> <C-W>l


" вкл/выкл отображения номеров строк
imap <F1> <Esc>:set<Space>nu!<CR>a
nmap <F1> :set<Space>nu!<CR>

" вкл/выкл отображения найденных соответствий
imap <S-F1> <Esc>:set<Space>hls!<CR>a
nmap <S-F1> :set<Space>hls!<CR>

" Меню выбора кодировки текста (koi8-r, cp1251, cp866, utf8)
set wildmenu
set wcm=<Tab> 
menu Encoding.koi8-r :e ++enc=koi8-r<CR>
menu Encoding.windows-1251 :e ++enc=cp1251<CR>
menu Encoding.cp866 :e ++enc=cp866<CR>
menu Encoding.utf-8 :e ++enc=utf8 <CR>