-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvimrc.bundles
216 lines (188 loc) · 7.77 KB
/
vimrc.bundles
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
" Install Vim-Plug
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall | source $MYVIMRC
endif
call plug#begin("$VIMHOME/plugged")
" { General
" 缩进标记条 indent-guide {
Plug 'nathanaelkane/vim-indent-guides'
" Indent_guides 显示对齐线
let g:indent_guides_enable_on_vim_startup = 1 " 默认关闭
let g:indent_guides_guide_size = 1 " 指定对齐线的尺寸
" 因为go自动会添加tab, 使用<leader>ig也可以切换
let g:indent_guides_exclude_filetypes = ['help', 'nerdtree', 'go']
map <silent> <leader>tig :IndentGuidesToggle<cr>
map <silent> <leader>tch :call SetColorColumn()<CR> " 给当前列添加标记
" }
" 快捷注释 :tComment - inherit the NERD_commenter shortkey {
" 相比其它更智能,我的配置里面快捷键inhert了nerdcommenter
Plug 'tomtom/tcomment_vim'
map <leader>ci <Plug>TComment_<Leader>__
map <leader>cm <Plug>TComment_<Leader>_b
" comments.vim 用c-c/c-x做注释
" Plug 'comments.vim'
" 用<leader>ci/cm做注释
" Plug 'scrooloose/nerdcommenter'
" NERD_commenter 注释处理插件
" let loaded_nerd_tree = 1
" let NERDSpaceDelims = 1 " 自动添加前置空格
" }
" Easily delete, change and add such surroundings in pairs.
Plug 'tpope/vim-surround'
" 按等号或者其它符号对齐
Plug 'godlygeek/tabular'
" Plug 'junegunn/vim-easy-align'
" http://www.wklken.me/posts/2015/06/07/vim-plugin-easyalign.html
" multiple cursors
Plug 'mg979/vim-visual-multi', {'branch': 'master'}
" automatically add the closing quote, bracket
" TODO: 修复 ` 按三次的问题再开启
" Plug 'Raimondi/delimitMate'
" Plug 'Townk/vim-autoclose'
" }
" 调用外部命令格式化代码 {
Plug 'Chiel92/vim-autoformat'
" json
" npm i -g fixjson
" javascript
" npm i -g eslint
let g:formatdef_eslint = '"SRC=eslint-temp-${RANDOM}.js; cat - >$SRC; eslint --fix $SRC >/dev/null 2>&1; cat $SRC | perl -pe \"chomp if eof\"; rm -f $SRC"'
let g:formatters_javascript = ['eslint']
noremap <leader><s-f> :Autoformat<CR>:w<CR>
" 预备环境
" npm install -g eslint eslint-plugin-standard eslint-plugin-promise eslint-config-standard
" eslint 格式化逻辑
" 将标准输入写到临时文件eslint-temp-xxx.js
" 调用 eslint --fix 来修复它
" 将 eslint-temp-xxx.js 输出到标准输出。
" 截掉文件尾的换行(\n)
" 删掉临时文件
" Trick 解释:
" 临时文件放在当前目录而非/tmp。否则 eslint 会根据 /tmp/eslint-temp-xxx.js 路径来读取配置文件。
" 临时文件不命名为隐藏文件。否则 eslint 会忽略它。
" 干掉文件尾的换行。这是因为 Vim 读入文件尾的换行后,会再来一个换行产生两个\n。
" http://harttle.com/2017/03/12/vim-eslint.html
" Python
" pip install autopep8
" }
" 代码补全 & snippets {
" Plug 'SirVer/ultisnips'
" 用 <tab> 在 macOS 会冲突
" let g:UltiSnipsExpandTrigger="<c-y><c-y>"
" For conceal markers.
" if has('conceal')
" set conceallevel=2 concealcursor=niv
" endif
" }
" { Color Schemes & Highlight
" 部分语言的配色会在 Language Section
" 比较全的 color scheme
Plug 'flazz/vim-colorschemes'
" Plug 'skammer/vim-css-color'
Plug 'lilydjwg/colorizer' " 这个是vimcsscolor的替代
" 配置高亮括号,给原来的括号加上高亮
" Plug 'kien/rainbow_parentheses.vim'
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
" }
" { Browsing & Navigating file
" CtrlP - 快速打开文件 {
Plug 'ctrlpvim/ctrlp.vim'
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_working_path_mode = 'ra'
" nnoremap <Leader>t :CtrlP getcwd()<CR>
" nnoremap <Leader>f :CtrlPClearAllCaches<CR>
" nnoremap <Leader>j :CtrlP ~/<CR>
nnoremap <Leader><space> :CtrlPBuffer<CR>
" \ff 打开文件搜索窗口,在状态栏显示
nmap <leader>ff :CtrlP<CR>
" let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'
let g:ctrlp_custom_ignore = {
\'dir': '\.git$\|\.hg$\|\.svn$\|bower_components$\|dist$\|node_modules$\|project_files$\|test$',
\'file': '\.exe$\|\.so$\|\.dll$\|\.pyc$\|\.pyo$\|\.rbc$\|\.rbo$\|\.class$\|\.o$\|\~$' }
" }
" Find & Search {
" 操作
if v:version > 703
" 快速移动
" 替换原来的查找,可以同时显示多个查找关键字(Easymotion)
Plug 'Lokaltog/vim-easymotion'
map / <Plug>(easymotion-sn)
omap / <Plug>(easymotion-tn)
endif
" Plug 'justinmk/vim-sneak'
" label-mode for a minimalist alternative to EasyMotion
" let g:sneak#label = 1
" brew install fzf
" PlugInstall and PlugUpdate will clone fzf in ~/.fzf and run the install script
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
" }
" 在()、""、甚至HTML标签之间快速跳转;
" 如果是语法上的识别,在 Language Section 中添加
Plug 'vim-scripts/matchit.zip'
" 智能打开浏览器
Plug 'tyru/open-browser.vim'
" Open URI under cursor or search.--go brower
nmap gb <Plug>(openbrowser-smart-search)
" Open URI selected word or search.
vmap gb <Plug>(openbrowser-smart-search)
" Open URI you also can use <leader>gb because of "textbrowser.vim"
" }
" { Language Special
" Front End {
Plug 'pangloss/vim-javascript' " syntax HTML/JS混排缩进改善
Plug 'isRuslan/vim-es6'
" node 补全 require 或者 定位到 require 中的文件
Plug 'moll/vim-node'
Plug 'leafgarland/typescript-vim'
" support css word with -
" set iskeyword+=-
" }
" Markdown {
" 集成了md的语法和颜色配置,里面的toc功能不可用
" Plug 'plasticboy/vim-markdown'
Plug 'preservim/vim-markdown'
" 设置md文件是否用自己的方式折叠
" let g:vim_markdown_folding_disabled = 1
" Change fold style to pythonic
" let g:vim_markdown_folding_style_pythonic = 1
" Disable math conceal with LaTeX math syntax enabled, add the following to your .vimrc:
let g:tex_conceal = ""
let g:vim_markdown_math = 1
" 代码块的语法声明
let g:vim_markdown_fenced_languages = ['js=javascript, bash=sh']
" ```js
" content
" ```
" }
" python {
" Plug 'fs111/pydoc.vim'
Plug 'vim-scripts/python.vim'
" 检查python的代码错误,编译需要'+python'
" Plug 'pyflakes.vim'
" }
" }
call plug#end()
" vim: set ts=4 sw=4 tw=0 et fdm=marker foldmarker={,} foldlevel=0 foldenable foldlevelstart=99 :