前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vimrc配色和快捷键【工具】

vimrc配色和快捷键【工具】

作者头像
sinnoo
发布2020-11-13 16:02:39
1K0
发布2020-11-13 16:02:39
举报
文章被收录于专栏:技术人生技术人生

效果如下:

源码如下:

代码语言:javascript
复制
  1 "                                ___                                                                                                                                       
  2 "                            彡  _/ ⌒ ⌒      你说神马~
  3 "                              /)) (●) (●)  ヽ
  4 "                              |∩ (_人_)  |
  5 "                              / ノ、_ヽノ_ノ ̄)
  6 "                             / /      /フ_/
  7 "                             L_/\    \(
  8 "
  9 " =====================
 10 " Source: vimplus
 11 " Vimrc:  个性化定会vim编辑神器
 12 " Vundle: 插件管理工具
 13 "     其他插件:pathogen(windows)、vim-addon-manager、vimana
 14 " Set:    设置必要的配置 比如:字符集、tab缩进 
 15 " Plugin: 根据各自喜好和用法进行定制
 16 " ColorScheme: vim主题风格
 17 " PhpDoc: 主要还是服务于PHP
 18 " 常用快捷键
 19 "----- F2   nerdtree
 20 "----- F3   taglist
 21 "----- F4   buffers管理 暂定
 22 "----- F5   刷新项目信息 php: (刷新tags cocspe等) 
 23 "----- F6   最近两个buffer切换
 24 
 25 "================
 26 "Set 基础设置
 27 "    包括基础配置的开启等(语法、文件)
 28 "================
 29 set nocompatible    "vim工作不需要考虑vi的兼容 nocp 简写
 30 set nu              "打开文件显示行号 也可不显示 nonu
 31 set ruler           "在右下角显示光标的坐标
 32 set hlsearch        "高亮显示搜索结果
 33 set incsearch       "边输入边搜索(实时搜索)
 34 set showcmd         "在ruler左边显示当前正在输入的命令
 35 set expandtab       "将tab键改为空格,默认是8个
 36 set tabstop=4       "将tab键改为4个空格
 37 set shiftwidth=4    "自动缩进时,使用4个空格,默认是8个
 38 set cindent         "c/c++自动缩进
 39 set mouse=          "设置鼠标滚轮非自然滚动
 40 set fdm=indent      "代码折叠
 41 set ic              "忽略大小写查找
 42 set nofoldenable    "禁用vim折叠功能
 43 set showmatch       "自动匹配括号
 44 set backspace=indent,eol,start "设置退格删除功能
 45 
 46 map 9 $             "通过9跳转到行末尾, 0默认跳转到行首
 47 map <silent>  <C-A>  gg v G  "Ctrl-A 选中所有内容
 48 
 49 syntax on           "自动语法高亮 enable 也可以,on可以覆盖当前对语法高亮的修改
 50 filetype on         "启动文件类型检查
 51 filetype plugin on  "运行vim加载文件类型插件
 52 filetype indent on  "启动文件自动缩进
 53 
 54 "=================
 55 "Plugin 插件引入
 56 "       Vundle 插件管理 Plugin & Bundle 均可
 57 "       引入管理文件目录 vim/bundle/插件/doc/插件.txt 为插件的具体用法
 58 "================
 59 set rtp+=~/.vim/bundle/Vundle.vim
 60 call vundle#begin()
 61 
 62 Plugin 'VundleVim/Vundle.vim'           "插件管理
 63 Plugin 'chxuan/change-colorscheme'      "颜色主题
 64 Plugin 'jiangmiao/auto-pairs'           "括号补全
 65 Plugin 'scrooloose/nerdcommenter'       "快速注释
 66 Plugin 'scrooloose/nerdtree'            "树形目录树
 67 "Plugin 'Valloric/YouCompleteMe'         "自动补全 Google工程师主研 neocomplete 这一款体验一般 日本货 
 68 Plugin 'godlygeek/tabular'              "代码检测&格式化&对齐  ale 支持vim8.0 还有一个韩国牌子
 69 Plugin 'ctrlpvim/ctrlp.vim'             "快速查找文件
 70 Plugin 'vim-airline/vim-airline'        "装逼利器 各种导航线设置 负担会让vim略显卡顿
 71 Plugin 'vim-airline/vim-airline-themes' "airline 主题
 72 Plugin 'will133/vim-dirdiff'            "文件差异比对
 73 Plugin 'haya14busa/incsearch.vim'       "极速跳转 据说是个日本卡哇伊搞得 sneak&easymotion 都可以搞搞
 74 Plugin 'mhinz/vim-startify'             "显示最近使用的文件列表
 75 Plugin 'Xuyuanp/nerdtree-git-plugin'    "git 目录树更改
 76 Plugin 'Yggdroot/indentLine'            "代码缩进
 77 Plugin 'tpope/vim-surround'             "方便的在字符两边插入各种符号 xml
 78 Plugin 'tpope/vim-commentary'           "注释代码行 gcc gc 注释 gcu gcgc 撤销注释
 79 Plugin 'shawncplus/phpcomplete.vim'     "php插件
 80 Plugin 'vim-scripts/pdv-standalone'     "PHP文档注释
 81 Plugin 'vim-scripts/progressbar-widget'
 82 
 83 "Plugin 'L9'                            "VIM脚本库
 84 "Plugin 'tpope/vim-fugitive'            "处理git merge 冲突 dv
 85 "Plugin 'tpope/vim-repeat'              "重复执行命令
 86 "Plugin 'tpope/vim-endwise'             "自动结束某些结构
 87 "Plugin 'vim-scripts/a.vim'             "头文件&实现文件快速切换
 88 "Plugin 'vim-scripts/DoxygenToolkit.vim' "快速注释
 89 "Plugin 'vim-scripts/SQLComplete.vim'    "SQL补全
 90 
 91 "html & css & js{}
 92 "Plugin 'Valloric/MatchTagAlways'       "自动匹配html标签,支持在标签间跳转
 93 "Plugin 'docunext/closetag.vim'         "自动闭合HTML标签
 94 "Plugin 'gorodinskiy/vim-coloresque'    "正则语法高亮  主要针对css\sass\less
 95 "Plugin 'othree/yajs.vim'               "js语法高亮 
 96 "Plugin 'othree/javascript-libraries-syntax.vim'
 97 "Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
 98 Plugin 'posva/vim-vue'
 99 
