专栏首页技术人生vimrc配色和快捷键【工具】

vimrc配色和快捷键【工具】

效果如下:

源码如下:

  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'       

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通过Vundle安装vim插件【工具】

    https://blog.csdn.net/guyue35/article/details/54412428

    sinnoo
  • ZEROFILL和UNSIGNED的区别【mysql】

    有符号包含负数,无符号不包含负数。对于正整数范围而言,无符号能存储的数据是有符号的两倍。

    sinnoo
  • vim设置大括号自动补全并换行缩进【工具】

    一 在vim中,打出一个大括号后,自动补全另一个大括号并换行 鼠标定位在换行后缩进的位置

    sinnoo
  • 手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)

    截止到目前,vim稳定版本已经到了8.2+,ycm(YouCompleteMe的简称)最新版本与几年前的安装配置截然不同了。之前网上很多教程也教不得法,生搬硬套...

    Java架构师历程
  • dotfiles项目

    代码改变世界-coding
  • 非常全面的vim配置文件

    代码改变世界-coding
  • golang实战-1:搭建vim-go开发环境

    LSB Version: :core-4.1-amd64:core-4.1-noarch

    千里行走
  • python学习-vim插件安装

    Vundle 是 Vim bundle 的简称,使用git来管理vim插件,有了它,安装其它插件就方便很多。

    py3study
  • VIM插件管理及python开发环境配置

    这是在公司做的一个分享,目的是帮助新手快速的配置好python开发环境。在操作之前,建议先把你自己的vim配置文件(vimrc)和.vim文件夹先剪切到一个备份...

    the5fire
  • mysql存储过程----三种定义变量方式

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚

扫码关注云+社区

领取腾讯云代金券