Конфиг:vimrc: различия между версиями

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
м
Строка 14: Строка 14:
set wrap
set wrap


"шрифт в gvim-gtk
"bell
set guifont=Dejavu\ Sans\ Mono\ 12
set novisualbell
"цветовая схема
set t_vb=
colorscheme desert
"mouse
"копирование/вставка по Ctrl-C/Ctrl-V
set mouse=a
set mousemodel=popup
set mousehide
"no vi compatibility
set nocompatible
 
set termencoding=utf-8
 
"appearance
set guifont=Liberation\ Mono\ 12
colorscheme camo
"
syntax enable
 
set sessionoptions=curdir,buffers,tabpages
 
"string numbers and other
set number
set ruler
set showcmd
"status
set statusline=%<%f%h%m%r\ %b\ %{&encoding}\ 0x\ \ %l,%c%V\ %P
set laststatus=2
"tab
set tabstop=4
set shiftwidth=4
set expandtab
 
"folding
"set foldmethod=indent
set foldmethod=syntax
set foldcolumn=2
set fo+=cr
 
"search options
set incsearch
set nohlsearch
 
"scroll options
set scrolljump=7
set scrolloff=7
 
"buffers
set nohidden
 
"indentation
set autoindent
set smartindent
 
set ch=2
 
"keymapping
set backspace=indent,eol,start whichwrap+=<,>,[,]
 
