Поделитесь вашими vimrc и полезными советами по настройке и работе в Vim. Интересно всё. Хочется конфиг, который будет работать и на windows и на unix-подобных. Пока что, сделал немного (я эпизодически в конфиге ковыряюсь) и не организованно. Вот, моё, уж что есть: " Vim editor configuration: vimrc file. " " To use it, copy it to " for Unix and OS/2: ~/.vimrc " for Amiga: s:.vimrc " for MS-DOS and Win32: $VIM\_vimrc " for OpenVMS: sys$login:.vimrc
" When started as "evim", evim.vim will already have done these settings. if v:progname =~? "evim" finish endif " Use Vim settings, rather then Vi settings (much better!). " This must be first, because it changes other options as a side effect. set nocompatible " allow backspacing over everything in insert mode set backspace=indent,eol,start " 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 ruler " show the cursor position all the time set showcmd " display incomplete commands set incsearch " do incremental searching " set syntax=auto " Проверка орфографии set spell spelllang=en,ru " Игнорировать регистр букв при поиске set ignorecase " Don't say me, that file has changed since editing started set autoread set mouse=a " Mouse, like M$ windows set mousemodel=popup " For the correct GPM switch function work set paste " Перенос по словам set linebreak "set ttymouse= " Переключение раскладок клавиатуры по <C-^> " set keymap=russian-jcukenwin " Раскладка по умолчанию - английская set iminsert=0 " Отступы set tabstop=3 set shiftwidth=3 set smartindent " Tab to spaces set expandtab " Отображение дополнительной информации в статусной строке set statusline=%<%f%h%m%r%=format=%{&fileformat}\ file=%{&fileencoding}\ enc=%{&encoding}\ %b\ 0x%B\ %l,%c%V\ %P set laststatus=2 " всегда показывать строку статуса " Список кодировок файлов для автоопределения set fileencodings=utf-8,cp1251,cp866,koi8-r " GUI if has("gui_win32") || has("win32") set guifont=Monospace\ 12 else set guifont=Terminus\ 12 endif " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries " let &guioptions = substitute(&guioptions, "t", "", "g") " Mapping keys " set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,х[,ъ],фa,ыs,вd,аf,пg,рh,оj,лk,дl,яz,чx,сc,мv,иb,тn,ьm,ЙQ,ЦW,УE,КR,ЕT,НY,ГU,ШI,ЩO,ЗP,ФA,ЫS,ВD,АF,ПG,РH,ОJ,ЛK,ДL,ЯZ,ЧX,СC,МV,ИB,ТN,ЬM map Q wq map ж ; map Ж : map э ' map Э " map б , map Б < map ю . map Ю > map ё ` map Ё ~ """"""""" " This is an alternative that also works in block mode, but the deleted " text is lost and it only works for putting the current register. "vnoremap p "_dp " Switch syntax highlighting on, when the terminal has colors " Also switch on highlighting the last used search pattern. if &t_Co > 2 || has("gui_running") syntax on set hlsearch endif " Only do this part when compiled with support for autocommands. if has("autocmd") " Enable file type detection. " Use the default filetype settings, so that mail gets 'tw' set to 72, " 'cindent' is on in C files, etc. " Also load indent files, to automatically do language-dependent indenting. filetype on filetype plugin on " filetype plugin indent off " set autoindent=off " always set autoindenting on(ff) " always set autoindenting on(ff) set autoindent "set nocindent " Отступы для программ на C. set cino=e0p0}0(0)0 " " Put these in an autocmd group, so that we can delete them easily. augroup vimrcEx au! augroup Binary " vim -b : edit binary using xxd-format! au! au BufReadPre *.bin,*.exe,*.com,*.dll let &bin=1 au BufReadPost *.bin,*.exe,*.com,*.dll if &bin | %!xxd au BufReadPost *.bin,*.exe,*.com,*.dll set ft=xxd | endif au BufWritePre *.bin,*.exe,*.com,*.dll if &bin | %!xxd -r au BufWritePre *.bin,*.exe,*.com,*.dll endif au BufWritePost *.bin,*.exe,*.com,*.dll if &bin | %!xxd au BufWritePost *.bin,*.exe,*.com,*.dll set nomod | endif augroup END " Просмотр нетекстовых файлов в Vim au BufReadPost *.pdf silent %!pdftotext -nopgbrk "%" - |fmt -csw78 au BufReadPost *.doc silent %!wvWare -1 -x /usr/share/wv/wvText.xml "%" au BufReadPost *.odt silent %!wvWare -1 -x /usr/share/wv/wvText.xml "%" " au BufReadPost *.rtf silent %!wvWare -1 -x /usr/share/wv/wvText.xml "%" " For all text files set 'textwidth' to 78 characters. autocmd FileType awk compiler awk autocmd FileType csh compiler csh autocmd FileType c compiler gcc autocmd FileType cpp compiler gcc autocmd FileType fortran compiler fortran_g77 "autocmd FileType make compiler make autocmd FileType perl compiler perl autocmd FileType python compiler pyunit autocmd FileType ruby compiler ruby autocmd FileType java compiler gcc "autocmd FileType sh compiler shell autocmd FileType tcl compiler tcl autocmd FileType tcsh compiler csh autocmd FileType zsh compiler zsh autocmd FileType binary fil autocmd FileType text setlocal textwidth=78 " When editing a file, always jump to the last known cursor position. " Don't do it when the position is invalid or when inside an event handler " (happens when dropping a file on gvim). autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | \ endif augroup END else endif " has("autocmd") " My functions function! BaloonDict() let s:phrase = v:beval_text if match(s:phrase, '\c[a-zа-я]') != -1 return system('dict "'.s:phrase.'"') endif return "" endfunction set bexpr=BaloonDict() set ballooneval set balloondelay=150 function Spellchk(lang) try w! if a:lang == "-" && $SPELL_LANG == "" let $SPELL_LANG="en" elseif a:lang != "-" let $SPELL_LANG=a:lang endif !aspell -l "$SPELL_LANG" -c % %d " Delete in buffer, it's for 'u' r % 1d " Delete added blank string catch /*/ return 1 endtry endf function Translate() " !socrat <cWORD> !dict <cWORD> endf function Auto_recode() w! split r !enconv -L russian - < % 2>/dev/null " !xcode % > %.recode endf function Mousec(arg) if (a:arg == "auto" && &paste) || a:arg == "off" set nopaste set mouse= ec "gpm [off]" else set paste set mouse=a set modifiable ec "gpm [on]" endif endfu " Some macroses command Date read !echo -en "\c`date`\c" command -nargs=* Spell call Spellchk(<args>) command Slr Spell("ru") command Sle Spell("en") command Recode call Auto_recode() command -nargs=1 Mouse call Mousec(<f-args>) map <F2> :set wrap!<CR> map! <F2> <ESC>:set wrap!<CR> map <C-F2> :set ballooneval!<CR> map! <C-F2> :set ballooneval!<CR> map <F3> :set number!<CR> map <F4> :call Translate()<CR> map! <F4> <ESC>:call Translate()<CR> map <F5> :Date<CR> map <F6> :Slr<CR> map <F7> :Recode<CR> map <F8> :read !date<CR> map! <F8> <ESC>:read !date<CR> map <F9> :emenu <C-Z> map <F12> :Mouse auto<CR> " Colors colorscheme evening " colorscheme delek " colorscheme torte " colorscheme default_light " Menus " source $VIMRUNTIME/menu.vim " set wildmenu cpo-=< wcm=<C-Z> -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/507d868f.4000...@yandex.ru