课程表

vim 命令手册

Vimscript 编程参考

工具箱
速查手册

Vim配置.vimrc方案1

当前位置:免费教程 » 软件/图像 » Vim

vim大牛配置1

来自github: https://github.com/humiaozuzu/dot-vimrc

配置如下

  1. Skip to content
  2. This repository
  3. Search
  4. Pull requests
  5. Issues
  6. Gist
  7. @shuter
  8. Watch 154
  9. Star 1,351
  10. Fork 520 humiaozuzu/dot-vimrc
  11. Code Issues 5 Pull requests 1 Wiki Pulse Graphs
  12. Branch: master Find file Copy pathdot-vimrc/vimrc
  13. 9f843b9 on 9 Sep 2013
  14. @humiaozuzu humiaozuzu Fix snipmate error
  15. 2 contributors @humiaozuzu @gracece
  16. RawBlameHistory 269 lines (235 sloc) 8.19 KB
  17. source ~/.vim/bundles.vim
  18. " encoding dectection
  19. set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
  20. " enable filetype dectection and ft specific plugin/indent
  21. filetype plugin indent on
  22. " enable syntax hightlight and completion
  23. syntax on
  24. "--------
  25. " Vim UI
  26. "--------
  27. " color scheme
  28. set background=dark
  29. color solarized
  30. " highlight current line
  31. au WinLeave * set nocursorline nocursorcolumn
  32. au WinEnter * set cursorline cursorcolumn
  33. set cursorline cursorcolumn
  34. " search
  35. set incsearch
  36. "set highlight " conflict with highlight current line
  37. set ignorecase
  38. set smartcase
  39. " editor settings
  40. set history=1000
  41. set nocompatible
  42. set nofoldenable " disable folding"
  43. set confirm " prompt when existing from an unsaved file
  44. set backspace=indent,eol,start " More powerful backspacing
  45. set t_Co=256 " Explicitly tell vim that the terminal has 256 colors "
  46. set mouse=a " use mouse in all modes
  47. set report=0 " always report number of lines changed "
  48. set nowrap " dont wrap lines
  49. set scrolloff=5 " 5 lines above/below cursor when scrolling
  50. set number " show line numbers
  51. set showmatch " show matching bracket (briefly jump)
  52. set showcmd " show typed command in status bar
  53. set title " show file in titlebar
  54. set laststatus=2 " use 2 lines for the status bar
  55. set matchtime=2 " show matching bracket for 0.2 seconds
  56. set matchpairs+=<:> " specially for html
  57. " set relativenumber
  58. " Default Indentation
  59. set autoindent
  60. set smartindent " indent when
  61. set tabstop=4 " tab width
  62. set softtabstop=4 " backspace
  63. set shiftwidth=4 " indent width
  64. " set textwidth=79
  65. " set smarttab
  66. set expandtab " expand tab to space
  67. autocmd FileType php setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
  68. autocmd FileType ruby setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
  69. autocmd FileType php setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120
  70. autocmd FileType coffee,javascript setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
  71. autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120
  72. autocmd FileType html,htmldjango,xhtml,haml setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=0
  73. autocmd FileType sass,scss,css setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120
  74. " syntax support
  75. autocmd Syntax javascript set syntax=jquery " JQuery syntax support
  76. " js
  77. let g:html_indent_inctags = "html,body,head,tbody"
  78. let g:html_indent_script1 = "inc"
  79. let g:html_indent_style1 = "inc"
  80. "-----------------
  81. " Plugin settings
  82. "-----------------
  83. " Rainbow parentheses for Lisp and variants
  84. let g:rbpt_colorpairs = [
  85. \ ['brown', 'RoyalBlue3'],
  86. \ ['Darkblue', 'SeaGreen3'],
  87. \ ['darkgray', 'DarkOrchid3'],
  88. \ ['darkgreen', 'firebrick3'],
  89. \ ['darkcyan', 'RoyalBlue3'],
  90. \ ['darkred', 'SeaGreen3'],
  91. \ ['darkmagenta', 'DarkOrchid3'],
  92. \ ['brown', 'firebrick3'],
  93. \ ['gray', 'RoyalBlue3'],
  94. \ ['black', 'SeaGreen3'],
  95. \ ['darkmagenta', 'DarkOrchid3'],
  96. \ ['Darkblue', 'firebrick3'],
  97. \ ['darkgreen', 'RoyalBlue3'],
  98. \ ['darkcyan', 'SeaGreen3'],
  99. \ ['darkred', 'DarkOrchid3'],
  100. \ ['red', 'firebrick3'],
  101. \ ]
  102. let g:rbpt_max = 16
  103. autocmd Syntax lisp,scheme,clojure,racket RainbowParenthesesToggle
  104. " tabbar
  105. let g:Tb_MaxSize = 2
  106. let g:Tb_TabWrap = 1
  107. hi Tb_Normal guifg=white ctermfg=white
  108. hi Tb_Changed guifg=green ctermfg=green
  109. hi Tb_VisibleNormal ctermbg=252 ctermfg=235
  110. hi Tb_VisibleChanged guifg=green ctermbg=252 ctermfg=white
  111. " easy-motion
  112. let g:EasyMotion_leader_key = '<Leader>'
  113. " Tagbar
  114. let g:tagbar_left=1
  115. let g:tagbar_width=30
  116. let g:tagbar_autofocus = 1
  117. let g:tagbar_sort = 0
  118. let g:tagbar_compact = 1
  119. " tag for coffee
  120. if executable('coffeetags')
  121. let g:tagbar_type_coffee = {
  122. \ 'ctagsbin' : 'coffeetags',
  123. \ 'ctagsargs' : '',
  124. \ 'kinds' : [
  125. \ 'f:functions',
  126. \ 'o:object',
  127. \ ],
  128. \ 'sro' : ".",
  129. \ 'kind2scope' : {
  130. \ 'f' : 'object',
  131. \ 'o' : 'object',
  132. \ }
  133. \ }
  134. let g:tagbar_type_markdown = {
  135. \ 'ctagstype' : 'markdown',
  136. \ 'sort' : 0,
  137. \ 'kinds' : [
  138. \ 'h:sections'
  139. \ ]
  140. \ }
  141. endif
  142. " Nerd Tree
  143. let NERDChristmasTree=0
  144. let NERDTreeWinSize=30
  145. let NERDTreeChDirMode=2
  146. let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']
  147. " let NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\~$']
  148. let NERDTreeShowBookmarks=1
  149. let NERDTreeWinPos = "right"
  150. " nerdcommenter
  151. let NERDSpaceDelims=1
  152. " nmap <D-/> :NERDComToggleComment<cr>
  153. let NERDCompactSexyComs=1
  154. " ZenCoding
  155. let g:user_emmet_expandabbr_key='<C-j>'
  156. " powerline
  157. "let g:Powerline_symbols = 'fancy'
  158. " NeoComplCache
  159. let g:neocomplcache_enable_at_startup=1
  160. let g:neoComplcache_disableautocomplete=1
  161. "let g:neocomplcache_enable_underbar_completion = 1
  162. "let g:neocomplcache_enable_camel_case_completion = 1
  163. let g:neocomplcache_enable_smart_case=1
  164. let g:neocomplcache_min_syntax_length = 3
  165. let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
  166. set completeopt-=preview
  167. imap <C-k> <Plug>(neocomplcache_snippets_force_expand)
  168. smap <C-k> <Plug>(neocomplcache_snippets_force_expand)
  169. imap <C-l> <Plug>(neocomplcache_snippets_force_jump)
  170. smap <C-l> <Plug>(neocomplcache_snippets_force_jump)
  171. " Enable omni completion.
  172. autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
  173. autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
  174. autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
  175. autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
  176. autocmd FileType c setlocal omnifunc=ccomplete#Complete
  177. if !exists('g:neocomplcache_omni_patterns')
  178. let g:neocomplcache_omni_patterns = {}
  179. endif
  180. let g:neocomplcache_omni_patterns.erlang = '[a-zA-Z]\|:'
  181. " SuperTab
  182. " let g:SuperTabDefultCompletionType='context'
  183. let g:SuperTabDefaultCompletionType = '<C-X><C-U>'
  184. let g:SuperTabRetainCompletionType=2
  185. " ctrlp
  186. set wildignore+=*/tmp/*,*.so,*.o,*.a,*.obj,*.swp,*.zip,*.pyc,*.pyo,*.class,.DS_Store " MacOSX/Linux
  187. let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$'
  188. " Keybindings for plugin toggle
  189. nnoremap <F2> :set invpaste paste?<CR>
  190. set pastetoggle=<F2>
  191. nmap <F5> :TagbarToggle<cr>
  192. nmap <F6> :NERDTreeToggle<cr>
  193. nmap <F3> :GundoToggle<cr>
  194. nmap <F4> :IndentGuidesToggle<cr>
  195. nmap <D-/> :
  196. nnoremap <leader>a :Ack
  197. nnoremap <leader>v V`]
  198. "------------------
  199. " Useful Functions
  200. "------------------
  201. " easier navigation between split windows
  202. nnoremap <c-j> <c-w>j
  203. nnoremap <c-k> <c-w>k
  204. nnoremap <c-h> <c-w>h
  205. nnoremap <c-l> <c-w>l
  206. " When editing a file, always jump to the last cursor position
  207. autocmd BufReadPost *
  208. \ if ! exists("g:leave_my_cursor_position_alone") |
  209. \ if line("'\"") > 0 && line ("'\"") <= line("$") |
  210. \ exe "normal g'\"" |
  211. \ endif |
  212. \ endif
  213. " w!! to sudo & write a file
  214. cmap w!! %!sudo tee >/dev/null %
  215. " Quickly edit/reload the vimrc file
  216. nmap <silent> <leader>ev :e $MYVIMRC<CR>
  217. nmap <silent> <leader>sv :so $MYVIMRC<CR>
  218. " sublime key bindings
  219. nmap <D-]> >>
  220. nmap <D-[> <<
  221. vmap <D-[> <gv
  222. vmap <D-]> >gv
  223. " eggcache vim
  224. nnoremap ; :
  225. :command W w
  226. :command WQ wq
  227. :command Wq wq
  228. :command Q q
  229. :command Qa qa
  230. :command QA qa
  231. " for macvim
  232. if has("gui_running")
  233. set go=aAce " remove toolbar
  234. "set transparency=30
  235. set guifont=Monaco:h13
  236. set showtabline=2
  237. set columns=140
  238. set lines=40
  239. noremap <D-M-Left> :tabprevious<cr>
  240. noremap <D-M-Right> :tabnext<cr>
  241. map <D-1> 1gt
  242. map <D-2> 2gt
  243. map <D-3> 3gt
  244. map <D-4> 4gt
  245. map <D-5> 5gt
  246. map <D-6> 6gt
  247. map <D-7> 7gt
  248. map <D-8> 8gt
  249. map <D-9> 9gt
  250. map <D-0> :tablast<CR>
  251. endif
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号