vmap <C-C> "+yi
vmap <C-C> "+yi
imap <C-V> <esc>"+gPi
imap <C-V> <esc>"+gPi
"вставка из буфера X по Shift-Ins
map <S-Insert> <MiddleMouse>
"Удаление предыдущего слова по Ctrl-Backspace
imap <C-BS> <C-W>
imap <C-BS> <C-W>
"новый таб по Ctrl-t, переключение по Ctrl-Tab/Ctrl-Shift-Tab
 
 
map <C-Tab> :tabN<cr>
map <C-Tab> :tabN<cr>
vmap <C-Tab> <esc>:tabN<cr>i
vmap <C-Tab> <esc>:tabN<cr>i
Строка 35: Строка 86:
vmap <C-t> <esc>:tabnew<cr>i
vmap <C-t> <esc>:tabnew<cr>i
imap <C-t> <esc>:tabnew<cr>i
imap <C-t> <esc>:tabnew<cr>i
map <C-ц> :tabnew<cr>
vmap <C-ц> <esc>:tabnew<cr>i
imap <C-ц> <esc>:tabnew<cr>i
"закрытие вкладки с подтверждением сохранения
map <C-q> :conf q<cr>
vmap <C-q> <esc>:conf q<cr>i
imap <C-q> <esc>:conf q<cr>i
map <C-й> :conf q<cr>
vmap <C-й> <esc>:conf q<cr>i
imap <C-й> <esc>:conf q<cr>i
"открываем файл по Ctrl-o
map <C-o> :browse confirm e<cr>
imap <C-o> <esc>:browse confirm e><cr>i
vmap <C-o> <esc>:browse confirm e><cr>v
"pair mappings
imap [ []<LEFT>


"Автодополнение по Shift-Tab
"completion
imap {<CR> {<CR>}<Esc>O
function InsertTabWrapper()
function InsertTabWrapper()
   let col = col('.') - 1
   let col = col('.') - 1
   if !col || getline('.')[col - 1] !~ '\k'
   if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
    return "\<tab>"
   else
   else
return "\<c-p>"
    return "\<c-p>"
  endif
endif
endfunction
endfunction
imap <S-tab> <c-r>=InsertTabWrapper()<cr>
imap <S-tab> <c-r>=InsertTabWrapper()<cr>
Строка 55: Строка 125:
" Из других открытых буферов
" Из других открытых буферов
set complete+=b
set complete+=b
" из тегов  
" из тегов
set complete+=t
set complete+=t


"включаем хоткеи для русской раскладки (работает в UTF8)
""Encoding menu
"==============================================
set wildmenu
set wcm=<Tab>
menu Кодировка.koi8-r :e ++enc=koi8-r<CR>
menu Кодировка.windows-1251 :e ++enc=cp1251<CR>
menu Кодировка.cp866 :e ++enc=cp866<CR>
menu Кодировка.utf-8 :e ++enc=utf8 <CR>
"==============================================
 
""misc plugins
"==============================================
"taglist plugin
" F11 - показать окно Taglist
"map <F11> :TlistToggle<cr>
"vmap <F11> <esc>:TlistToggle<cr>
"imap <F11> <esc>:TlistToggle<cr>
"let g:Tlist_Show_One_File = 1
 
""filetype plugin
"filetype on
"filetype plugin on
"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#CompleteCpp
 
""a.vim plugin hotkeys - switch to linked file/open in new tab
"map <F10> :A<cr>
"imap <F10> <esc>:A<cr>
"vmap <F10> <esc>:A<cr>
"map <C-F10> :AT<cr>
"imap <C-F10> <esc>:AT<cr>
"vmap <C-F10> <esc>:AT<cr>
 
"map russian symbols
"==============================
map ё `
map ё `
map й q
map й q
Строка 83: Строка 192:
map ж ;
map ж ;
map э '
map э '
map я z
map я z
map ч x
map ч x
Строка 107: Строка 215:
map Х {
map Х {
map Ъ }
map Ъ }
map Ф A
map Ф A
map Ы S
map Ы S
Строка 119: Строка 226:
map Ж :
map Ж :
map Э "
map Э "
map Я Z
map Я Z
map Ч X
map Ч X
Строка 129: Строка 235:
map Б <
map Б <
map Ю >
map Ю >
 
"=====================
</source>
</source>
----
----


[[Category:Конфиг-файл]]
[[Category:Конфиг-файл]]

Версия 22:22, 26 декабря 2008


:set wildmenu
:set wcm=<Tab>
:set incsearch " поиск по мере набора
:set ai " копирование отступа из предыдущей строки
:set pastetoggle=<F2> " вклейка по F2
:set autoindent " Автоотступы
:set smartindent " Автоотступы
:set hlsearch " подсветка найденного
:set t_Co=256 " влючаем 256 цветов
:set cursorline "показ линии, на которой находится курсор
syn on
set wrap

"bell
set novisualbell
set t_vb=
"mouse
set mouse=a
set mousemodel=popup
set mousehide
"no vi compatibility
set nocompatible

set termencoding=utf-8

"appearance
set guifont=Liberation\ Mono\ 12
colorscheme camo
"
syntax enable

set sessionoptions=curdir,buffers,tabpages

"string numbers and other
set number
set ruler
set showcmd
"status
set statusline=%<%f%h%m%r\ %b\ %{&encoding}\ 0x\ \ %l,%c%V\ %P
set laststatus=2
"tab
set tabstop=4
set shiftwidth=4
set expandtab

"folding
"set foldmethod=indent
set foldmethod=syntax
set foldcolumn=2
set fo+=cr

"search options
set incsearch
set nohlsearch

"scroll options
set scrolljump=7
set scrolloff=7

"buffers
set nohidden

"indentation
set autoindent
set smartindent

set ch=2

"keymapping
set backspace=indent,eol,start whichwrap+=<,>,[,]

vmap <C-C> "+yi
imap <C-V> <esc>"+gPi
imap <C-BS> <C-W>


map <C-Tab> :tabN<cr>
vmap <C-Tab> <esc>:tabN<cr>i
imap <C-Tab> <esc>:tabN<cr>i
map <C-S-Tab> :tabp<cr>
vmap <C-S-Tab> <esc>:tabp<cr>i
imap <C-S-Tab> <esc>:tabp<cr>i
map <C-t> :tabnew<cr>
vmap <C-t> <esc>:tabnew<cr>i
imap <C-t> <esc>:tabnew<cr>i
map <C-ц> :tabnew<cr>
vmap <C-ц> <esc>:tabnew<cr>i
imap <C-ц> <esc>:tabnew<cr>i

"закрытие вкладки с подтверждением сохранения
map <C-q> :conf q<cr>
vmap <C-q> <esc>:conf q<cr>i
imap <C-q> <esc>:conf q<cr>i
map <C-й> :conf q<cr>
vmap <C-й> <esc>:conf q<cr>i
imap <C-й> <esc>:conf q<cr>i
"открываем файл по Ctrl-o
map <C-o> :browse confirm e<cr>
imap <C-o> <esc>:browse confirm e><cr>i
vmap <C-o> <esc>:browse confirm e><cr>v

"pair mappings
imap [ []<LEFT>

"completion
imap {<CR> {<CR>}<Esc>O
function InsertTabWrapper()
  let col = col('.') - 1
  if !col || getline('.')[col - 1] !~ '\k'
    return "\<tab>"
  else
    return "\<c-p>"
endif
endfunction
imap <S-tab> <c-r>=InsertTabWrapper()<cr>

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

""Encoding menu
"==============================================
set wildmenu
set wcm=<Tab>
menu Кодировка.koi8-r :e ++enc=koi8-r<CR>
menu Кодировка.windows-1251 :e ++enc=cp1251<CR>
menu Кодировка.cp866 :e ++enc=cp866<CR>
menu Кодировка.utf-8 :e ++enc=utf8 <CR>
"==============================================

""misc plugins
"==============================================
"taglist plugin
" F11 - показать окно Taglist
"map <F11> :TlistToggle<cr>
"vmap <F11> <esc>:TlistToggle<cr>
"imap <F11> <esc>:TlistToggle<cr>
"let g:Tlist_Show_One_File = 1

""filetype plugin
"filetype on
"filetype plugin on
"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#CompleteCpp

""a.vim plugin hotkeys - switch to linked file/open in new tab
"map <F10> :A<cr>
"imap <F10> <esc>:A<cr>
"vmap <F10> <esc>:A<cr>
"map <C-F10> :AT<cr>
"imap <C-F10> <esc>:AT<cr>
"vmap <C-F10> <esc>:AT<cr>

"map russian symbols
"==============================
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 Ю >
"=====================