18.10.2012 20:38, [email protected] пишет: > ----- User "Артём Н." on 2012-10-16 20:08:47 wrote: >> Поделитесь вашими vimrc и полезными советами по настройке и работе в Vim. >> Интересно всё. >> Хочется конфиг, который будет работать и на windows и на unix-подобных. > Ниже моё что есть. Сразу скажу что под Windows понятия не имею как он > работает или нет и имеются следующие плагины установленные (без них ни > ногой): > * surround > * mark > * fugitive > * easymotion > и ряд других но или их нет в конфиге этом или вырезал за неинтересностью > (настройки vimwiki, vimchat, pyflakes, pep8, snipmate > > ----- >8 ----- > > set t_Co=8 " пусть не больше 8 цветов (для 256-цветного tmux-а) > > " Базовые настройки включающие всякий функционал > syntax on > filetype on > filetype plugin on > set nocompatible > set cryptmethod=blowfish > set encoding=utf-8 > > " Настройки по работе с поведением текста, в основном кодом программ > set autoindent > set tabstop=4 > set shiftwidth=4 > set smarttab > set expandtab > set nojoinspaces > set backspace=indent,eol > set viminfo='100,<50,s10,h,% > > " Относительная нумерация строк и показ чего же я ввожу > set relativenumber > set showcmd > set showmatch > set cursorline > set colorcolumn=80 > > " Поиск игнорируя регистр и полезности касательно него > set ignorecase > set smartcase > set hlsearch > set incsearch > > " Настройки строки состояния > hi User1 ctermbg=blue ctermfg=green > hi User2 ctermbg=green ctermfg=black > hi User3 ctermbg=yellow ctermfg=blue > set laststatus=2 > set statusline=%n\|%F%m%r%h%w%q\ %= > set statusline+=%1*%Y[%{strlen(&fenc)?&fenc:&enc},%{&ff}] > set statusline+=%2*[%l/%L] > set statusline+=[%c%V:0x%B] > set statusline+=%3*%{fugitive#statusline()} > set statusline+=%*\ %P > > " Используется для быстрого переключения между режимами для того чтобы > " вставлять выделяемый текст: красного столбца, fold-ов > function CCinv() > if exists('&foldcolumn') && &foldcolumn == 1 > set colorcolumn= > set foldcolumn=0 > set foldlevel=999 > else > set colorcolumn=80 > set foldcolumn=1 > set foldlevel=0 > endif > endfunction > > " Просто функция очистки регистров > function ClearRegisters() > for chr in split("abcdefghijklmnopqrstuvwxyz", '\zs') > execute "let @" . chr . "=''" > endfor > endfunction > > " Сохранять ли текущий view или нет после выхода из буфера > function s:ViewSaving() > let s:ignored = ["passmandb", "fugitive:", "secure=+", "=+tmp=+"] > let s:need_view = 1 > for ignore in s:ignored > if match(expand("%"), ignore) != -1 > let s:need_view = 0 > endif > endfor > if s:need_view > mkview > endif > endfunction > autocmd BufWinLeave *.* call s:ViewSaving() > autocmd BufWinEnter *.* silent loadview > > " Настройки fold-ов > set foldmethod=indent > set foldenable > set foldcolumn=1 > set foldnestmax=3 > > set pastetoggle=<F2> " режим вставки отформатированного текста > :map <F3> :set relativenumber!<CR>:call CCinv()<CR>zR " помощь для выделения > :map <F4> :nohlsearch<CR>:MarkClear<CR> " очистка подсветок поиска и mark-ов > :map <F6> :Explore<CR> " вызов файлового менеджера > :map <F7> "cyiw:execute "Gvsplit " . @c<CR>zR " открытие коммита под курсором > :map <F8> :close<CR> " закрыть буфер > :map <F9> :registers<CR> " показать регистры > :map <F10> ysiw" " обрамить текущее слово в кавычки > :map <F11> :cprevious<CR> " предыдущий элемент QuickFix-а > :map <F12> :cnext<CR> " следующий элемент QuickFix-а > :cmap w72 set textwidth=72 " ширина строки для форматирования 72 > :cmap SP setlocal spell spelllang=ru,en " проверка орфографии > :cmap CE :set expandtab<CR>:center<CR>:set noexpandtab<CR> " центрирование > :nmap F f<space> " переход на ближайший пробел > :digraphs .3 8230 " троеточие > :digraphs \"6 8222 " грустный смайл > :digraphs ou 9785 " весёлый смайл > :digraphs \|\| 8741 " конкатенация > :map ,cs 1G/^Subject: <CR>yypIX-Old-<ESC>-W " замена темы письма > > " При yank-е производить сдвиг нумерованных регистров, также заполняя @1 > function s:yankstack() > if @" != @1 && @" != "TODO" > for rn in range(9, 2, -1) > execute "let @" . rn . "=@" . (rn - 1) > endfor > let @1=@" > endif > return "y" > endfunction > exec 'nnoremap <expr>' 'y' '<SID>yankstack()' > exec 'xnoremap <expr>' 'y' '<SID>yankstack()' > > " Покороче вызов easymotion-а > let g:EasyMotion_mapping_b = '<leader>b' > let g:EasyMotion_mapping_w = '<leader>w' Спасибо. Кое-что включу в свой.
-- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

