Guest User

vimrc

a guest
Sep 28th, 2015
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 8.21 KB | None | 0 0
  1. "-------------------------------------------{ПОРТАБЕЛЬНОСТЬ}---
  2. let &runtimepath = printf('%s/vimfiles,%s,%s/vimfiles/after', $VIM, $VIMRUNTIME, $VIM)
  3. let s:portable = expand('<sfile>:p:h')
  4. let &runtimepath = printf('%s,%s,%s/after', s:portable, &runtimepath, s:portable)
  5.  
  6. "-------------------------------------------{NEOBUNDLE}---
  7. if 0 | endif
  8. if has('vim_starting')
  9.     let &runtimepath = printf('%s,%s/bundle/neobundle.vim/', &runtimepath, $VIMRUNTIME)
  10. endif
  11. call neobundle#begin(printf('%s/bundle/', $VIMRUNTIME))
  12. NeoBundleFetch 'Shougo/neobundle.vim'
  13.  
  14. NeoBundle 'scrooloose/nerdtree'
  15. NeoBundle 'Lokaltog/vim-easymotion'
  16. NeoBundle 'thinca/vim-quickrun'
  17. NeoBundle 'msanders/snipmate.vim'
  18. NeoBundle 'fatih/molokai'
  19. NeoBundle 'fatih/vim-go'
  20. NeoBundle 'jistr/vim-nerdtree-tabs' " nerdtree в кажом буффере
  21. NeoBundle 'majutsushi/tagbar'
  22. NeoBundle 'Shougo/neocomplete.vim'
  23. NeoBundle 'scrooloose/syntastic'
  24. NeoBundle 'bling/vim-airline'
  25. NeoBundle 'tpope/vim-fugitive'
  26. NeoBundle 'godlygeek/tabular'       " зависимость vim-markdown
  27. NeoBundle 'plasticboy/vim-markdown' " markdown на стероидах
  28.  
  29. "NeoBundle 'mhinz/vim-signify'
  30. "NeoBundle 'airblade/vim-gitgutter'
  31. "NeoBundle 'lilydjwg/colorizer'
  32. "NeoBundle ''
  33.  
  34. NeoBundleCheck
  35. call neobundle#end()
  36.  
  37. "-------------------------------------------{ПОИСК}---
  38. " регистронезависимый поиск
  39. set ignorecase
  40. " при поиске перепрыгивать на найденный текст в процессе набора строки
  41. set incsearch
  42. " игнорировать прописные/строчные при поиске
  43. set ignorecase
  44.  
  45. "-------------------------------------------{ОБЩЕЕ}---
  46. " отключить совместимость с vi
  47. set nocompatible
  48. " включить бэкспейс
  49. set backspace=indent,eol,start
  50. " увеличение истории команд
  51. set history=500
  52. " увеличение числа возвратов действия
  53. set undolevels=300
  54. " кодировка текста по умолчанию
  55. set encoding=utf-8
  56. set fileencoding=utf-8
  57. set termencoding=utf-8
  58. " Включаем распознавание типов файлов и типо-специфичные плагины
  59. filetype on
  60. filetype plugin indent on
  61. " вставлять пробелы, а не табы
  62. set expandtab
  63. " задать размер табуляции в 4 пробела
  64. set tabstop=4
  65. set softtabstop=4
  66. set shiftwidth=4
  67. " копировать отступы предыдущей строки
  68. " отличие от autoindent - еще и следит за блоками кода
  69. set smartindent
  70. " eng<->рус командные клавиши
  71. " < 7.3
  72. "set langmap=ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;`qwertyuiop[]asdfghjkl\\;'zxcvbnm\\,.~QWERTYUIOP{}ASDFGHJKL:\\"ZXCVBNM<>
  73. "set langmap=ёйцукенгшщзхъфывапролджэячсмитьбю;`qwertyuiop[]asdfghjkl\;'zxcvbnm\,.,ЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>
  74. " >= 7.3
  75. "set langmap=!\\"№\\;%?*ёйцукенгшщзхъфывапролджэячсмитьбюЁЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ;!@#$%&*`qwertyuiop[]asdfghjkl\\;'zxcvbnm\\,.~QWERTYUIOP{}ASDFGHJKL:\\"ZXCVBNM<>
  76. " не бибикать
  77. set noerrorbells
  78. " file format
  79. set fileformats=unix,dos
  80. " форсим распознавание для *.md; markdown, братиш, уже не modula-2
  81. autocmd BufNewFile,BufReadPost *.md set filetype=markdown
  82.  
  83. "-------------------------------------------{ВНЕШНИЙ ВИД}---
  84. " включить  подсветку синтаксиса
  85. syntax on
  86. " проверка скобок
  87. set showmatch
  88. " Включаем перенос строк (set nowrap отключает перенос строк)
  89. set wrap
  90. " Перенос строк по словам, а не по буквам
  91. set linebreak
  92. " Использовать больше цветов в терминале
  93. set t_Co=256
  94. " насильно заставить его считать, что терминал с темным фоном
  95. set background=dark
  96. " указать цвет комментариев
  97. highlight Comment ctermfg=blue
  98. " отобразить статус-меню
  99. set laststatus=2
  100. " информация о файле, в статус меню
  101. " set statusline=%F\ [enc:%{&enc}\ ff:%{&ff}\ fenc:%{&fenc}]%=(ch:%3b\ hex:%2B)\ col:%2c\ line:%2l/%L\ [%2p%%]
  102. " не жирный текст в статус меню
  103. " hi StatusLine gui=reverse cterm=reverse
  104. " нумерация строк
  105. set number
  106. " выбор темы
  107. colors molokai
  108. " полосочка после 80й строки :)
  109. set textwidth=80
  110. set colorcolumn=+1
  111.  
  112. "-----------------------------------------{KEYMAPS}----
  113. map <A-right> :bn<CR>
  114. map <A-left> :bp<CR>
  115. " функция из /plugin/bclose.vim
  116. " альтернатива :bd, но не закрывает вим, если еще есть живые буферы
  117. map <A-up> :Bclose<CR>
  118. map <A-down> :new<CR>
  119. set pastetoggle=<F2>
  120.  
  121. "-----------------------------------------{GVIM}----
  122. " чёрный фон
  123. " highlight Normal guifg=white guibg=black
  124. " size
  125. set lines=56
  126. set columns=210
  127. " кодировка в utf-8
  128. set encoding=utf-8
  129. set fileencoding=utf-8
  130. " шрифт
  131. set guifont=Hack:h9
  132. " отображение кириллицы во внутренних сообщениях программы
  133. lan mes ru_RU.UTF-8
  134. " отображение кириллицы в меню
  135. source $VIMRUNTIME/delmenu.vim
  136. set langmenu=ru_RU.UTF-8
  137. source $VIMRUNTIME/menu.vim
  138. " отключение мышки
  139. set mouse=""
  140. " прячем менюшки
  141. set guioptions-=m  "remove menu bar
  142. set guioptions-=T  "remove toolbar
  143. set guioptions-=r  "remove right-hand scroll bar
  144. set guioptions-=L  "remove left-hand scroll bar
  145. " отключаем скролл мышки
  146. " FIXME : похоже не очень то и работает :) пофиксить
  147. nmap <ScrollWheelUp> <nop>
  148. nmap <S-ScrollWheelUp> <nop>
  149. nmap <C-ScrollWheelUp> <nop>
  150. nmap <ScrollWheelDown> <nop>
  151. nmap <S-ScrollWheelDown> <nop>
  152. nmap <C-ScrollWheelDown> <nop>
  153. nmap <ScrollWheelLeft> <nop>
  154. nmap <S-ScrollWheelLeft> <nop>
  155. nmap <C-ScrollWheelLeft> <nop>
  156. nmap <ScrollWheelRight> <nop>
  157. nmap <S-ScrollWheelRight> <nop>
  158. nmap <C-ScrollWheelRight> <nop>
  159. map <mouseup> <nop>
  160. map <mousedown> <nop>
  161.  
  162. "-------------------------------------------{ДЛЯ ПЛАГИНОВ}---
  163. " nerdtree
  164. autocmd vimenter * if !argc() | NERDTree | endif
  165. map <C-n> :NERDTreeTabsToggle<CR>
  166. autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
  167. let g:NERDTreeChDirMode=2
  168. let g:NERDTreeShowBookmarks=1
  169. let g:NERDTreeMinimalUI=1
  170. "let g:NERDTreeDirArrows=1
  171.  
  172. " easymotion smartcase
  173. let g:EasyMotion_smartcase = 1
  174.  
  175. " molokai theme
  176. let g:rehash256 = 1
  177.  
  178. " neocomplete
  179. let g:neocomplete#enable_at_startup = 1
  180. let g:neocomplete#enable_smart_case = 1
  181. let g:neocomplete#sources#syntax#min_keyword_length = 0
  182. let g:neocomplete#min_keyword_length = 1
  183. set completeopt-=preview
  184.  
  185. " vim-go
  186. autocmd FileType qf wincmd J
  187. let g:go_highlight_functions = 1
  188. let g:go_highlight_methods = 1
  189. let g:go_highlight_structs = 1
  190. let g:go_highlight_operators = 1
  191. let g:go_highlight_build_constraints = 1
  192. let g:go_auto_type_info = 1
  193.  
  194. " easymotion
  195. map <Leader> <Plug>(easymotion-prefix)
  196. "map <C-w> <Leader><Leader>w
  197. "map <C-f> <Leader><Leader>f
  198. nmap s <Plug>(easymotion-s2)
  199. nmap t <Plug>(easymotion-t2)
  200. map  / <Plug>(easymotion-sn)
  201. omap / <Plug>(easymotion-tn)
  202. map  n <Plug>(easymotion-next)
  203. map  N <Plug>(easymotion-prev)
  204.  
  205. " airline
  206. let g:airline#extensions#tabline#enabled = 1
  207. let g:airline_powerline_fonts = 1
  208. let g:airline_section_y = '%{&enc}|%{&fenc}|%{&ff}'
  209.  
  210. " syntastic
  211. let g:syntastic_check_on_open=1
  212. let g:syntastic_always_populate_loc_list = 1
  213. let g:syntastic_auto_loc_list = 1
  214. let g:syntastic_check_on_wq = 0
  215. "let g:syntastic_go_checkers = ['go', 'golint', 'gotype', 'govet']
  216. let g:syntastic_go_checkers = ['go', 'golint', 'govet']
  217. let g:syntastic_aggregate_errors = 1
  218.  
  219. " vim-markdown
  220. let g:vim_markdown_folding_disabled=1
Advertisement
Add Comment
Please, Sign In to add comment