100 "tag tab 结构
101 "Plugin 'vim-scripts/taglist.vim'       "taglist 标记列表 代码结构概览
102 Plugin 'majutsushi/tagbar'             "标签结构
103 
104 call vundle#end()            
105 filetype plugin indent on    
106 
107 "===============
108 "多窗口操作 mac Command
109 "===============
110 map + <C-W>+          "+:扩大窗口
111 map - <C-W>-          "- :   缩小窗口
112 map <C-h> <C-W>h      "C-h 移动到左侧窗口
113 map <C-j> <C-W>j      "C-j 移动到下方窗口
114 map <C-k> <C-W>k      "C-k 移动到上方窗口
115 
116 "===============
117 "不要交换文件和备份文件,减少冲突
118 "===============
119 set noswapfile
120 set nobackup
121 set nowritebackup
122 
123 imap <F10> <ESC> :NextColorScheme<CR>
124 imap <F9> <ESC> :PreviousColorScheme<CR>
125 
126 set background=dark
127 let g:solarized_termcolors=256
128 
129 "===============
130 "taglist 配置信息
131 "===============
132 nmap <F3> <ESC>:TagbarToggle<RETURN>
133 set tags=tags
134 set autochdir
135 let g:tagbar_left = 0
136 let g:tagbar_width = 24
137 let g:tagbar_autoclose = 1
138 let g:tagbar_autofocus = 1
139 let g:tagbar_sort = 1
140 
141 "===============
142 "代码缩进 标志线 默认为¦ Ctrl+i 控制显示 
143 "===============
144 let g:indentLine_char = '¦' 
145 let g:indentLine_color_term = 239 
146 map <C-i> :IndentLinesToggle<CR> 
147 
148 "================
149 "PHP定制内容以及php-doc 自动补全 ctrl+x ctrl+o
150 "================
151 autocmd FileType php set omnifunc=phpcomplete#CompletePHP
152 
153 " 首行缩进 vue高亮
154 autocmd FileType php set sw=4
155 autocmd FileType html set sw=2
156 autocmd FileType js set sw=2
157 autocmd FileType vue set sw=2
158 autocmd FileType javascript set sw=2
159 
160 "首行缩进 vue
161 au BufRead,BufNewFile *.vue set filetype=html
162 au BufRead,BufNewFile *.ts set filetype=javascript
163 
164 nnoremap <C-K> :call PhpDoc()<CR>
165 vnoremap <C-K> :call PhpDocRange()<CR>
166 let g:pdv_cfg_Uses = '1'
167 let g:pdv_cfg_Package = 'package'
168 let g:pdv_cfg_Version = '$Id$'
169 let g:pdv_cfg_Author = 'zhaojian <zhaojian@moxiu.net>'
170 let g:pdv_cfg_Copyright = ' 2012-2019 moxiu.com'
171 let g:pdv_cfg_License = ''
172 
173 " ctags
174 "set tags+=/usr/include/tags
175 "set tags+=~/.vim/systags
176 "set tags+=~/.vim/x86_64-linux-gnu-systags
177 "let g:ycm_collect_identifiers_from_tags_files = 1
178 "let g:ycm_semantic_triggers = {} 
179 "let g:ycm_semantic_triggers.c = ['->', '.', ' ', '(', '[', '&',']']
180 
181 " cpp_class_scope_highlight
182 let g:cpp_class_scope_highlight = 1
183 let g:cpp_experimental_template_highlight = 1
184 let c_no_curly_error = 1
185 
186 "================
187 "airline配置 切换不同的buffer缓冲区
188 "================
189 "set encoding=utf-8
190 let g:airline_theme="molokai"
191 let g:airline_powerline_fonts = 1
192 "let g:airline#extensions#tabline#enabled = 1
193 if !exists('g:airline_symbols')
194     let g:airline_symbols = {}
195 endif
196 let g:airline_left_sep = '⮀' 
197 let g:airline_left_alt_sep = '⮁' 
198 let g:airline_right_sep = '⮂' 
199 let g:airline_right_alt_sep = '⮃' 
200 let g:airline_symbols.branch = '⭠' 
201 let g:airline_symbols.readonly = '⭤' 
202 let g:airline_symbols.linenr = '⭡' 
203 "let g:airline_symbols.spell = 'Ꞩ'
204 "let g:airline_symbols.notexists = '∄'
205 "let g:airline_symbols.whitespace = 'Ξ'
206 nnoremap <C-N> :bn<CR>
207 nmap <F6> <ESC>:w<RETURN>:b#<RETURN>
208 
209 " ctrlp
210 let g:ctrlp_map = '<c-f>'
211 let g:ctrlp_cmd = ':CtrlP'
212 let g:ctrlp_working_path_mode = '0'
213 set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " MacOSX/Linux
214 
215 " incsearch.vim
216 map /  <Plug>(incsearch-forward)
217 map ?  <Plug>(incsearch-backward)
218 map g/ <Plug>(incsearch-stay)
219 
220 "===============
221 "简易的跨服务器复制粘贴
222 "===============
223 vmap <silent> <leader>y <ESC>:'<,'>w! !curl --data-binary @- -X POST http://moxiu.net/clipboard.php<RETURN><RETURN>
224 nmap <silent> <leader>p <ESC>:r !curl -s http://moxiu.net/clipboard.php<RETURN>
225 
226 "**************************************映射的一些快捷键*****************************************
227 nmap <M-K> <ESC>:!php %:p<CR>
228 "文件树
229 nmap <C-p> <ESC> :NERDTreeToggle<CR>
230 "自动生成代码
231 function! Mx2AutoFill()
232     if line("$") == 1
233     ¦   exe "0read !~/.composer/vendor/bin/mx2 file:tpl " . expand("%:p")
234     ¦   exe line("$") . "d"
235     endif
236 endfunction
237 nmap <C-l> <ESC>:call Mx2AutoFill()<RETURN>
238 "自动生成注释
239 
240 set cursorline
241 "hi CursorLine  cterm=NONE   ctermbg=darkred ctermfg=white
242 hi CursorLine  cterm=NONE    guibg=#006699 ctermfg=white
243 hi CursorColumn cterm=NONE ctermbg=darkred ctermfg=white
244 hi CursorLineNr          cterm=NONE      ctermfg=102  ctermbg=237  gui=NONE    guifg=#878787 guibg=#3a3a3a
245 
246 
247 nmap <C-Y> <ESC>:r !~/.composer/vendor/bin/mx2 apidoc:fill<RETURN>
248 
249 "YouCompleteMe 搞得鬼 插件目录下 运行 ./install.py 进行安装
250 "let g:ycm_path_to_python_interpreter = '/usr/bin/python2.7'
251 "let g:ycm_server_use_vim_stdout = 1 
252 "let g:ycm_server_log_level = 'debug'       
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档