Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- " Включаем несовместимость настроек с Vi (ибо Vi нам и не понадобится).
- set nocompatible
- "Выключаем ~ резервные файлы
- set nobackup
- " Показывать положение курсора всё время.
- set ruler
- " Показывать незавершённые команды в статусбаре
- set showcmd
- " Включаем нумерацию строк
- set nu
- " Поиск по набору текста
- set incsearch
- " подсвечивать поиск
- set hls
- " Игнорировать регистр при поиске
- set ic
- " Поддержка мыши
- set mouse=a
- set mousemodel=popup
- " Кодировка текста по умолчанию
- set termencoding=utf-8
- " Влючить подстветку синтаксиса
- syntax on
- " Размер табулации по умолчанию
- set tabstop=4
- set shiftwidth=4
- set smarttab
- "set expandtab
- "Включаем отображение непечатаемых символов
- "set nolist
- "Всегда показывать строку состояния
- set laststatus=2
- "Настройка статусной строки
- set statusline=%f%m%r%h%w\ %y\ ff:%{&ff}\ enc:%{&enc}\ fenc:%{&fenc}%=Строка:\ %2l/%L\ \ \ Колонка:%2c\ [%2p%%]
- ".vimrc [vim] enc:utf-8 ff:unix fenc:utf-8 (ch: 92 hex:5C) col:26 line:158/168 [94%]
- "%f - имя файла и путь к нему, относительно текущего каталога
- "%m - флаг модификации/изменения, выводит [+] если буфер изменялся
- "%r - флаг только для чтения, выводит [RO] если буфер только для чтения
- "%h - флаг буфера помощи, выводит [help] если буфер со справкой vim
- "%w - флаг окна превью, выводит [Preview]
- "'\ ' - экранированный символ пробела. Пробел можно указывать только экранированным, иначе ошибка синтаксиса
- "%y - тип файла в буфере, например [vim]
- "enc:%{&enc} - отображение кодировки encoding (enc). Обратите внимание: enc: - текст, %{&enc} - вывод значения внутренней переменной (enc)
- "ff:%{&ff} - отображение формата перевода строки fileformat (ff)
- "fenc:%{&fenc} - отображение кодировки сохранения в файл fileencoding (fenc)
- "%= - далее выравнивать вправо
- "ch:%3b - код символа под курсором в десятичной чистеме счисления, минимум 3 символа
- "hex:%2B - код символа под курсором в шестнадцатеричной системе счисления, минимум 2 символа
- "col:%2c - курсор в колонке, минимум 2 символа
- "line:%2l/%L - курсор в строке (минимум 2 символа)/всего строк в файле
- "%2p - число % в строках, где находится курсор (0% - начало файла; 100% - конец файла), минимум 2 символа
- "%% - т.к. символ '%' используется для переменных, то вывод символа '%' в строке статуса нужно делать особым образом - %%
- " Включаем умные отспупы (например, автоотступ после {)
- set smartindent
- " Перенос строк
- set wrap
- " Перенос по словам
- set linebreak
- " Показывать первую парную скобку после ввода второй
- set showmatch
- " Перечитывать изменённые файлы автоматически
- set autoread
- " Использовать больше цветов в терминале
- set t_Co=256
- "colors mysheme
- colors najlus_blue
- " Переход в папку файла
- set browsedir=current
- " Вместо писка бипером мигать курсором при ошибках ввода
- set visualbell
- " Включить сохранение резервных копий
- set backup
- " Хранить историю изменений числом N
- set undolevels=1024
- " Включение функций, зависящих от типа файла
- filetype on
- filetype plugin on
- filetype indent on
- " Колонка, чтобы показывать плюсики для скрытия блоков кода
- set foldcolumn=1
- " Фикс для использования русской раскладки в командном режиме
- set langmap=ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;`qwertyuiop[]asdfghjkl\\;'zxcvbnm\\,.~QWERTYUIOP{}ASDFGHJKL:\\"ZXCVBNM<>
- " Переходить на следующую строку, когда текущая закончилась
- set whichwrap=<,>,[,],h,l
- " Автоматически записывть изменения в файл при переходе к другому
- set autowrite
- " Всегда отображать строку с табами
- set stal=2
- " Каталог для сохранения swp-файлов
- set dir=/tmp
- " Отключение ~ бэкапов
- set nobackup
- " Фикс для клавиши backspace
- set backspace=2
- " Установка принтера по умолчанию
- set pdev=MDCP7057
- "подсветка текущей строки
- set cursorline
- "Опции для графического режима (gvim)
- if has ("gui_running")
- " Антиалиасинг для шрифтов
- set antialias
- " Отключение графических табов
- set guioptions-=e
- " Отключение панели инструментов
- set guioptions-=T
- " Использовать консольные диалоги вместо графических
- set guioptions+=c
- "Так не выводятся ненужные escape последовательности в :shell
- set noguipty
- endif
- " При редактировании файла всегда переходить на последнюю известную
- "позицию курсора. Если позиция ошибочная - не переходим.
- autocmd BufReadPost *
- \ if line("'\"") > 0 && line("'\"") <= line("$") |
- \ exe "normal! g`\"" |
- \ endif
- " Подсветка пробелов на конце строки
- au BufNewFile,BufRead * let b:mtrailingws=matchadd('ErrorMsg', '\s\+$', -1)
- " Настройка отображения табов
- function MyTabLine()
- let s = ''
- for i in range(tabpagenr('$'))
- if i + 1 == tabpagenr()
- let s .= '%#TabLineSel#'
- else
- let s .= '%#TabLine#'
- endif
- let s .= '%' . (i + 1) . 'T'
- let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
- endfor
- let s .= '%#TabLineFill#%T'
- if tabpagenr('$') > 1
- let s .= '%=%#TabLine#%999Xclose'
- endif
- return s
- endfunction
- function MyTabLabel(n)
- let buflist = tabpagebuflist(a:n)
- let winnr = tabpagewinnr(a:n)
- let label = fnamemodify(bufname(buflist[winnr - 1]), ':t')
- if label == ''
- if &buftype == 'quickfix'
- let label = '[Quickfix List]'
- else
- let label = 'NoName'
- endif
- endif
- if getbufvar(buflist[winnr - 1], "&modified")
- let label = "+".label
- endif
- let label = a:n.": ".label
- return label
- endfunction
- set tabline=%!MyTabLine()
- set guifont=Pragmata\ Pro\ 13
- "|||||||||||||||||||||||||||||||||||||||||||||||||
- "Горячие клавиши
- "|||||||||||||||||||||||||||||||||||||||||||||||||
- " Быстрое сохранение
- nmap <F2> :w<cr>
- vmap <F2> <esc>:w<cr>i
- imap <F2> <esc>:w<cr>i
- " Выход без сохранения изменений
- nmap <F4> :q!<cr>
- vmap <F4> <esc>:q!<cr>
- imap <F4> <esc>:q!<cr>
- " Фикс для длинных строк
- nmap j gj
- nmap <DOWN> gj
- nmap k gk
- nmap <UP> gk
- " Новый таб
- nmap <C-UP> :tabnew<cr>:Startify<cr>
- vmap <C-UP> <esc>:tabnew<cr>:Startify<cr>
- imap <C-UP> <esc>:tabnew<cr>:Startify<cr>
- " Следующи таб
- nmap <C-RIGHT> :tabnext<cr>
- vmap <C-RIGHT> <esc>:tabnext<cr>
- imap <C-RIGHT> <esc>:tabnext<cr>
- " Предыдущий таб
- nmap <C-LEFT> :tabprev<cr>
- vmap <C-LEFT> <esc>:tabprev<cr>
- imap <C-LEFT> <esc>:tabprev<cr>
- " Закрыть таб
- nmap <C-DOWN> :tabclose<cr>
- vmap <C-DOWN> <esc>:tabclose<cr>
- imap <C-DOWN> <esc>:tabclose<cr>
- call plug#begin('~/.vim/plugged')
- "Дерево каталогов и расширение для работы с git
- Plug 'scrooloose/nerdtree'
- Plug 'Xuyuanp/nerdtree-git-plugin'
- "Комментирование/раскоментирование
- Plug 'scrooloose/nerdcommenter'
- "Классный стартовый экран
- Plug 'mhinz/vim-startify'
- "Управление буферами
- Plug 'corntrace/bufexplorer'
- "Выделение ошибок
- Plug 'vim-scripts/Syntastic'
- "Менеджер отмены действий
- Plug 'sjl/gundo.vim'
- "Подсветка парного тега
- Plug 'gregsexton/MatchTag'
- "Выранивание
- Plug 'junegunn/vim-easy-align'
- "Быстрое удаление\изменение\добавление кавычек и тегов
- Plug 'tpope/vim-surround'
- "Позволяет применить предыдущую операцию к текущему местоположению курсора при нажатии '.'
- Plug 'tpope/vim-repeat'
- "Автодополнение
- Plug 'Shougo/neocomplete.vim'
- "Подсветка парных скобок разными цветами
- Plug 'rainbow_parentheses.vim'
- "vim-project
- Plug 'vim-scripts/project.tar.gz'
- Plug 'junegunn/vim-easy-align'
- " Start interactive EasyAlign in visual mode (e.g. vipga)
- xmap ga <Plug>(EasyAlign)
- " Start interactive EasyAlign for a motion/text object (e.g. gaip)
- nmap ga <Plug>(EasyAlign)
- call plug#end()
- let s:isvisual = "yes"
- "|||||||||||||||||||||||||||||||||||||||||||||||||
- "Настройки плагинов
- "|||||||||||||||||||||||||||||||||||||||||||||||||
- "------------------------------------------------------------------------------
- "GUNDO
- let g:gundo_preview_bottom = 1 " показывать diff внизу окна
- let g:gundo_width = 30 " ширина показа дерева
- let NERDShutUp=1 " отключения конфликта с дополнением NERD Commenter
- " Запуск и скрытие gundo
- nmap <F5> :GundoToggle<cr>
- vmap <F5> <esc>:GundoToggle<cr>
- imap <F5> <esc>:GundoToggle<cr>
- "------------------------------------------------------------------------------
- "NERDTREE
- let NERDTreeMouseMode=2 " включение мыши NERDTree
- let NERDTreeQuitOnOpen=1 " автоматически скрывать NERDTree после открытия файла
- " Запуск и скрытие NERDTree
- nmap <F7> :NERDTreeToggle<cr>
- vmap <F7> <esc>:NERDTreeToggle:TlistToggle<cr>
- imap <F7> <esc>:NERDTreeToggle:TlistToggle<cr>
- "------------------------------------------------------------------------------
- "NERDCOMMENTER
- " Комментирование\расскоментирования строки
- nmap <F6> :call NERDComment(0, "toggle")<cr>
- vmap <F6> <esc>:call NERDComment(0, "toggle")<cr>
- imap <F6> <esc>:call NERDComment(0, "toggle")<cr>
- "------------------------------------------------------------------------------
- "BUFEXPLORER
- let g:bufExplorerShowNoName=1 " показывать безымянные буффера
- " Обзор буфферов
- nmap <C-S-UP> :BufExplorer<cr>
- vmap <C-S-UP> <esc>:BufExplorer<cr>
- imap <C-S-UP> <esc>:BufExplorer<cr>
- " Предыдущий буффер
- nmap <C-S-LEFT> :bp<cr>
- vmap <C-S-LEFT> <esc>:bp<cr>
- imap <C-S-LEFT> <esc>:bp<cr>
- " Следующий буффер
- nmap <C-S-RIGHT> :bn<cr>
- vmap <C-S-RIGHT> <esc>:bn<cr>
- imap <C-S-RIGHT> <esc>:bn<cr>
- " Закрыть буффер
- nmap <C-S-DOWN> :bd<cr>
- vmap <C-S-DOWN> <esc>:bd<cr>
- imap <C-S-DOWN> <esc>:bd<cr>
- "------------------------------------------------------------------------------
- "PROJECT
- let g:proj_window_width=45 " ширина панели проектов
- " Запуск и скрытие древа проектов
- nmap <F8> ToggleProject<cr>
- vmap <F8> <esc>ToggleProject<cr>
- imap <F8> <esc>ToggleProject<cr>
- "------------------------------------------------------------------------------
- "Startify
- let g:startify_list_order = ['files', 'bookmarks' ]
- let g:startify_files_number = 8
- let g:startify_bookmarks = [ '~/.conkyrc', {'v': '~/.vimrc'}, {'s': '~/scripts'}, {'r': '~/.config/awesome'}, {'x': '~/.Xdefaults'}, {'z': '~/.zshrc'}, {'f': '~/.mozilla/firefox/start/start.html'} ]
- let g:startify_custom_header = [] " отрубаем корову с цитатами
- "------------------------------------------------------------------------------
- "Syntastic
- let g:syntastic_warning_symbol = 'WA'
- let g:syntastic_error_symbol = 'ER'
- "let g:loaded_syntastic_cpp_gcc_checker = 1
- "let g:syntastic_cpp_compiler = 'g++'
- "------------------------------------------------------------------------------
- "NeoComplete
- let g:neocomplete#enable_at_startup = 1
- let g:neocomplete#auto_completion_start_lengt = 2
- let g:neocomplete#min_keyword_length = 2
- "------------------------------------------------------------------------------
- "rainbow parentheses - Подсвечивание парных скобок.
- let g:rbpt_colorpairs = [
- \ ['brown', 'RoyalBlue3'],
- \ ['Darkblue', 'SeaGreen3'],
- \ ['darkgray', 'DarkOrchid3'],
- \ ['darkgreen', 'firebrick3'],
- \ ['darkcyan', 'RoyalBlue3'],
- \ ['darkred', 'SeaGreen3'],
- \ ['darkmagenta', 'DarkOrchid3'],
- \ ['brown', 'firebrick3'],
- \ ['gray', 'RoyalBlue3'],
- \ ['black', 'SeaGreen3'],
- \ ['darkmagenta', 'DarkOrchid3'],
- \ ['Darkblue', 'firebrick3'],
- \ ['darkgreen', 'RoyalBlue3'],
- \ ['darkcyan', 'SeaGreen3'],
- \ ['darkred', 'DarkOrchid3'],
- \ ['red', 'firebrick3'],
- \ ]
- let g:rbpt_max = 16
- let g:rbpt_loadcmd_toggle = 0
- au VimEnter * RainbowParenthesesToggle
- au Syntax * RainbowParenthesesLoadRound
- au Syntax * RainbowParenthesesLoadSquare
- au Syntax * RainbowParenthesesLoadBraces
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement