├── .vimrc ├── .vimrc.local ├── LICENSE ├── README.md ├── UltiSnips └── tex-e0c2e8b64036f77db00411d562750c12.snippets ├── colors ├── SolarizedDark.vim ├── blues.vim ├── colorConf.txt ├── dracula.vim ├── dream.vim ├── monokai.vim ├── onedark.vim ├── solarized.vim └── tender.vim ├── fonts.scale ├── fonts ├── Droid Sans Mono Nerd Font Complete.otf ├── Droid Sans Mono for Powerline.otf └── Noto Mono for Powerline.ttf ├── help.md ├── install.sh ├── screenshots ├── main.png ├── plus.png └── vimplus-logo.png └── uninstall.sh /.vimrc: -------------------------------------------------------------------------------- 1 | " _ __ __ 2 | " _ __(_)___ ___ ____ / /_ ___________ / /_ _______ 3 | " | | / / / __ `__ \/ __ \/ / / / / ___/ __ \/ / / / / ___/ 4 | " | |/ / / / / / / / /_/ / / /_/ (__ ) /_/ / / /_/ (__ ) 5 | " |___/_/_/ /_/ /_/ .___/_/\__,_/____/ .___/_/\__,_/____/ 6 | " /_/ /_/ 7 | 8 | " Author: frankliu 9 | " Repository: https://github.com/FLHonker/vim-plus-plus 10 | " Create Date: 2017-06-24 11 | " License: MIT 12 | 13 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 14 | " 通用设置 15 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 16 | let mapleader = "," " 定义键 17 | set nocompatible " 设置不兼容原始vi模式 18 | filetype on " 设置开启文件类型侦测 19 | filetype plugin on " 设置加载对应文件类型的插件 20 | set noeb " 关闭错误的提示 21 | syntax enable " 开启语法高亮功能 22 | syntax on " 自动语法高亮 23 | set t_Co=256 " 开启256色支持 24 | set cmdheight=2 " 设置命令行的高度 25 | set showcmd " select模式下显示选中的行数 26 | set ruler " 总是显示光标位置 27 | set laststatus=2 " 总是显示状态栏 28 | set number " 开启行号显示 29 | set cursorline " 高亮显示当前行 30 | set whichwrap+=<,>,h,l " 设置光标键跨行 31 | set virtualedit=block,onemore " 允许光标出现在最后一个字符的后面 32 | set mouse=v " 设置使用鼠标模式 33 | 34 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 35 | " 代码缩进和排版 36 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 37 | set autoindent " 设置自动缩进 38 | set cindent " 设置使用C/C++语言的自动缩进方式 39 | set cinoptions=g0,:0,N-s,(0 " 设置C/C++语言的具体缩进方式 40 | set smartindent " 智能的选择对其方式 41 | filetype indent on " 自适应不同语言的智能缩进 42 | set expandtab " 将制表符扩展为空格 43 | set tabstop=4 " 设置编辑时制表符占用空格数 44 | set shiftwidth=4 " 设置格式化时制表符占用空格数 45 | set softtabstop=4 " 设置4个空格为制表符 46 | set smarttab " 在行和段开始处使用制表符 47 | set nowrap " 禁止折行 48 | set backspace=2 " 使用回车键正常处理indent,eol,start等 49 | 50 | 51 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 52 | " 代码补全 53 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 54 | set wildmenu " vim自身命名行模式智能补全 55 | set completeopt-=preview " 补全时不显示窗口,只显示补全列表 56 | 57 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 58 | " 搜索设置 59 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 60 | set hlsearch " 高亮显示搜索结果 61 | set incsearch " 开启实时搜索功能 62 | set ignorecase " 搜索时大小写不敏感 63 | 64 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 65 | " 代码折叠 66 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 67 | set foldmethod=syntax " 设置基于语法进行代码折叠 68 | set nofoldenable " 关闭折叠代码 69 | 70 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 71 | " 缓存设置 72 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 73 | set nobackup " 设置不备份 74 | set noswapfile " 禁止生成临时文件 75 | set autoread " 文件在vim之外修改过,自动重新读入 76 | set autowrite " 设置自动保存 77 | set confirm " 在处理未保存或只读文件的时候,弹出确认 78 | 79 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 80 | " 编码设置 81 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 82 | set langmenu=zh_CN.UTF-8 83 | set helplang=cn 84 | set termencoding=utf-8 85 | set encoding=utf8 86 | set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030 87 | 88 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 89 | " 插件列表 90 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 91 | call plug#begin('~/.vim/plugged') 92 | 93 | Plug 'chxuan/cppfun' 94 | Plug 'chxuan/change-colorscheme' 95 | Plug 'Yggdroot/LeaderF' 96 | Plug 'mileszs/ack.vim' 97 | Plug 'easymotion/vim-easymotion' 98 | Plug 'haya14busa/incsearch.vim' 99 | Plug 'iamcco/mathjax-support-for-mkdp' 100 | Plug 'iamcco/markdown-preview.vim' 101 | Plug 'jiangmiao/auto-pairs' 102 | Plug 'scrooloose/nerdtree' 103 | Plug 'tiagofumo/vim-nerdtree-syntax-highlight' 104 | Plug 'Xuyuanp/nerdtree-git-plugin' 105 | " Plug 'Valloric/YouCompleteMe' " replaced by Deep-TabNine 106 | Plug 'godlygeek/tabular' 107 | Plug 'tpope/vim-fugitive' 108 | Plug 'tpope/vim-surround' 109 | Plug 'tpope/vim-commentary' 110 | Plug 'tpope/vim-repeat' 111 | Plug 'tpope/vim-endwise' 112 | Plug 'majutsushi/tagbar' 113 | Plug 'octol/vim-cpp-enhanced-highlight' 114 | Plug 'vim-airline/vim-airline' 115 | Plug 'vim-airline/vim-airline-themes' 116 | Plug 'vim-scripts/L9' 117 | Plug 'vim-scripts/a.vim' 118 | Plug 'vim-scripts/txt.vim' 119 | " Plug 'ryanoasis/vim-devicons' 120 | Plug 'mhinz/vim-startify' 121 | Plug 'junegunn/vim-slash' 122 | Plug 'junegunn/gv.vim' 123 | Plug 'kana/vim-textobj-user' 124 | Plug 'kana/vim-textobj-indent' 125 | Plug 'kana/vim-textobj-syntax' 126 | Plug 'kana/vim-textobj-function' 127 | Plug 'sgur/vim-textobj-parameter' 128 | Plug 'Shougo/echodoc.vim' 129 | Plug 'terryma/vim-multiple-cursors' 130 | Plug 'terryma/vim-smooth-scroll' 131 | Plug 'terryma/vim-expand-region' 132 | Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } 133 | Plug 'othree/html5.vim' 134 | Plug 'plasticboy/vim-markdown' 135 | Plug 'flazz/vim-colorschemes' 136 | Plug 'vim-scripts/indentpython.vim' 137 | Plug 'rkulla/pydiction' 138 | Plug 'scrooloose/syntastic' 139 | Plug 'nvie/vim-flake8' 140 | Plug 'kien/ctrlp.vim' 141 | Plug 'skywind3000/vim-keysound' " vim打字机 142 | Plug 'Yggdroot/indentLine' "缩进线 143 | Plug 'vim-scripts/DoxygenToolkit.vim' "代码注释 144 | Plug 'cpiger/NeoDebug' " C++ debug 145 | Plug 'lervag/vimtex' 146 | Plug 'SirVer/ultisnips' 147 | Plug 'honza/vim-snippets' 148 | Plug 'ervandew/supertab' 149 | Plug 'zxqfl/tabnine-vim' " Deep TabNine 深度补全插件 150 | 151 | call plug#end() 152 | 153 | " load vim default plugin 154 | runtime macros/matchit.vim 155 | 156 | " 编辑vimrc文件 157 | nnoremap e :edit $MYVIMRC 158 | 159 | " 查看vimplus的help文件 160 | nnoremap h :edit ~/.vimplus/help.md 161 | 162 | " 打开当前光标所在单词的vim帮助文档 163 | nnoremap H :execute ":help " . expand("") 164 | 165 | " 重新加载vimrc文件 166 | nnoremap s :source $MYVIMRC 167 | 168 | " buffer切换 169 | nnoremap :bn 170 | nnoremap :bp 171 | nnoremap d :bd 172 | 173 | " 主题 174 | "set background=dark 175 | "let g:onedark_termcolors=256 176 | colorscheme SolarizedDark 177 | 178 | " airline 179 | let g:airline_theme="onedark" 180 | let g:airline_powerline_fonts = 1 181 | let g:airline#extensions#tabline#enabled = 1 182 | if !exists('g:airline_symbols') 183 | let g:airline_symbols = {} 184 | endif 185 | let g:airline_left_sep = '' 186 | let g:airline_left_alt_sep = '' 187 | let g:airline_right_sep = '' 188 | let g:airline_right_alt_sep = '' 189 | 190 | " cppfun 191 | nnoremap y :CopyFun 192 | nnoremap p :PasteFun 193 | nnoremap fp :FormatFunParam 194 | nnoremap if :FormatIf 195 | 196 | " change-colorscheme 197 | nnoremap :PreviousColorScheme 198 | inoremap :PreviousColorScheme 199 | nnoremap :NextColorScheme 200 | inoremap :NextColorScheme 201 | nnoremap :RandomColorScheme 202 | inoremap :RandomColorScheme 203 | nnoremap :ShowColorScheme 204 | inoremap :ShowColorScheme 205 | 206 | " nerdtree 207 | nnoremap n :NERDTreeToggle 208 | inoremap n :NERDTreeToggle 209 | let g:NERDTreeFileExtensionHighlightFullName = 1 210 | let g:NERDTreeExactMatchHighlightFullName = 1 211 | let g:NERDTreePatternMatchHighlightFullName = 1 212 | let g:NERDTreeHighlightFolders = 1 213 | let g:NERDTreeHighlightFoldersFullName = 1 214 | let g:NERDTreeDirArrowExpandable='▷' 215 | let g:NERDTreeDirArrowCollapsible='▼' 216 | 217 | " ctags 218 | set tags+=/usr/include/tags 219 | set tags+=~/.vim/systags 220 | set tags+=~/.vim/x86_64-linux-gnu-systags 221 | set tags+=/usr/local/include/tags 222 | 223 | " a.vim: .h -> .cpp or .cpp -> .h 224 | nnoremap a :A 225 | 226 | " tagbar 227 | let g:tagbar_width = 30 228 | nnoremap t :TagbarToggle 229 | inoremap t :TagbarToggle 230 | 231 | " cpp_class_scope_highlight 232 | let g:cpp_class_scope_highlight = 1 233 | let g:cpp_experimental_template_highlight = 1 234 | let c_no_curly_error = 1 235 | 236 | " incsearch.vim 237 | map / (incsearch-forward) 238 | map ? (incsearch-backward) 239 | map g/ (incsearch-stay) 240 | 241 | " markdown 242 | let uname = system('uname -s') 243 | if uname == "Darwin\n" 244 | let g:mkdp_path_to_chrome = "/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome" 245 | else 246 | let g:mkdp_path_to_chrome = '/usr/bin/google-chrome-stable %U' 247 | endif 248 | nmap MarkdownPreview 249 | imap MarkdownPreview 250 | nmap StopMarkdownPreview 251 | imap StopMarkdownPreview 252 | 253 | " vim-easymotion 254 | let g:EasyMotion_smartcase = 1 255 | map w (easymotion-bd-w) 256 | nmap w (easymotion-overwin-w) 257 | 258 | " pydiction 259 | let g:pydiction_location='~/.vim/plugged/pydiction/complete-dict' 260 | let g:pydiction_menu_height=10 261 | 262 | " nerdtree-git-plugin 263 | let g:NERDTreeGitStatusIndicatorMapCustom = { 264 | \ "Modified" : "✹", 265 | \ "Staged" : "✚", 266 | \ "Untracked" : "✭", 267 | \ "Renamed" : "➜", 268 | \ "Unmerged" : "═", 269 | \ "Deleted" : "✖", 270 | \ "Dirty" : "✗", 271 | \ "Clean" : "✔︎", 272 | \ 'Ignored' : '☒', 273 | \ "Unknown" : "?" 274 | \ } 275 | 276 | " LeaderF 277 | nnoremap f :LeaderfFile ~ 278 | let g:Lf_WildIgnore = { 279 | \ 'dir': ['.svn','.git','.hg','.vscode','.deepinwine','.oh-my-zsh'], 280 | \ 'file': ['*.sw?','~$*','*.bak','*.exe','*.o','*.so','*.py[co]'] 281 | \} 282 | let g:Lf_UseCache = 0 283 | 284 | " ack 285 | nnoremap F :Ack! 286 | 287 | " echodoc.vim 288 | let g:echodoc_enable_at_startup = 1 289 | 290 | " tabular 291 | nnoremap l :Tab /\| 292 | nnoremap = :Tab /= 293 | 294 | " vim-smooth-scroll 295 | noremap :call smooth_scroll#up(&scroll, 0, 2) 296 | noremap :call smooth_scroll#down(&scroll, 0, 2) 297 | noremap :call smooth_scroll#up(&scroll*2, 0, 4) 298 | noremap :call smooth_scroll#down(&scroll*2, 0, 4) 299 | 300 | " vim-multiple-cursors 301 | let g:multi_cursor_use_default_mapping = 0 302 | let g:multi_cursor_start_word_key = '' 303 | let g:multi_cursor_select_all_word_key = '' 304 | let g:multi_cursor_start_key = 'g' 305 | let g:multi_cursor_select_all_key = 'g' 306 | let g:multi_cursor_next_key = '' 307 | let g:multi_cursor_prev_key = '' 308 | let g:multi_cursor_skip_key = '' 309 | let g:multi_cursor_quit_key = '' 310 | 311 | " vim 打字机效果vim-keysoind 312 | " vim启动时自启动 313 | let g:keysound_enable = 1 314 | " 设置默认主题,可以使用:default, typewriter, mario, bubble, sword 315 | let g:keysound_theme = 'default' 316 | " 设置Python版本:2 or 3,默认会自动检测 317 | let g:python_py_version = 3 318 | " 设置音量:0-1000 319 | let g:keysound_vloume = 1000 320 | 321 | 322 | " gv 323 | nnoremap g :GV 324 | nnoremap G :GV! 325 | nnoremap gg :GV? 326 | 327 | " 个性化 328 | if filereadable(expand($HOME . '/.vimrc.local')) 329 | source $HOME/.vimrc.local 330 | endif 331 | 332 | " vimtex settings 333 | let g:tex_flavor='latex' 334 | let g:vimtex_view_method='zathura' 335 | let g:vimtex_quickfix_mode=0 336 | set conceallevel=1 337 | let g:tex_conceal='abdmg' 338 | 339 | " UltiSnips 340 | " better key bindings for UltiSnipsExpandTrigger 341 | let g:UltiSnipsSnippetDirectories = ['~/.vim/UltiSnips', 'UltiSnips'] 342 | let g:UltiSnipsExpandTrigger = "" 343 | let g:UltiSnipsJumpForwardTrigger = "" 344 | let g:UltiSnipsJumpBackwardTrigger = "" 345 | " If you want :UltiSnipsEdit to split your window. 346 | let g:UltiSnipsEditSplit="vertical" 347 | 348 | 349 | """""""""""""""""""""""""""""""""""""""""""""""""""" 350 | " SET Comment START 351 | """""""""""""""""""""""""""""""""""""""""""""""""""" 352 | autocmd BufNewFile *.go,*.java,*.h,*.hpp,*.c,*.cc,*.cpp,*.sh,*.py,*.m exec ":call SetComment()" 353 | "|normal 10Go 354 | func SetComment() 355 | if expand("%:e") == 'go' 356 | call setline(1, "// Go file") 357 | elseif expand("%:e") == 'java' 358 | call setline(1, '// Java file') 359 | elseif expand("%:e") == 'h' 360 | call setline(1, '// C/C++ header file') 361 | elseif expand("%:e") == 'hpp' 362 | call setline(1, '// C/C++ header file') 363 | elseif expand("%:e") == 'cc' 364 | call setline(1, '// Linux/Unix C++ source file') 365 | elseif expand("%:e") == 'c' 366 | call setline(1, '// C source file') 367 | elseif expand("%:e") == 'cpp' 368 | call setline(1, '// C++ source file') 369 | elseif expand("%:e") == 'sh' 370 | call setline(1, '#!/bin/bash') 371 | elseif expand("%:e") == 'py' 372 | call setline(1, '# -*- coding: UTF-8 -*-') 373 | elseif expand("%:e") == 'm' 374 | call setline(1, '# MATLIB/Octave source file') 375 | endif 376 | 377 | call append(1, '/***********************************************') 378 | call append(2, '# Copyright (c) 2019, Shanghai') 379 | call append(3, '# All rights reserved.') 380 | call append(4, '#') 381 | call append(5, '# @Filename: '.expand("%")) 382 | call append(6, '# @Version:V1.0') 383 | call append(7, '# @Author: Frank Liu - frankliu624@gmail.com') 384 | call append(8, '# @Description: ---') 385 | call append(9, '# @Create Time: '.strftime("%Y-%m-%d %H:%M:%S")) 386 | call append(10, '# @Last Modified: '.strftime("%Y-%m-%d %H:%M:%S")) 387 | call append(11, '***********************************************/') 388 | call append(12, ' ') 389 | " call append(13, '') 390 | 391 | endfunc 392 | map :call SetComment():10o 393 | 394 | " SET Comment END 395 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""" 396 | -------------------------------------------------------------------------------- /.vimrc.local: -------------------------------------------------------------------------------- 1 | "set relativenumber " 开启相对行号 2 | 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 chxuan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![][1] 2 | 3 | An automatic configuration program for vim 4 | =============================================== 5 | Frank Liu的至尊py,go,c,c++,opencv,java,md,tex终极配置vim-plus-plus 6 | 7 | ![][2] 8 | 9 | ## 天秀 10 | 11 | ![](https://github.com/FLHonker/vim-plus-plus/blob/master/screenshots/plus.png?raw=true) 12 | 13 | 安装 14 | ------------ 15 | ### Mac OS X 16 | 17 | - 安装[HomeBrew][3] 18 | 19 | ```bash 20 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 21 | ``` 22 | 23 | - 安装vimplus 24 | 25 | ```bash 26 | git clone https://github.com/FLHonker/vim-plus-plus.git 27 | cd vim-plus-plus 28 | ./install.sh 29 | ``` 30 | 31 | ### Ubuntu 32 | 33 | - 版本要求 34 | 35 | `ubuntu14.04`及其以上`64`位系统。 36 | 37 | - 安装vimplus 38 | 39 | ```bash 40 | git clone https://github.com/FLHonker/vim-plus-plus.git 41 | cd vim-plus-plus 42 | sudo ./install.sh 43 | ``` 44 | 45 | ### Centos 46 | 47 | - 版本要求 48 | 49 | `centos7`及其以上`64`位系统。 50 | 51 | - 安装vimplus 52 | 53 | ```bash 54 | git clone https://github.com/FLHonker/vim-plus-plus.git 55 | cd vim-plus-plus 56 | sudo ./install.sh 57 | ``` 58 | 59 | ### ArchLinux 60 | 61 | - 安装vimplus 62 | 63 | ```bash 64 | git clone https://github.com/FLHonker/vim-plus-plus.git 65 | cd vim-plus-plus 66 | sudo ./install.sh 67 | ``` 68 | 69 | 个性化 70 | ------------ 71 | 72 | 修改 `~/.vimrc.local` 文件内容,以启用个性化定制,可覆盖 `~/.vimrc` 中的设置。 73 | 74 | 75 | 插件列表 76 | ------------ 77 | 78 | | 插件 | 说明 | 79 | | ------- | ----- | 80 | | [cppfun][58] | 生成函数实现 | 81 | | [change-colorscheme][27] | 随心所欲切换主题 | 82 | | [vim-plug][4] | 比[Vundle][54]下载更快的插件管理软件 | 83 | | ~~[YouCompleteMe][5]~~ | ~~史上最强大的基于语义的自动补全插件,支持C/C++、C#、Python、PHP等语言(被Tabline取代) ~~| 84 | | [NerdTree][6] | 代码资源管理器 | 85 | | [vim-nerdtree-syntax-highlight][52] | NerdTree文件类型高亮 | 86 | | [nerdtree-git-plugin][53] | NerdTree显示git状态 | 87 | | [vim-devicons][15] | 显示文件类型图标 | 88 | | [Airline][8] | 可以取代[powerline][9]的状态栏美化插件 | 89 | | [auto-pairs][10] | 自动补全引号、圆括号、花括号等 | 90 | | [LeaderF][56] | 比[ctrlp][12]更强大的文件的模糊搜索工具 | 91 | | [ack][62] | 强大的文本搜索工具 | 92 | | [tagbar][13] | [taglist][14]的替代品,显示类/方法/变量 | 93 | | [vim-surround][16] | 自动增加、替换配对符的插件 | 94 | | [vim-commentary][17] | 快速注释代码插件 | 95 | | [vim-repeat][18] | 重复上一次操作 | 96 | | [vim-endwise][19] | if/end/endif/endfunction补全 | 97 | | [tabular][20] | 代码、注释、表格对齐 | 98 | | [vim-easymotion][23] | 强大的光标快速移动工具,强大到颠覆你的插件观 | 99 | | [incsearch.vim][24] | 模糊字符搜索插件 | 100 | | [vim-startify][25] | 启动页 | 101 | | [markdown-preview][26] | markdown实时预览 | 102 | | [L9][28] | Vim-script函数库 | 103 | | [pydiction][32] | 基于字典的python语法补全 | 104 | | [a.vim][35] | .h .cpp文件快速切换 | 105 | | [vim-fugitive][36] | 集成Git | 106 | | [gv][64] | git提交浏览器 | 107 | | [vim-slash][50] | 优化搜索,移动光标后清除高亮 | 108 | | [echodoc][57] | 补全函数时在命令栏显示函数签名 | 109 | | [vim-multiple-cursors][63] | 多光标编辑 | 110 | | [vim-smooth-scroll][60] | 让翻页更顺畅 | 111 | | [vim-expand-region][61] | 快速选择区域 | 112 | | [vim-go][66] | golang插件 | 113 | | [vim-keysound][67] | vim打字机效果 | 114 | | [indentLine][68] | 缩进线 | 115 | | [DoxygenToolkit.vim][69] | 代码自动注释 | 116 | | [vim-markdown][70] | MarkDown Vim Mode, 语法高亮,规则匹配等 | 117 | | [tabnine-vim][71] | AI补全插件,替代YMC | 118 | 119 | 120 | 快捷键 121 | ------------ 122 | 123 | 以下是部分快捷键,更详细的快捷键请查阅[vimplus帮助文档][59]。 124 | 125 | | 快捷键 | 说明 | 126 | | ------- | ----- | 127 | | `,` | Leader Key | 128 | | `n` | 打开/关闭代码资源管理器 | 129 | | `t` | 打开/关闭函数列表 | 130 | | `a` | .h .cpp 文件切换 | 131 | | `i` | 转到函数声明 | 132 | | `u` | 转到函数实现 | 133 | | `o` | 打开include文件 | 134 | | `y` | 拷贝函数声明 | 135 | | `p` | 生成函数定义 | 136 | | `w` | 单词跳转 | 137 | | `f` | 搜索~目录下的文件 | 138 | | `F` | 搜索当前目录下的文本 | 139 | | `g` | 显示git仓库提交记录 | 140 | | `G` | 显示当前文件提交记录 | 141 | | `gg` | 显示当前文件在某个commit下的完整内容 | 142 | | `ff` | 语法错误自动修复(FixIt) | 143 | | `` | 显示语法错误提示窗口 | 144 | | `` | 启用markdown实时预览 | 145 | | `` | 关闭markdown实时预览 | 146 | | `` | 显示上一主题 | 147 | | `` | 显示下一主题 | 148 | | `l` | 按竖线对齐 | 149 | | `=` | 按等号对齐 | 150 | | `gcc` | 注释代码 | 151 | | `gcap` | 注释段落 | 152 | | `vif` | 选中函数内容 | 153 | | `dif` | 删除函数内容 | 154 | | `cif` | 改写函数内容 | 155 | | `vaf` | 选中函数内容(包括函数名 花括号) | 156 | | `daf` | 删除函数内容(包括函数名 花括号) | 157 | | `caf` | 改写函数内容(包括函数名 花括号) | 158 | | `+` | 逐渐增大选择区域 | 159 | | `-` | 逐渐减小选择区域 | 160 | 161 | Q & A 162 | ------------ 163 | 164 | - **`安装vimplusplus后Airline等插件有乱码,怎么解决?`** 165 | 166 | linux和mac系统需设置终端字体为`Droid Sans Mono Nerd Font`。 167 | 168 | - **`xshell连接远程主机不能使用vim-devicons或乱码。`** 169 | 170 | windows系统安装[Nerd Font][51]字体后并更改xshell字体即可。 171 | 172 | - **`安装vimplusplus会经常失败,安装了几次都不成功!!!`** 173 | 174 | vimplusplus安装时需要访问外国网站,由于网络原因,可能会失败,安装成功也要1个多小时,ycm插件有200M左右,下载比较耗时。Frank已经为您准备好了一切~您只需要把本仓库所有文件clone下来,运行`install.sh`安装脚本,就会自动解压相关文件到目标位置,免去后续下载安装过程。如果clone仓库较慢,您也可以直接下载`YouCompleteMe-full/YouCompleteMe.zip`手动解压到`~/.vim/plugged/`,并进入YouCompleteMe目录执行`./install.py --clang-completer`即可安装YCM。 175 | 176 | [YouCompleteMe.tar.gz备用下载地址][37] 177 | 178 | - **`使用第三方库时怎么让ycm补全第三方库API?`** 179 | 180 | vimplusplus安装完毕之后,`~`目录下将会生成两个隐藏文件分别是.vimrc和.ycm_extra_conf.py,其中.vimrc是vim的配置文件,.ycm_extra_conf.py是ycm插件的配置文件,当你需要创建一个project时,需要将.ycm_extra_conf.py拷贝到project的顶层目录,通过修改该配置文件里面的`flags`变量来添加你的第三方库路径。 181 | 182 | - **`安装vimplusplus完成后ycm不能够工作!!!`** 183 | 184 | 这里的原因可能就有很多了,可能每个人遇到的问题不一样,但`vimplusplus`尽最大努力不让用户操心,需要注意的是ycm插件只支持`64`位的系统,更多信息请访问[ycm官网][38]。现在ycm已经被tabline智能工具取代。 185 | 186 | - **`在Archlinux环境下不能使用ycm怎么办?(缺少libtinfo.so.5)`** 187 | 188 | 在Archlinux下可以试着使用pkgfile命令搜索依赖的文件具体在什么包内,目前找到的包含libtinfo.so.5的包是ncurses5-compat-libs(AUR)或者32位的lib32-ncurses5-compat-libs(AUR),安装后即可正常使用。 189 | 190 | - **`以上没有我遇到的问题怎么办?`** 191 | 192 | 您可以通过上网找解决方法,或提[Issues][39],也可以通过发邮件方式`frankliu624@outlook.com`一起讨论解决方法。 193 | 194 | - **`vimplusplus用起来真的太棒了,怎么办?`** 195 | 196 | 那就麻烦您打赏一颗:star::star:吧,给予我继续维护的动力。 197 | 198 | 199 | 特性展示 200 | ------------ 201 | 202 | - YouCompleteMe 203 | 204 | ![][40] 205 | 206 | - LeaderF 207 | 208 | ![][41] 209 | 210 | - vim-multiple-cursors 211 | 212 | ![][65] 213 | 214 | - vim-airline 215 | 216 | ![][42] 217 | 218 | - vim-surround 219 | 220 | ![][43] 221 | 222 | - vim-commentary 223 | 224 | ![][44] 225 | 226 | - auto-pairs 227 | 228 | ![][45] 229 | 230 | - vim-easymotion 231 | 232 | ![][46] 233 | 234 | - vim-devicons 235 | 236 | ![][47] 237 | 238 | - vim-startify 239 | 240 | ![][48] 241 | 242 | - markdown-preview 243 | 244 | ![][49] 245 | 246 | 247 | [1]: https://github.com/FLHonker/vim-plus-plus/blob/master/screenshots/vimplus-logo.png?raw=true 248 | [2]: https://github.com/FLHonker/vim-plus-plus/blob/master/screenshots/main.png?raw=true 249 | [3]: https://brew.sh/ 250 | [4]: https://github.com/junegunn/vim-plug 251 | [5]: https://github.com/Valloric/YouCompleteMe 252 | [6]: https://github.com/scrooloose/nerdtree 253 | [8]: https://github.com/vim-airline/vim-airline 254 | [9]: https://github.com/powerline/powerline 255 | [10]: https://github.com/jiangmiao/auto-pairs 256 | [12]: https://github.com/ctrlpvim/ctrlp.vim 257 | [13]: https://github.com/majutsushi/tagbar 258 | [14]: https://github.com/vim-scripts/taglist.vim 259 | [15]: https://github.com/ryanoasis/vim-devicons 260 | [16]: https://github.com/tpope/vim-surround 261 | [17]: https://github.com/tpope/vim-commentary 262 | [18]: https://github.com/tpope/vim-repeat 263 | [19]: https://github.com/tpope/vim-endwise 264 | [20]: https://github.com/godlygeek/tabular 265 | [23]: https://github.com/easymotion/vim-easymotion 266 | [24]: https://github.com/haya14busa/incsearch.vim 267 | [25]: https://github.com/mhinz/vim-startify 268 | [26]: https://github.com/iamcco/markdown-preview.vim 269 | [27]: https://github.com/chxuan/change-colorscheme 270 | [28]: https://github.com/vim-scripts/L9 271 | [32]: https://github.com/rkulla/pydiction 272 | [35]: https://github.com/vim-scripts/a.vim 273 | [36]: https://github.com/tpope/vim-fugitive 274 | [37]: https://pan.baidu.com/s/1i481Eeh 275 | [38]: https://github.com/Valloric/YouCompleteMe 276 | [39]: https://github.com/FLHonker/vim-plus-plus/issues 277 | [40]: https://camo.githubusercontent.com/1f3f922431d5363224b20e99467ff28b04e810e2/687474703a2f2f692e696d6775722e636f6d2f304f50346f6f642e676966 278 | [41]: https://github.com/Yggdroot/Images/blob/master/leaderf/leaderf_1.gif 279 | [42]: https://camo.githubusercontent.com/ba79534309330accd776a8d2a0712f7c4037d7f9/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3330363530322f313037323632332f34346332393261302d313439352d313165332d396365362d6463616461336631633533362e676966 280 | [43]: https://camo.githubusercontent.com/1f02cead8bdcf894f26b0006c44068a33a7dc8e5/687474703a2f2f6a6f65646963617374726f2e636f6d2f7374617469632f70696374757265732f737572726f756e645f656e2e676966 281 | [44]: https://camo.githubusercontent.com/2f5cb5bc9a964b0d9e623b5b3aff0314294ac841/687474703a2f2f6a6f65646963617374726f2e636f6d2f7374617469632f70696374757265732f636f6d6d656e746172795f656e2e676966 282 | [45]: https://camo.githubusercontent.com/372b34413e710cdbc95c5a5c1f901baf9e77791d/687474703a2f2f6a6f65646963617374726f2e636f6d2f7374617469632f70696374757265732f736d617274696e7075745f656e2e676966 283 | [46]: https://camo.githubusercontent.com/d5f800b9602faaeccc2738c302776a8a11797a0e/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f333739373036322f323033393335392f61386539333864362d383939662d313165332d383738392d3630303235656138333635362e676966 284 | [47]: https://raw.githubusercontent.com/wiki/ryanoasis/vim-devicons/screenshots/v0.9.x/overall-screenshot.png 285 | [48]: https://raw.githubusercontent.com/mhinz/vim-startify/master/images/startify-menu.png 286 | [49]: https://cloud.githubusercontent.com/assets/5492542/15363504/839753be-1d4b-11e6-9ac8-def4d7122e8d.gif 287 | [50]: https://github.com/junegunn/vim-slash 288 | [51]: https://github.com/ryanoasis/nerd-fonts 289 | [52]: https://github.com/tiagofumo/vim-nerdtree-syntax-highlight 290 | [53]: https://github.com/Xuyuanp/nerdtree-git-plugin 291 | [54]: https://github.com/VundleVim/Vundle.vim 292 | [56]: https://github.com/Yggdroot/LeaderF 293 | [57]: https://github.com/Shougo/echodoc.vim 294 | [58]: https://github.com/chxuan/cppfun 295 | [59]: https://github.com/FLHonker/vim-plus-plus/blob/master/help.md 296 | [60]: https://github.com/terryma/vim-smooth-scroll 297 | [61]: https://github.com/terryma/vim-expand-region 298 | [62]: https://github.com/mileszs/ack.vim 299 | [63]: https://github.com/terryma/vim-multiple-cursors 300 | [64]: https://github.com/junegunn/gv.vim 301 | [65]: https://raw.githubusercontent.com/terryma/vim-multiple-cursors/master/assets/example1.gif 302 | [66]: https://github.com/fatih/vim-go 303 | [67]: https://github.com/skywind3000/vim-keysound 304 | [68]: https://github.com/Yggdroot/indentLine 305 | [69]: https://github.com/vim-scripts/DoxygenToolkit.vim 306 | [70]: https://github.com/plasticboy/vim-markdown 307 | [71]: https://github.com/zxqfl/tabnine-vim 308 | -------------------------------------------------------------------------------- /UltiSnips/tex-e0c2e8b64036f77db00411d562750c12.snippets: -------------------------------------------------------------------------------- 1 | global !p 2 | texMathZones = ['texMathZone'+x for x in ['A', 'AS', 'B', 'BS', 'C', 'CS', 'D', 'DS', 'E', 'ES', 'F', 'FS', 'G', 'GS', 'H', 'HS', 'I', 'IS', 'J', 'JS', 'K', 'KS', 'L', 'LS', 'DS', 'V', 'W', 'X', 'Y', 'Z']] 3 | 4 | texIgnoreMathZones = ['texMathText'] 5 | 6 | texMathZoneIds = vim.eval('map('+str(texMathZones)+", 'hlID(v:val)')") 7 | texIgnoreMathZoneIds = vim.eval('map('+str(texIgnoreMathZones)+", 'hlID(v:val)')") 8 | 9 | ignore = texIgnoreMathZoneIds[0] 10 | 11 | def math(): 12 | synstackids = vim.eval("synstack(line('.'), col('.') - (col('.')>=2 ? 1 : 0))") 13 | try: 14 | first = next(i for i in reversed(synstackids) if i in texIgnoreMathZoneIds or i in texMathZoneIds) 15 | return first != ignore 16 | except StopIteration: 17 | return False 18 | endglobal 19 | 20 | snippet template "Basic template" b 21 | \documentclass[a4paper]{article} 22 | 23 | \usepackage[utf8]{inputenc} 24 | \usepackage[T1]{fontenc} 25 | \usepackage{textcomp} 26 | \usepackage[dutch]{babel} 27 | \usepackage{amsmath, amssymb} 28 | 29 | \begin{document} 30 | $0 31 | \end{document} 32 | endsnippet 33 | 34 | snippet beg "begin{} / end{}" bA 35 | \\begin{$1} 36 | $0 37 | \\end{$1} 38 | endsnippet 39 | 40 | priority 100 41 | snippet ... "ldots" iA 42 | \ldots 43 | endsnippet 44 | 45 | snippet table "Table environment" b 46 | \begin{table}[${1:htpb}] 47 | \centering 48 | \caption{${2:caption}} 49 | \label{tab:${3:label}} 50 | \begin{tabular}{${5:c}} 51 | $0${5/((?<=.)c|l|r)|./(?1: & )/g} 52 | \end{tabular} 53 | \end{table} 54 | endsnippet 55 | 56 | snippet fig "Figure environment" b 57 | \begin{figure}[${1:htpb}] 58 | \centering 59 | ${2:\includegraphics[width=0.8\textwidth]{$3}} 60 | \caption{${4:$3}} 61 | \label{fig:${5:${3/\W+/-/g}}} 62 | \end{figure} 63 | endsnippet 64 | 65 | snippet enum "Enumerate" bA 66 | \begin{enumerate} 67 | \item $0 68 | \end{enumerate} 69 | endsnippet 70 | 71 | snippet item "Itemize" bA 72 | \begin{itemize} 73 | \item $0 74 | \end{itemize} 75 | endsnippet 76 | 77 | snippet desc "Description" b 78 | \begin{description} 79 | \item[$1] $0 80 | \end{description} 81 | endsnippet 82 | 83 | snippet pac "Package" b 84 | \usepackage[${1:options}]{${2:package}}$0 85 | endsnippet 86 | 87 | snippet => "implies" Ai 88 | \implies 89 | endsnippet 90 | 91 | snippet =< "implied by" Ai 92 | \impliedby 93 | endsnippet 94 | 95 | context "math()" 96 | snippet iff "iff" Ai 97 | \iff 98 | endsnippet 99 | 100 | snippet mk "Math" wA 101 | $${1}$`!p 102 | if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']: 103 | snip.rv = ' ' 104 | else: 105 | snip.rv = '' 106 | `$2 107 | endsnippet 108 | 109 | snippet dm "Math" wA 110 | \[ 111 | ${1:${VISUAL}} 112 | .\] $0 113 | endsnippet 114 | 115 | snippet ali "Align" bA 116 | \begin{align*} 117 | ${1:${VISUAL}} 118 | .\end{align*} 119 | endsnippet 120 | 121 | 122 | context "math()" 123 | snippet // "Fraction" iA 124 | \\frac{$1}{$2}$0 125 | endsnippet 126 | 127 | snippet / "Fraction" i 128 | \\frac{${VISUAL}}{$1}$0 129 | endsnippet 130 | 131 | context "math()" 132 | snippet '((\d+)|(\d*)(\\)?([A-Za-z]+)((\^|_)(\{\d+\}|\d))*)/' "symbol frac" wrA 133 | \\frac{`!p snip.rv = match.group(1)`}{$1}$0 134 | endsnippet 135 | 136 | priority 1000 137 | context "math()" 138 | snippet '^.*\)/' "() frac" wrA 139 | `!p 140 | stripped = match.string[:-1] 141 | depth = 0 142 | i = len(stripped) - 1 143 | while True: 144 | if stripped[i] == ')': depth += 1 145 | if stripped[i] == '(': depth -= 1 146 | if depth == 0: break; 147 | i-=1 148 | snip.rv = stripped[0:i] + "\\frac{" + stripped[i+1:-1] + "}" 149 | `{$1}$0 150 | endsnippet 151 | 152 | context "math()" 153 | snippet '([A-Za-z])(\d)' "auto subscript" wrA 154 | `!p snip.rv = match.group(1)`_`!p snip.rv = match.group(2)` 155 | endsnippet 156 | 157 | context "math()" 158 | snippet '([A-Za-z])_(\d\d)' "auto subscript2" wrA 159 | `!p snip.rv = match.group(1)`_{`!p snip.rv = match.group(2)`} 160 | endsnippet 161 | 162 | 163 | snippet sympy "sympyblock " w 164 | sympy $1 sympy$0 165 | endsnippet 166 | 167 | priority 10000 168 | snippet 'sympy(.*)sympy' "sympy" wr 169 | `!p 170 | from sympy import * 171 | x, y, z, t = symbols('x y z t') 172 | k, m, n = symbols('k m n', integer=True) 173 | f, g, h = symbols('f g h', cls=Function) 174 | init_printing() 175 | snip.rv = eval('latex(' + match.group(1).replace('\\', '').replace('^', '**').replace('{', '(').replace('}', ')') + ')') 176 | ` 177 | endsnippet 178 | 179 | priority 1000 180 | snippet math "mathematicablock" w 181 | math $1 math$0 182 | endsnippet 183 | 184 | priority 10000 185 | snippet 'math(.*)math' "math" wr 186 | `!p 187 | import subprocess 188 | code = match.group(1) 189 | code = 'ToString[' + code + ', TeXForm]' 190 | snip.rv = subprocess.check_output(['wolframscript', '-code', code]) 191 | ` 192 | endsnippet 193 | 194 | snippet == "equals" iA 195 | &= $1 \\\\ 196 | endsnippet 197 | 198 | snippet != "equals" iA 199 | \neq 200 | endsnippet 201 | 202 | context "math()" 203 | snippet ceil "ceil" iA 204 | \left\lceil $1 \right\rceil $0 205 | endsnippet 206 | 207 | context "math()" 208 | snippet floor "floor" iA 209 | \left\lfloor $1 \right\rfloor$0 210 | endsnippet 211 | 212 | snippet pmat "pmat" iA 213 | \begin{pmatrix} $1 \end{pmatrix} $0 214 | endsnippet 215 | 216 | snippet bmat "bmat" iA 217 | \begin{bmatrix} $1 \end{bmatrix} $0 218 | endsnippet 219 | 220 | context "math()" 221 | snippet () "left( right)" iA 222 | \left( ${1:${VISUAL}} \right) $0 223 | endsnippet 224 | 225 | snippet lr "left( right)" i 226 | \left( ${1:${VISUAL}} \right) $0 227 | endsnippet 228 | 229 | snippet lr( "left( right)" i 230 | \left( ${1:${VISUAL}} \right) $0 231 | endsnippet 232 | 233 | snippet lr| "left| right|" i 234 | \left| ${1:${VISUAL}} \right| $0 235 | endsnippet 236 | 237 | snippet lr{ "left\{ right\}" i 238 | \left\\{ ${1:${VISUAL}} \right\\} $0 239 | endsnippet 240 | 241 | snippet lrb "left\{ right\}" i 242 | \left\\{ ${1:${VISUAL}} \right\\} $0 243 | endsnippet 244 | 245 | snippet lr[ "left[ right]" i 246 | \left[ ${1:${VISUAL}} \right] $0 247 | endsnippet 248 | 249 | snippet lra "leftangle rightangle" iA 250 | \left<${1:${VISUAL}} \right>$0 251 | endsnippet 252 | 253 | context "math()" 254 | snippet conj "conjugate" iA 255 | \overline{$1}$0 256 | endsnippet 257 | 258 | snippet dint "integral" w 259 | \int_{${1:-\infty}}^{${2:\infty}} ${3:${VISUAL}} $0 260 | endsnippet 261 | 262 | snippet 'z "zeta" wA 263 | \zeta 264 | endsnippet 265 | 266 | # snippet sum "sum" w 267 | # \sum_{n=${1:0}}^{${3:\infty}} ${4:${VISUAL}} $0 268 | # endsnippet 269 | 270 | snippet sum "sum" w 271 | \sum_{n=${1:1}}^{${2:\infty}} ${3:a_n z^n} 272 | endsnippet 273 | 274 | snippet taylor "taylor" w 275 | \sum_{${1:k}=${2:0}}^{${3:\infty}} ${4:c_$1} (x-a)^$1 $0 276 | endsnippet 277 | 278 | snippet lim "limit" w 279 | \lim_{${1:n} \to ${2:\infty}} 280 | endsnippet 281 | 282 | snippet limsup "limsup" w 283 | \limsup_{${1:n} \to ${2:\infty}} 284 | endsnippet 285 | 286 | snippet prod "product" w 287 | \prod_{${1:n=${2:1}}}^{${3:\infty}} ${4:${VISUAL}} $0 288 | endsnippet 289 | 290 | snippet part "d/dx" w 291 | \frac{\partial ${1:V}}{\partial ${2:x}} $0 292 | endsnippet 293 | 294 | context "math()" 295 | snippet sq "\sqrt{}" iA 296 | \sqrt{${1:${VISUAL}}} $0 297 | endsnippet 298 | 299 | context "math()" 300 | snippet sr "^2" iA 301 | ^2 302 | endsnippet 303 | 304 | context "math()" 305 | snippet cb "^3" iA 306 | ^3 307 | endsnippet 308 | 309 | context "math()" 310 | snippet td "to the ... power" iA 311 | ^{$1}$0 312 | endsnippet 313 | 314 | context "math()" 315 | snippet rd "to the ... power" iA 316 | ^{($1)}$0 317 | endsnippet 318 | 319 | snippet __ "subscript" iA 320 | _{$1}$0 321 | endsnippet 322 | 323 | snippet ooo "\infty" iA 324 | \infty 325 | endsnippet 326 | 327 | snippet rij "mrij" i 328 | (${1:x}_${2:n})_{${3:$2}\\in${4:\\N}}$0 329 | endsnippet 330 | 331 | snippet <= "leq" iA 332 | \le 333 | endsnippet 334 | 335 | snippet >= "geq" iA 336 | \ge 337 | endsnippet 338 | 339 | context "math()" 340 | snippet EE "geq" iA 341 | \exists 342 | endsnippet 343 | 344 | context "math()" 345 | snippet AA "forall" iA 346 | \forall 347 | endsnippet 348 | 349 | context "math()" 350 | snippet xnn "xn" iA 351 | x_{n} 352 | endsnippet 353 | 354 | context "math()" 355 | snippet ynn "yn" iA 356 | y_{n} 357 | endsnippet 358 | 359 | 360 | context "math()" 361 | snippet xii "xi" iA 362 | x_{i} 363 | endsnippet 364 | 365 | context "math()" 366 | snippet yii "yi" iA 367 | y_{i} 368 | endsnippet 369 | 370 | context "math()" 371 | snippet xjj "xj" iA 372 | x_{j} 373 | endsnippet 374 | 375 | context "math()" 376 | snippet yjj "yj" iA 377 | y_{j} 378 | endsnippet 379 | 380 | context "math()" 381 | snippet xp1 "x" iA 382 | x_{n+1} 383 | endsnippet 384 | 385 | context "math()" 386 | snippet xmm "x" iA 387 | x_{m} 388 | endsnippet 389 | 390 | snippet R0+ "R0+" iA 391 | \\R_0^+ 392 | endsnippet 393 | 394 | snippet plot "Plot" w 395 | \begin{figure}[$1] 396 | \centering 397 | \begin{tikzpicture} 398 | \begin{axis}[ 399 | xmin= ${2:-10}, xmax= ${3:10}, 400 | ymin= ${4:-10}, ymax = ${5:10}, 401 | axis lines = middle, 402 | ] 403 | \addplot[domain=$2:$3, samples=${6:100}]{$7}; 404 | \end{axis} 405 | \end{tikzpicture} 406 | \caption{$8} 407 | \label{${9:$8}} 408 | \end{figure} 409 | endsnippet 410 | 411 | snippet nn "Tikz node" w 412 | \node[$5] (${1/[^0-9a-zA-Z]//g}${2}) ${3:at (${4:0,0}) }{$${1}$}; 413 | $0 414 | endsnippet 415 | 416 | context "math()" 417 | snippet mcal "mathcal" iA 418 | \mathcal{$1}$0 419 | endsnippet 420 | 421 | snippet lll "l" iA 422 | \ell 423 | endsnippet 424 | 425 | context "math()" 426 | snippet nabl "nabla" iA 427 | \nabla 428 | endsnippet 429 | 430 | context "math()" 431 | snippet xx "cross" iA 432 | \times 433 | endsnippet 434 | 435 | priority 100 436 | # snippet * "cdot" iA 437 | # \cdot 438 | # endsnippet 439 | 440 | # priority 200 441 | # snippet '\cdot *' "cdot" iA 442 | # * 443 | # endsnippet 444 | 445 | context "math()" 446 | snippet norm "norm" iA 447 | \|$1\|$0 448 | endsnippet 449 | 450 | priority 100 451 | context "math()" 452 | snippet '(? "to" iA 465 | \to 466 | endsnippet 467 | 468 | priority 200 469 | context "math()" 470 | snippet <-> "leftrightarrow" iA 471 | \leftrightarrow 472 | endsnippet 473 | 474 | context "math()" 475 | snippet !> "mapsto" iA 476 | \mapsto 477 | endsnippet 478 | 479 | context "math()" 480 | snippet invs "inverse" iA 481 | ^{-1} 482 | endsnippet 483 | 484 | context "math()" 485 | snippet compl "complement" iA 486 | ^{c} 487 | endsnippet 488 | 489 | context "math()" 490 | snippet \\\ "setminus" iA 491 | \setminus 492 | endsnippet 493 | 494 | snippet >> ">>" iA 495 | \gg 496 | endsnippet 497 | 498 | snippet << "<<" iA 499 | \ll 500 | endsnippet 501 | 502 | snippet DD "delta" iA 503 | \Delta 504 | endsnippet 505 | 506 | snippet ~~ "~" iA 507 | \sim 508 | endsnippet 509 | 510 | context "math()" 511 | snippet set "set" wA 512 | \\{$1\\} $0 513 | endsnippet 514 | 515 | snippet || "mid" iA 516 | \mid 517 | endsnippet 518 | 519 | 520 | context "math()" 521 | snippet cc "subset" Ai 522 | \subset 523 | endsnippet 524 | 525 | snippet notin "not in " iA 526 | \not\in 527 | endsnippet 528 | 529 | context "math()" 530 | snippet inn "in " iA 531 | \in 532 | endsnippet 533 | 534 | snippet NN "n" iA 535 | \N 536 | endsnippet 537 | 538 | snippet Nn "cap" iA 539 | \cap 540 | endsnippet 541 | 542 | snippet UU "cup" iA 543 | \cup 544 | endsnippet 545 | 546 | snippet uuu "bigcup" iA 547 | \bigcup_{${1:i \in ${2: I}}} $0 548 | endsnippet 549 | 550 | snippet nnn "bigcap" iA 551 | \bigcap_{${1:i \in ${2: I}}} $0 552 | endsnippet 553 | 554 | snippet OO "emptyset" iA 555 | \O 556 | endsnippet 557 | 558 | snippet RR "real" iA 559 | \R 560 | endsnippet 561 | 562 | snippet QQ "Q" iA 563 | \Q 564 | endsnippet 565 | 566 | snippet ZZ "Z" iA 567 | \Z 568 | endsnippet 569 | 570 | snippet "hokje" iA 575 | \diamond 576 | endsnippet 577 | 578 | 579 | context "math()" 580 | snippet '(? 580 5 | hi clear 6 | if exists("syntax_on") 7 | syntax reset 8 | endif 9 | endif 10 | 11 | set t_Co=256 12 | let g:colors_name = "SolarizedDark" 13 | 14 | hi Normal guifg=#839496 guibg=#002b36 guisp=#002b36 gui=NONE ctermfg=66 ctermbg=23 cterm=NONE 15 | "hi clear -- no settings -- 16 | hi IncSearch guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE ctermfg=166 ctermbg=NONE cterm=NONE 17 | hi WildMenu guifg=#eee8d5 guibg=#073642 guisp=#073642 gui=NONE ctermfg=230 ctermbg=23 cterm=NONE 18 | hi SignColumn guifg=#839496 guibg=#bebebe guisp=#bebebe gui=NONE ctermfg=66 ctermbg=7 cterm=NONE 19 | hi SpecialComment guifg=#dc322f guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE 20 | hi Typedef guifg=#b58900 guibg=NONE guisp=NONE gui=NONE ctermfg=136 ctermbg=NONE cterm=NONE 21 | hi Title guifg=#cb4b16 guibg=NONE guisp=NONE gui=bold ctermfg=166 ctermbg=NONE cterm=bold 22 | hi Folded guifg=#839496 guibg=#073642 guisp=#073642 gui=bold ctermfg=66 ctermbg=23 cterm=bold 23 | hi PreCondit guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE ctermfg=166 ctermbg=NONE cterm=NONE 24 | hi Include guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE ctermfg=166 ctermbg=NONE cterm=NONE 25 | hi TabLineSel guifg=#586e75 guibg=#eee8d5 guisp=#eee8d5 gui=bold ctermfg=66 ctermbg=230 cterm=bold 26 | hi StatusLineNC guifg=#657b83 guibg=#073642 guisp=#073642 gui=NONE ctermfg=66 ctermbg=23 cterm=NONE 27 | hi CTagsMember guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 28 | hi NonText guifg=#657b83 guibg=NONE guisp=NONE gui=bold ctermfg=66 ctermbg=NONE cterm=bold 29 | hi CTagsGlobalConstant guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 30 | hi DiffText guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE ctermfg=37 ctermbg=NONE cterm=NONE 31 | hi ErrorMsg guifg=#dc322f guibg=#0000c0 guisp=#0000c0 gui=NONE ctermfg=160 ctermbg=4 cterm=NONE 32 | hi Ignore guifg=#000000 guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE 33 | hi Debug guifg=#dc322f guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE 34 | hi PMenuSbar guifg=#eee8d5 guibg=#839496 guisp=#839496 gui=NONE ctermfg=230 ctermbg=66 cterm=NONE 35 | hi Identifier guifg=#268bd2 guibg=NONE guisp=NONE gui=bold ctermfg=32 ctermbg=NONE cterm=bold 36 | hi SpecialChar guifg=#dc322f guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE 37 | hi Conditional guifg=#719e07 guibg=NONE guisp=NONE gui=NONE ctermfg=106 ctermbg=NONE cterm=NONE 38 | hi StorageClass guifg=#b58900 guibg=NONE guisp=NONE gui=NONE ctermfg=136 ctermbg=NONE cterm=NONE 39 | hi Todo guifg=#d33682 guibg=#00ffff guisp=#00ffff gui=bold ctermfg=168 ctermbg=14 cterm=bold 40 | hi Special guifg=#dc322f guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE 41 | hi LineNr guifg=#586e75 guibg=#073642 guisp=#073642 gui=NONE ctermfg=66 ctermbg=23 cterm=NONE 42 | hi StatusLine guifg=#93a1a1 guibg=#073642 guisp=#073642 gui=bold ctermfg=109 ctermbg=23 cterm=bold 43 | hi Label guifg=#719e07 guibg=NONE guisp=NONE gui=NONE ctermfg=106 ctermbg=NONE cterm=NONE 44 | hi CTagsImport guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 45 | hi PMenuSel guifg=#586e75 guibg=#eee8d5 guisp=#eee8d5 gui=NONE ctermfg=66 ctermbg=230 cterm=NONE 46 | hi Search guifg=#b58900 guibg=#00ffff guisp=#00ffff gui=NONE ctermfg=136 ctermbg=14 cterm=NONE 47 | hi CTagsGlobalVariable guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 48 | hi Delimiter guifg=#dc322f guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE 49 | hi Statement guifg=#719e07 guibg=NONE guisp=NONE gui=NONE ctermfg=106 ctermbg=NONE cterm=NONE 50 | hi SpellRare guifg=#e2e4e5 guibg=#ff40ff guisp=#ff40ff gui=NONE ctermfg=254 ctermbg=13 cterm=NONE 51 | hi EnumerationValue guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 52 | hi Comment guifg=#586e75 guibg=NONE guisp=NONE gui=italic ctermfg=66 ctermbg=NONE cterm=NONE 53 | hi Character guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE ctermfg=37 ctermbg=NONE cterm=NONE 54 | hi Float guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE ctermfg=37 ctermbg=NONE cterm=NONE 55 | hi Number guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE ctermfg=37 ctermbg=NONE cterm=NONE 56 | hi Boolean guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE ctermfg=37 ctermbg=NONE cterm=NONE 57 | hi Operator guifg=#719e07 guibg=NONE guisp=NONE gui=NONE ctermfg=106 ctermbg=NONE cterm=NONE 58 | hi CursorLine guifg=#e2e4e5 guibg=#073642 guisp=#073642 gui=underline ctermfg=254 ctermbg=23 cterm=underline 59 | hi Union guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 60 | hi TabLineFill guifg=#839496 guibg=#073642 guisp=#073642 gui=underline ctermfg=66 ctermbg=23 cterm=underline 61 | hi Question guifg=#2aa198 guibg=NONE guisp=NONE gui=bold ctermfg=37 ctermbg=NONE cterm=bold 62 | hi WarningMsg guifg=#dc322f guibg=NONE guisp=NONE gui=bold ctermfg=160 ctermbg=NONE cterm=bold 63 | hi VisualNOS guifg=#e2e4e5 guibg=#073642 guisp=#073642 gui=bold ctermfg=254 ctermbg=23 cterm=bold 64 | hi DiffDelete guifg=#dc322f guibg=#073642 guisp=#073642 gui=bold ctermfg=160 ctermbg=23 cterm=bold 65 | hi ModeMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=bold ctermfg=32 ctermbg=NONE cterm=bold 66 | hi CursorColumn guifg=#e2e4e5 guibg=#073642 guisp=#073642 gui=NONE ctermfg=254 ctermbg=23 cterm=NONE 67 | hi Define guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE ctermfg=166 ctermbg=NONE cterm=NONE 68 | hi Function guifg=#268bd2 guibg=NONE guisp=NONE gui=bold ctermfg=32 ctermbg=NONE cterm=bold 69 | hi FoldColumn guifg=#839496 guibg=#073642 guisp=#073642 gui=NONE ctermfg=66 ctermbg=23 cterm=NONE 70 | hi PreProc guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE ctermfg=166 ctermbg=NONE cterm=NONE 71 | hi EnumerationName guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 72 | hi Visual guifg=#586e75 guibg=#002b36 guisp=#002b36 gui=NONE ctermfg=66 ctermbg=23 cterm=NONE 73 | hi MoreMsg guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE ctermfg=32 ctermbg=NONE cterm=NONE 74 | hi SpellCap guifg=#e2e4e5 guibg=#ff6060 guisp=#ff6060 gui=NONE ctermfg=254 ctermbg=9 cterm=NONE 75 | hi VertSplit guifg=#657b83 guibg=#657b83 guisp=#657b83 gui=NONE ctermfg=66 ctermbg=66 cterm=NONE 76 | hi Exception guifg=#719e07 guibg=NONE guisp=NONE gui=NONE ctermfg=106 ctermbg=NONE cterm=NONE 77 | hi Keyword guifg=#719e07 guibg=NONE guisp=NONE gui=NONE ctermfg=106 ctermbg=NONE cterm=NONE 78 | hi Type guifg=#b58900 guibg=NONE guisp=NONE gui=NONE ctermfg=136 ctermbg=NONE cterm=NONE 79 | hi DiffChange guifg=#b58900 guibg=#073642 guisp=#073642 gui=bold ctermfg=136 ctermbg=23 cterm=bold 80 | hi Cursor guifg=#002b36 guibg=#839496 guisp=#839496 gui=NONE ctermfg=23 ctermbg=66 cterm=NONE 81 | hi SpellLocal guifg=#e2e4e5 guibg=#ffff00 guisp=#ffff00 gui=NONE ctermfg=254 ctermbg=11 cterm=NONE 82 | hi Error guifg=#dc322f guibg=#8080ff guisp=#8080ff gui=bold ctermfg=160 ctermbg=12 cterm=bold 83 | hi PMenu guifg=#839496 guibg=#073642 guisp=#073642 gui=NONE ctermfg=66 ctermbg=23 cterm=NONE 84 | hi SpecialKey guifg=#657b83 guibg=#073642 guisp=#073642 gui=bold ctermfg=66 ctermbg=23 cterm=bold 85 | hi Constant guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE ctermfg=37 ctermbg=NONE cterm=NONE 86 | hi DefinedName guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 87 | hi Tag guifg=#dc322f guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE 88 | hi String guifg=#2aa198 guibg=NONE guisp=NONE gui=NONE ctermfg=37 ctermbg=NONE cterm=NONE 89 | hi PMenuThumb guifg=#839496 guibg=#002b36 guisp=#002b36 gui=NONE ctermfg=66 ctermbg=23 cterm=NONE 90 | hi MatchParen guifg=#dc322f guibg=#586e75 guisp=#586e75 gui=bold ctermfg=160 ctermbg=66 cterm=bold 91 | hi LocalVariable guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 92 | hi Repeat guifg=#719e07 guibg=NONE guisp=NONE gui=NONE ctermfg=106 ctermbg=NONE cterm=NONE 93 | hi SpellBad guifg=#e2e4e5 guibg=#8080ff guisp=#8080ff gui=NONE ctermfg=254 ctermbg=12 cterm=NONE 94 | hi CTagsClass guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 95 | hi Directory guifg=#268bd2 guibg=NONE guisp=NONE gui=NONE ctermfg=32 ctermbg=NONE cterm=NONE 96 | hi Structure guifg=#b58900 guibg=NONE guisp=NONE gui=NONE ctermfg=136 ctermbg=NONE cterm=NONE 97 | hi Macro guifg=#cb4b16 guibg=NONE guisp=NONE gui=NONE ctermfg=166 ctermbg=NONE cterm=NONE 98 | hi Underlined guifg=#6c71c4 guibg=NONE guisp=NONE gui=underline ctermfg=61 ctermbg=NONE cterm=underline 99 | hi DiffAdd guifg=#719e07 guibg=#073642 guisp=#073642 gui=bold ctermfg=106 ctermbg=23 cterm=bold 100 | hi TabLine guifg=#839496 guibg=#073642 guisp=#073642 gui=underline ctermfg=66 ctermbg=23 cterm=underline 101 | hi cursorim guifg=#192224 guibg=#536991 guisp=#536991 gui=NONE ctermfg=235 ctermbg=60 cterm=NONE 102 | hi stringdelimiter guifg=#556633 guibg=NONE guisp=NONE gui=NONE ctermfg=101 ctermbg=NONE cterm=NONE 103 | hi rubyregexp guifg=#dd0093 guibg=NONE guisp=NONE gui=NONE ctermfg=162 ctermbg=NONE cterm=NONE 104 | hi string guifg=#99ad6a guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE 105 | hi constant guifg=#cf6a4c guibg=NONE guisp=NONE gui=NONE ctermfg=173 ctermbg=NONE cterm=NONE 106 | hi normal guifg=#e8e8d3 guibg=#151515 guisp=#151515 gui=NONE ctermfg=187 ctermbg=233 cterm=NONE 107 | hi rubyinstancevariable guifg=#c6b6fe guibg=NONE guisp=NONE gui=NONE ctermfg=147 ctermbg=NONE cterm=NONE 108 | hi rubyclass guifg=#447799 guibg=NONE guisp=NONE gui=NONE ctermfg=67 ctermbg=NONE cterm=NONE 109 | hi identifier guifg=#c6b6ee guibg=NONE guisp=NONE gui=NONE ctermfg=183 ctermbg=NONE cterm=NONE 110 | hi comment guifg=#888888 guibg=NONE guisp=NONE gui=italic ctermfg=102 ctermbg=NONE cterm=NONE 111 | hi rubyregexpdelimiter guifg=#540063 guibg=NONE guisp=NONE gui=NONE ctermfg=53 ctermbg=NONE cterm=NONE 112 | hi rubyregexpspecial guifg=#a40073 guibg=NONE guisp=NONE gui=NONE ctermfg=126 ctermbg=NONE cterm=NONE 113 | hi rubypredefinedidentifier guifg=#de5577 guibg=NONE guisp=NONE gui=NONE ctermfg=168 ctermbg=NONE cterm=NONE 114 | hi function guifg=#fad07a guibg=NONE guisp=NONE gui=NONE ctermfg=222 ctermbg=NONE cterm=NONE 115 | hi directory guifg=#dad085 guibg=NONE guisp=NONE gui=NONE ctermfg=186 ctermbg=NONE cterm=NONE 116 | hi rubysymbol guifg=#7697d6 guibg=NONE guisp=NONE gui=NONE ctermfg=110 ctermbg=NONE cterm=NONE 117 | hi rubycontrol guifg=#7597c6 guibg=NONE guisp=NONE gui=NONE ctermfg=110 ctermbg=NONE cterm=NONE 118 | hi rubyidentifier guifg=#c6b6fe guibg=NONE guisp=NONE gui=NONE ctermfg=147 ctermbg=NONE cterm=NONE 119 | hi pythonbuiltin guifg=#839496 guibg=NONE guisp=NONE gui=NONE ctermfg=66 ctermbg=NONE cterm=NONE 120 | hi phpstringdouble guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 121 | hi htmltagname guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 122 | hi javascriptstrings guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 123 | hi htmlstring guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 124 | hi phpstringsingle guifg=#e2e4e5 guibg=NONE guisp=NONE gui=NONE ctermfg=254 ctermbg=NONE cterm=NONE 125 | -------------------------------------------------------------------------------- /colors/blues.vim: -------------------------------------------------------------------------------- 1 | " Blues colorscheme for Vim 2 | " Cool text with VFD constants, sunny searches and 3 | " incandescent errors. 4 | " Maintainer: Daniel Lima 5 | " License: MIT 6 | 7 | if $TERM != 'linux' 8 | 9 | set bg=dark 10 | set t_Co=256 11 | let g:colors_name="blues" 12 | 13 | hi Normal ctermfg=251 ctermbg=None cterm=None guifg=#c6c6c6 guibg=#1c1c1c 14 | hi Cursor ctermfg=Black ctermbg=White cterm=None guifg=Black guibg=White 15 | hi SpecialKey ctermfg=30 ctermbg=None cterm=None guifg=#008787 guibg=#1c1c1c 16 | hi Directory ctermfg=32 ctermbg=None cterm=None guifg=#0087d7 guibg=#1c1c1c 17 | hi ErrorMsg ctermfg=203 ctermbg=None cterm=None guifg=#ff5f5f guibg=#1c1c1c 18 | hi PreProc ctermfg=248 ctermbg=None cterm=None guifg=#a8a8a8 guibg=#1c1c1c 19 | hi Search ctermfg=227 ctermbg=None cterm=None guifg=#ffff5f guibg=#1c1c1c 20 | hi Type ctermfg=75 ctermbg=None cterm=None guifg=#5fafff guibg=#1c1c1c 21 | hi Statement ctermfg=75 ctermbg=None cterm=None guifg=#5fafff guibg=#1c1c1c 22 | hi Comment ctermfg=242 ctermbg=None cterm=None guifg=#6c6c6c guibg=#1c1c1c 23 | hi Identifier ctermfg=105 ctermbg=None cterm=None guifg=#8787ff guibg=#1c1c1c 24 | hi DiffText ctermfg=203 ctermbg=None cterm=None guifg=#ff5f5f guibg=#1c1c1c 25 | hi Constant ctermfg=79 ctermbg=None cterm=None guifg=#5fd7af guibg=#1c1c1c 26 | hi Todo ctermfg=118 ctermbg=None cterm=None guifg=#87ff00 guibg=#1c1c1c 27 | hi Error ctermfg=203 ctermbg=None cterm=None guifg=#ff5f5f guibg=#1c1c1c 28 | hi Special ctermfg=103 ctermbg=None cterm=None guifg=#8787af guibg=#1c1c1c 29 | hi Ignore ctermfg=220 ctermbg=None cterm=None guifg=#ffd700 guibg=#1c1c1c 30 | hi Underline ctermfg=244 ctermbg=None cterm=None guifg=#808080 guibg=#1c1c1c 31 | hi NonText ctermfg=87 ctermbg=None cterm=None guifg=#5fffff guibg=#1c1c1c 32 | hi MatchParen ctermfg=203 ctermbg=None cterm=None guifg=#ff5f5f guibg=#1c1c1c 33 | 34 | hi Folded ctermfg=247 ctermbg=233 cterm=None guifg=#9e9e9e guibg=#1c1c1c 35 | hi FoldColumn ctermfg=247 ctermbg=233 cterm=None guifg=#9e9e9e guibg=#1c1c1c 36 | hi StatusLineNC ctermfg=238 ctermbg=233 cterm=None guifg=#262626 guibg=#444444 37 | hi StatusLine ctermfg=247 ctermbg=233 cterm=None guifg=#262626 guibg=#9e9e9e 38 | hi VertSplit ctermfg=247 ctermbg=None cterm=None guifg=#9e9e9e guibg=#1c1c1c 39 | 40 | hi LineNr ctermfg=247 ctermbg=233 cterm=None guifg=#9e9e9e guibg=#262626 41 | hi CursorLineNr ctermfg=White ctermbg=25 cterm=None guifg=White guibg=#005faf 42 | hi CursorLine ctermbg=234 cterm=None guibg=#262626 43 | hi Visual ctermbg=235 guibg=#303030 44 | 45 | hi Pmenu ctermfg=Gray ctermbg=235 cterm=None guifg=Gray guibg=#303030 46 | hi PmenuSel ctermfg=White ctermbg=25 cterm=None guifg=White guibg=#005faf 47 | hi PmenuSbar ctermfg=235 ctermbg=234 cterm=None guifg=#303030 guibg=#262626 48 | hi PmenuThumb ctermfg=Gray ctermbg=Gray cterm=None guifg=Gray guibg=Gray 49 | 50 | hi DiffAdd ctermfg=10 ctermbg=None cterm=None guifg=#00ff00 guibg=#1c1c1c 51 | hi DiffChange ctermfg=227 ctermbg=None cterm=None guifg=#ffff5f guibg=#1c1c1c 52 | hi DiffDelete ctermfg=203 ctermbg=None cterm=None guifg=#ff5f5f guibg=#1c1c1c 53 | hi SignColumn ctermfg=None ctermbg=None cterm=None guifg=#1c1c1c guibg=#1c1c1c 54 | 55 | end 56 | -------------------------------------------------------------------------------- /colors/colorConf.txt: -------------------------------------------------------------------------------- 1 | 配色http://bytefluent.com/devify/ 2 | -------------------------------------------------------------------------------- /colors/dracula.vim: -------------------------------------------------------------------------------- 1 | " Dracula Theme v1.2.5 2 | " 3 | " https://github.com/zenorocha/dracula-theme 4 | " 5 | " Copyright 2016, All rights reserved 6 | " 7 | " Code licensed under the MIT license 8 | " http://zenorocha.mit-license.org 9 | " 10 | " @author Éverton Ribeiro 11 | " @author Zeno Rocha 12 | 13 | set background=dark 14 | highlight clear 15 | 16 | if exists("syntax_on") 17 | syntax reset 18 | endif 19 | 20 | let g:colors_name = "dracula" 21 | 22 | hi Cursor ctermfg=17 ctermbg=231 cterm=NONE guifg=#282a36 guibg=#f8f8f0 gui=NONE 23 | hi Visual ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#44475a gui=NONE 24 | hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#3d3f49 gui=NONE 25 | hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#3d3f49 gui=NONE 26 | hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#3d3f49 gui=NONE 27 | hi LineNr ctermfg=246 ctermbg=236 cterm=NONE guifg=#909194 guibg=#3d3f49 gui=NONE 28 | hi VertSplit ctermfg=59 ctermbg=236 cterm=NONE guifg=#64666d guibg=#64666d gui=NONE 29 | hi MatchParen ctermfg=212 ctermbg=NONE cterm=underline guifg=#ff79c6 guibg=NONE gui=underline 30 | hi StatusLine ctermfg=231 ctermbg=236 cterm=bold guifg=#f8f8f2 guibg=#64666d gui=bold 31 | hi StatusLineNC ctermfg=231 ctermbg=236 cterm=NONE guifg=#f8f8f2 guibg=#64666d gui=NONE 32 | hi Pmenu ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 33 | hi PmenuSel ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#44475a gui=NONE 34 | hi IncSearch ctermfg=17 ctermbg=228 cterm=NONE guifg=#282a36 guibg=#f1fa8c gui=NONE 35 | hi Search ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline 36 | hi Directory ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 37 | hi Folded ctermfg=61 ctermbg=235 cterm=NONE guifg=#6272a4 guibg=#282a36 gui=NONE 38 | hi Normal ctermfg=231 ctermbg=235 cterm=NONE guifg=#f8f8f2 guibg=#282a36 gui=NONE 39 | hi Boolean ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 40 | hi Character ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 41 | hi Comment ctermfg=61 ctermbg=NONE cterm=NONE guifg=#6272a4 guibg=NONE gui=NONE 42 | hi Conditional ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 43 | hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 44 | hi Define ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 45 | hi DiffAdd ctermfg=231 ctermbg=64 cterm=bold guifg=#f8f8f2 guibg=#468410 gui=bold 46 | hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE guifg=#8b080b guibg=NONE gui=NONE 47 | hi DiffChange ctermfg=231 ctermbg=23 cterm=NONE guifg=#f8f8f2 guibg=#243a5f gui=NONE 48 | hi DiffText ctermfg=231 ctermbg=24 cterm=bold guifg=#f8f8f2 guibg=#204a87 gui=bold 49 | hi ErrorMsg ctermfg=231 ctermbg=212 cterm=NONE guifg=#f8f8f0 guibg=#ff79c6 gui=NONE 50 | hi WarningMsg ctermfg=231 ctermbg=212 cterm=NONE guifg=#f8f8f0 guibg=#ff79c6 gui=NONE 51 | hi Float ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 52 | hi Function ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE 53 | hi Identifier ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic 54 | hi Keyword ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 55 | hi Label ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE 56 | hi NonText ctermfg=231 ctermbg=235 cterm=NONE guifg=#525563 guibg=#282a36 gui=NONE 57 | hi Number ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 58 | hi Operator ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 59 | hi PreProc ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 60 | hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=NONE gui=NONE 61 | hi SpecialKey ctermfg=231 ctermbg=235 cterm=NONE guifg=#525563 guibg=#282a36 gui=NONE 62 | hi Statement ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 63 | hi StorageClass ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic 64 | hi String ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE 65 | hi Tag ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 66 | hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f8f8f2 guibg=NONE gui=bold 67 | hi Todo ctermfg=61 ctermbg=NONE cterm=inverse,bold guifg=#6272a4 guibg=NONE gui=inverse,bold 68 | hi Type ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 69 | hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline 70 | hi rubyClass ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 71 | hi rubyFunction ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE 72 | hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 73 | hi rubySymbol ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 74 | hi rubyConstant ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic 75 | hi rubyStringDelimiter ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE 76 | hi rubyBlockParameter ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic 77 | hi rubyInstanceVariable ctermfg=203 ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 78 | hi rubyInclude ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 79 | hi rubyGlobalVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 80 | hi rubyRegexp ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE 81 | hi rubyRegexpDelimiter ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE 82 | hi rubyEscape ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 83 | hi rubyControl ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 84 | hi rubyClassVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 85 | hi rubyOperator ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 86 | hi rubyException ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 87 | hi rubyPseudoVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 88 | hi rubyRailsUserClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic 89 | hi rubyRailsARAssociationMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 90 | hi rubyRailsARMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 91 | hi rubyRailsRenderMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 92 | hi rubyRailsMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 93 | hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 94 | hi erubyComment ctermfg=61 ctermbg=NONE cterm=NONE guifg=#6272a4 guibg=NONE gui=NONE 95 | hi erubyRailsMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 96 | hi htmlTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 97 | hi htmlEndTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 98 | hi htmlTagName ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 99 | hi htmlArg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 100 | hi htmlSpecialChar ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 101 | hi javaScriptFunction ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic 102 | hi javaScriptRailsFunction ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 103 | hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 104 | hi yamlKey ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE 105 | hi yamlAnchor ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 106 | hi yamlAlias ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 107 | hi yamlDocumentHeader ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE 108 | hi cssURL ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic 109 | hi cssFunctionName ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 110 | hi cssColor ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 111 | hi cssPseudoClassId ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE 112 | hi cssClassName ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE 113 | hi cssValueLength ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE 114 | hi cssCommonAttr ctermfg=81 ctermbg=NONE cterm=NONE guifg=#6be5fd guibg=NONE gui=NONE 115 | hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE 116 | 117 | hi goMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 118 | hi goType ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 119 | hi goBuiltins ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE 120 | 121 | -------------------------------------------------------------------------------- /colors/dream.vim: -------------------------------------------------------------------------------- 1 | " File: dream.vim 2 | " Maintainer: Crusoe Xia (crusoexia) 3 | " URL: https://github.com/crusoexia/vim-dream 4 | " License: MIT 5 | " 6 | " The code is learnt from hybrid. 7 | " 8 | " Configuration: 9 | " 10 | " * Enable italic: 11 | " 12 | " let g:dream_italic = 1 13 | 14 | " Initialisation 15 | " -------------- 16 | 17 | if !has("gui_running") && &t_Co < 256 18 | finish 19 | endif 20 | 21 | if ! exists("g:dream_italic") 22 | let g:dream_italic = 0 23 | endif 24 | 25 | set background=dark 26 | hi clear 27 | 28 | if exists("syntax_on") 29 | syntax reset 30 | endif 31 | 32 | let colors_name = "dream" 33 | 34 | " Palettes 35 | " -------- 36 | 37 | if has("gui_running") 38 | let s:vmode = "gui" 39 | let s:background = "#2A2B30" 40 | let s:foreground = "#EAECEB" 41 | let s:window = "#3E4E41" 42 | let s:line = "#3C3C41" 43 | let s:lineNr = "#6C6D7A" 44 | let s:darkcolumn = "#2A2C2A" 45 | let s:selection = "#494C51" 46 | let s:comment = "#8D969F" 47 | let s:error = "#5F0000" 48 | 49 | let s:red = "#DD5676" 50 | let s:orangered = "#DB8C7E" 51 | let s:orange = "#D0A12D" 52 | let s:green = "#A8E6B7" 53 | let s:darkgreen = "#C7C582" 54 | let s:grassgreen = "#C2D23A" 55 | let s:purple = "#BC71C0" 56 | 57 | let s:addfg = "#d7ffaf" 58 | let s:addbg = "#5f875f" 59 | let s:delbg = "#f75f5f" 60 | let s:changefg = "#d7d7ff" 61 | let s:changebg = "#5f5f87" 62 | else 63 | let s:vmode = "cterm" 64 | let s:background = "235" 65 | let s:foreground = "251" 66 | let s:window = "234" 67 | let s:line = "236" 68 | let s:lineNr = "239" 69 | let s:darkcolumn = "234" 70 | let s:selection = "237" 71 | let s:comment = "243" 72 | let s:error = "52" 73 | 74 | let s:red = "197" 75 | let s:orangered = "167" 76 | let s:orange = "130" 77 | let s:green = "157" 78 | let s:darkgreen = "143" 79 | let s:grassgreen = "106" 80 | let s:purple = "98" 81 | 82 | let s:addfg = "193" 83 | let s:addbg = "65" 84 | let s:delbg = "167" 85 | let s:changefg = "189" 86 | let s:changebg = "60" 87 | endif 88 | 89 | " Formatting Options 90 | " ------------------ 91 | 92 | let s:none = "NONE" 93 | let s:t_none = "NONE" 94 | let s:n = "NONE" 95 | let s:c = ",undercurl" 96 | let s:r = ",reverse" 97 | let s:s = ",standout" 98 | let s:b = ",bold" 99 | let s:u = ",underline" 100 | let s:i = ",italic" 101 | 102 | " Highlighting Primitives 103 | " ----------------------- 104 | 105 | exe "let s:bg_none = ' ".s:vmode."bg=".s:none ."'" 106 | exe "let s:bg_foreground = ' ".s:vmode."bg=".s:foreground."'" 107 | exe "let s:bg_background = ' ".s:vmode."bg=".s:background."'" 108 | exe "let s:bg_selection = ' ".s:vmode."bg=".s:selection ."'" 109 | exe "let s:bg_line = ' ".s:vmode."bg=".s:line ."'" 110 | exe "let s:bg_lineNr = ' ".s:vmode."bg=".s:lineNr ."'" 111 | exe "let s:bg_comment = ' ".s:vmode."bg=".s:comment ."'" 112 | exe "let s:bg_red = ' ".s:vmode."bg=".s:red ."'" 113 | exe "let s:bg_orangered = ' ".s:vmode."bg=".s:orangered ."'" 114 | exe "let s:bg_orange = ' ".s:vmode."bg=".s:orange ."'" 115 | exe "let s:bg_green = ' ".s:vmode."bg=".s:green ."'" 116 | exe "let s:bg_grassgreen = ' ".s:vmode."bg=".s:grassgreen."'" 117 | exe "let s:bg_darkgreen = ' ".s:vmode."bg=".s:darkgreen ."'" 118 | exe "let s:bg_purple = ' ".s:vmode."bg=".s:purple ."'" 119 | exe "let s:bg_window = ' ".s:vmode."bg=".s:window ."'" 120 | exe "let s:bg_darkcolumn = ' ".s:vmode."bg=".s:darkcolumn."'" 121 | exe "let s:bg_addbg = ' ".s:vmode."bg=".s:addbg ."'" 122 | exe "let s:bg_addfg = ' ".s:vmode."bg=".s:addfg ."'" 123 | exe "let s:bg_delbg = ' ".s:vmode."bg=".s:delbg ."'" 124 | exe "let s:bg_changebg = ' ".s:vmode."bg=".s:changebg ."'" 125 | exe "let s:bg_changefg = ' ".s:vmode."bg=".s:changefg ."'" 126 | exe "let s:bg_error = ' ".s:vmode."bg=".s:error ."'" 127 | 128 | exe "let s:fg_none = ' ".s:vmode."fg=".s:none ."'" 129 | exe "let s:fg_foreground = ' ".s:vmode."fg=".s:foreground."'" 130 | exe "let s:fg_background = ' ".s:vmode."fg=".s:background."'" 131 | exe "let s:fg_selection = ' ".s:vmode."fg=".s:selection ."'" 132 | exe "let s:fg_line = ' ".s:vmode."fg=".s:line ."'" 133 | exe "let s:fg_lineNr = ' ".s:vmode."fg=".s:lineNr ."'" 134 | exe "let s:fg_comment = ' ".s:vmode."fg=".s:comment ."'" 135 | exe "let s:fg_red = ' ".s:vmode."fg=".s:red ."'" 136 | exe "let s:fg_orangered = ' ".s:vmode."fg=".s:orangered ."'" 137 | exe "let s:fg_orange = ' ".s:vmode."fg=".s:orange ."'" 138 | exe "let s:fg_green = ' ".s:vmode."fg=".s:green ."'" 139 | exe "let s:fg_grassgreen = ' ".s:vmode."fg=".s:grassgreen."'" 140 | exe "let s:fg_darkgreen = ' ".s:vmode."fg=".s:darkgreen ."'" 141 | exe "let s:fg_purple = ' ".s:vmode."fg=".s:purple ."'" 142 | exe "let s:fg_window = ' ".s:vmode."fg=".s:window ."'" 143 | exe "let s:fg_darkcolumn = ' ".s:vmode."fg=".s:darkcolumn."'" 144 | exe "let s:fg_addbg = ' ".s:vmode."fg=".s:addbg ."'" 145 | exe "let s:fg_addfg = ' ".s:vmode."fg=".s:addfg ."'" 146 | exe "let s:fg_delbg = ' ".s:vmode."fg=".s:delbg ."'" 147 | exe "let s:fg_changebg = ' ".s:vmode."fg=".s:changebg ."'" 148 | exe "let s:fg_changefg = ' ".s:vmode."fg=".s:changefg ."'" 149 | exe "let s:fg_error = ' ".s:vmode."fg=".s:error ."'" 150 | 151 | exe "let s:fmt_none = ' ".s:vmode."=NONE". " term=NONE" ."'" 152 | exe "let s:fmt_bold = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b ."'" 153 | exe "let s:fmt_bldi = ' ".s:vmode."=NONE".s:b.s:i. " term=NONE".s:b.s:i."'" 154 | exe "let s:fmt_undr = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u ."'" 155 | exe "let s:fmt_undb = ' ".s:vmode."=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" 156 | exe "let s:fmt_undi = ' ".s:vmode."=NONE".s:u.s:i. " term=NONE".s:u.s:i."'" 157 | exe "let s:fmt_curl = ' ".s:vmode."=NONE".s:c. " term=NONE".s:c ."'" 158 | exe "let s:fmt_ital = ' ".s:vmode."=NONE".s:i. " term=NONE".s:i ."'" 159 | exe "let s:fmt_stnd = ' ".s:vmode."=NONE".s:s. " term=NONE".s:s ."'" 160 | exe "let s:fmt_revr = ' ".s:vmode."=NONE".s:r. " term=NONE".s:r ."'" 161 | exe "let s:fmt_revb = ' ".s:vmode."=NONE".s:r.s:b. " term=NONE".s:r.s:b."'" 162 | 163 | " Highlighting 164 | " ------------ 165 | 166 | " editor 167 | exe "hi! Normal" .s:fg_foreground .s:bg_background .s:fmt_none 168 | exe "hi! ColorColumn" .s:fg_none .s:bg_line .s:fmt_none 169 | exe "hi! CursorColumn" .s:fg_none .s:bg_line .s:fmt_none 170 | exe "hi! CursorLine" .s:fg_none .s:bg_line .s:fmt_none 171 | exe "hi! CursorLineNr" .s:fg_grassgreen .s:bg_none .s:fmt_bold 172 | exe "hi! LineNr" .s:fg_lineNr .s:bg_none .s:fmt_none 173 | exe "hi! SignColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none 174 | exe "hi! VertSplit" .s:fg_green .s:bg_none .s:fmt_none 175 | exe "hi! NonText" .s:fg_selection .s:bg_none .s:fmt_none 176 | exe "hi! StatusLine" .s:fg_comment .s:bg_background .s:fmt_revr 177 | exe "hi! StatusLineNC" .s:fg_window .s:bg_comment .s:fmt_revr 178 | exe "hi! TabLine" .s:fg_foreground .s:bg_darkcolumn .s:fmt_revr 179 | exe "hi! Visual" .s:fg_none .s:bg_selection .s:fmt_none 180 | exe "hi! Search" .s:fg_background .s:bg_grassgreen .s:fmt_none 181 | exe "hi! MatchParen" .s:fg_background .s:bg_orange .s:fmt_none 182 | exe "hi! Question" .s:fg_grassgreen .s:bg_none .s:fmt_none 183 | exe "hi! ModeMsg" .s:fg_grassgreen .s:bg_none .s:fmt_none 184 | exe "hi! MoreMsg" .s:fg_grassgreen .s:bg_none .s:fmt_none 185 | exe "hi! ErrorMsg" .s:fg_background .s:bg_red .s:fmt_stnd 186 | exe "hi! WarningMsg" .s:fg_red .s:bg_none .s:fmt_none 187 | 188 | " misc 189 | exe "hi! SpecialKey" .s:fg_selection .s:bg_none .s:fmt_none 190 | exe "hi! Title" .s:fg_orangered .s:bg_none .s:fmt_none 191 | exe "hi! Directory" .s:fg_green .s:bg_none .s:fmt_bold 192 | 193 | " diff 194 | exe "hi! DiffAdd" .s:fg_addfg .s:bg_addbg .s:fmt_none 195 | exe "hi! DiffDelete" .s:fg_background .s:bg_delbg .s:fmt_none 196 | exe "hi! DiffChange" .s:fg_changefg .s:bg_changebg .s:fmt_none 197 | exe "hi! DiffText" .s:fg_background .s:bg_green .s:fmt_none 198 | 199 | " fold 200 | exe "hi! Folded" .s:fg_comment .s:bg_darkcolumn .s:fmt_none 201 | exe "hi! FoldColumn" .s:fg_none .s:bg_darkcolumn .s:fmt_none 202 | " Incsearch" 203 | 204 | " popup menu 205 | exe "hi! Pmenu" .s:fg_foreground .s:bg_selection .s:fmt_none 206 | exe "hi! PmenuSel" .s:fg_foreground .s:bg_selection .s:fmt_revr 207 | " PmenuSbar" 208 | " PmenuThumb" 209 | 210 | " Generic Syntax Highlighting 211 | " --------------------------- 212 | 213 | if g:dream_italic == 1 214 | exe "hi! Constant" .s:fg_purple .s:bg_none .s:fmt_ital 215 | else 216 | exe "hi! Constant" .s:fg_purple .s:bg_none .s:fmt_none 217 | endif 218 | exe "hi! Number" .s:fg_purple .s:bg_none .s:fmt_none 219 | exe "hi! Float" .s:fg_purple .s:bg_none .s:fmt_none 220 | exe "hi! Boolean" .s:fg_purple .s:bg_none .s:fmt_none 221 | exe "hi! String" .s:fg_grassgreen .s:bg_none .s:fmt_none 222 | exe "hi! Character" .s:fg_grassgreen .s:bg_none .s:fmt_none 223 | 224 | exe "hi! Identifier" .s:fg_orangered .s:bg_none .s:fmt_none 225 | exe "hi! Function" .s:fg_orangered .s:bg_none .s:fmt_none 226 | 227 | exe "hi! Type" .s:fg_green .s:bg_none .s:fmt_none 228 | " Structure" 229 | " StorageClass" 230 | " Typedef" 231 | 232 | exe "hi! Statement" .s:fg_red .s:bg_none .s:fmt_none 233 | exe "hi! Operator" .s:fg_red .s:bg_none .s:fmt_none 234 | exe "hi! Label" .s:fg_orange .s:bg_none .s:fmt_none 235 | exe "hi! Conditional" .s:fg_red .s:bg_none .s:fmt_none 236 | " Repeat" 237 | " Keyword" 238 | " Exception" 239 | 240 | exe "hi! PreProc" .s:fg_darkgreen .s:bg_none .s:fmt_bold 241 | " Include" 242 | " Define" 243 | " Macro" 244 | " PreCondit" 245 | 246 | exe "hi! Special" .s:fg_green .s:bg_none .s:fmt_none 247 | " SpecialKey 248 | " SpecialChar" 249 | " Tag" 250 | " Delimiter" 251 | " SpecialComment" 252 | " Debug" 253 | 254 | exe "hi! Underlined" .s:fg_orangered .s:bg_none .s:fmt_none 255 | exe "hi! Ignore" .s:fg_none .s:bg_none .s:fmt_none 256 | exe "hi! Error" .s:fg_red .s:bg_error .s:fmt_undr 257 | 258 | exe "hi! SpellBad" .s:fg_red .s:bg_error .s:fmt_undr 259 | exe "hi! SpellCap" .s:fg_orange .s:bg_darkcolumn .s:fmt_undb 260 | 261 | if g:dream_italic == 1 262 | exe "hi! Todo" .s:fg_orange .s:bg_none .s:fmt_bldi 263 | exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_ital 264 | else 265 | exe "hi! Todo" .s:fg_orange .s:bg_none .s:fmt_bold 266 | exe "hi! Comment" .s:fg_comment .s:bg_none .s:fmt_none 267 | endif 268 | 269 | " NerdTree 270 | " -------- 271 | 272 | exe "hi! NERDTreeOpenable" .s:fg_red .s:bg_none .s:fmt_none 273 | exe "hi! NERDTreeClosable" .s:fg_red .s:bg_none .s:fmt_none 274 | exe "hi! NERDTreeHelp" .s:fg_grassgreen .s:bg_none .s:fmt_none 275 | exe "hi! NERDTreeBookmarksHeader" .s:fg_red .s:bg_none .s:fmt_none 276 | exe "hi! NERDTreeBookmarksLeader" .s:fg_red .s:bg_none .s:fmt_none 277 | exe "hi! NERDTreeBookmarkName" .s:fg_darkgreen .s:bg_none .s:fmt_none 278 | exe "hi! NERDTreeCWD" .s:fg_red .s:bg_none .s:fmt_none 279 | exe "hi! NERDTreeDirSlash" .s:fg_orangered .s:bg_none .s:fmt_none 280 | 281 | " Syntastic 282 | " --------- 283 | 284 | hi! link SyntasticErrorSign Error 285 | exe "hi! SyntasticWarningSign" .s:fg_orange .s:bg_darkcolumn .s:fmt_none 286 | 287 | " Language highlight 288 | " ------------------ 289 | 290 | " Vim command 291 | exe "hi! vimCommand" .s:fg_red .s:bg_none .s:fmt_none 292 | 293 | " Javascript 294 | exe "hi! jsFuncName" .s:fg_orangered .s:bg_none .s:fmt_none 295 | exe "hi! jsThis" .s:fg_green .s:bg_none .s:fmt_none 296 | exe "hi! jsFuncCall" .s:fg_none .s:bg_none .s:fmt_none 297 | 298 | if g:dream_italic == 1 299 | exe "hi! jsFuncArgs" .s:fg_orange .s:bg_none .s:fmt_ital 300 | else 301 | exe "hi! jsFuncArgs" .s:fg_orange .s:bg_none .s:fmt_none 302 | endif 303 | 304 | " Html 305 | exe "hi! htmlTag" .s:fg_foreground .s:bg_none .s:fmt_none 306 | exe "hi! htmlEndTag" .s:fg_foreground .s:bg_none .s:fmt_none 307 | exe "hi! htmlTagName" .s:fg_red .s:bg_none .s:fmt_none 308 | exe "hi! htmlArg" .s:fg_orangered .s:bg_none .s:fmt_none 309 | exe "hi! htmlSpecialChar" .s:fg_purple .s:bg_none .s:fmt_none 310 | 311 | " Xml 312 | hi! link xmlTag htmlTag 313 | hi! link xmlEndTag htmlEndTag 314 | hi! link xmlTagName htmlTagName 315 | hi! link xmlAttrib htmlArg 316 | 317 | " CSS 318 | exe "hi! cssFunctionName" .s:fg_green .s:bg_none .s:fmt_none 319 | exe "hi! cssColor" .s:fg_purple .s:bg_none .s:fmt_none 320 | exe "hi! cssPseudoClassId" .s:fg_purple .s:bg_none .s:fmt_none 321 | exe "hi! cssClassName" .s:fg_orangered .s:bg_none .s:fmt_none 322 | exe "hi! cssValueLength" .s:fg_purple .s:bg_none .s:fmt_none 323 | exe "hi! cssCommonAttr" .s:fg_red .s:bg_none .s:fmt_none 324 | exe "hi! cssBraces" .s:fg_none .s:bg_none .s:fmt_none 325 | 326 | if g:dream_italic == 1 327 | exe "hi! cssURL" .s:fg_orange .s:bg_none .s:fmt_undi 328 | else 329 | exe "hi! cssURL" .s:fg_orange .s:bg_none .s:fmt_undr 330 | endif 331 | 332 | " ruby 333 | exe "hi! rubyInterpolationDelimiter" .s:fg_none .s:bg_none .s:fmt_none 334 | exe "hi! rubyInstanceVariable" .s:fg_none .s:bg_none .s:fmt_none 335 | exe "hi! rubyGlobalVariable" .s:fg_none .s:bg_none .s:fmt_none 336 | exe "hi! rubyClassVariable" .s:fg_none .s:bg_none .s:fmt_none 337 | exe "hi! rubyPseudoVariable" .s:fg_none .s:bg_none .s:fmt_none 338 | exe "hi! rubyOperator" .s:fg_red .s:bg_none .s:fmt_none 339 | exe "hi! rubyFunction" .s:fg_orangered .s:bg_none .s:fmt_none 340 | exe "hi! rubyInclude" .s:fg_orangered .s:bg_none .s:fmt_none 341 | exe "hi! rubyStringDelimiter" .s:fg_grassgreen .s:bg_none .s:fmt_none 342 | exe "hi! rubyRegexp" .s:fg_grassgreen .s:bg_none .s:fmt_none 343 | exe "hi! rubyRegexpDelimiter" .s:fg_grassgreen .s:bg_none .s:fmt_none 344 | exe "hi! rubySymbol" .s:fg_purple .s:bg_none .s:fmt_none 345 | exe "hi! rubyEscape" .s:fg_purple .s:bg_none .s:fmt_none 346 | exe "hi! rubyControl" .s:fg_green .s:bg_none .s:fmt_none 347 | exe "hi! rubyClass" .s:fg_green .s:bg_none .s:fmt_none 348 | exe "hi! rubyDefine" .s:fg_green .s:bg_none .s:fmt_none 349 | exe "hi! rubyException" .s:fg_green .s:bg_none .s:fmt_none 350 | exe "hi! rubyRailsARAssociationMethod" .s:fg_orange .s:bg_none .s:fmt_none 351 | exe "hi! rubyRailsARMethod" .s:fg_orange .s:bg_none .s:fmt_none 352 | exe "hi! rubyRailsRenderMethod" .s:fg_orange .s:bg_none .s:fmt_none 353 | exe "hi! rubyRailsMethod" .s:fg_orange .s:bg_none .s:fmt_none 354 | 355 | if g:dream_italic == 1 356 | exe "hi! rubyBlockParameter" .s:fg_orange .s:bg_none .s:fmt_ital 357 | exe "hi! rubyConstant" .s:fg_orange .s:bg_none .s:fmt_ital 358 | exe "hi! rubyIdentifier" .s:fg_orange .s:bg_none .s:fmt_ital 359 | else 360 | exe "hi! rubyBlockParameter" .s:fg_orange .s:bg_none .s:fmt_none 361 | exe "hi! rubyConstant" .s:fg_orange .s:bg_none .s:fmt_none 362 | exe "hi! rubyIdentifier" .s:fg_orange .s:bg_none .s:fmt_none 363 | endif 364 | 365 | " eruby 366 | exe "hi! erubyDelimiter" .s:fg_none .s:bg_none .s:fmt_none 367 | exe "hi! erubyRailsMethod" .s:fg_green .s:bg_none .s:fmt_none 368 | -------------------------------------------------------------------------------- /colors/monokai.vim: -------------------------------------------------------------------------------- 1 | " File: monokai.vim 2 | " Maintainer: Crusoe Xia (crusoexia) 3 | " URL: https://github.com/crusoexia/vim-monokai 4 | " License: MIT 5 | " 6 | " The colour palette is from http://www.colourlovers.com/ 7 | " The original code is from https://github.com/w0ng/vim-hybrid 8 | " 9 | " Configuration: 10 | " 11 | " * Enable italic: 12 | " 13 | " let g:monokai_term_italic = 1 14 | " 15 | " Initialisation 16 | " -------------- 17 | 18 | if !has("gui_running") && &t_Co < 256 19 | finish 20 | endif 21 | 22 | if ! exists("g:monokai_term_italic") 23 | let g:monokai_term_italic = 0 24 | endif 25 | 26 | let g:monokai_termcolors = 256 " does not support 16 color term right now. 27 | 28 | set background=dark 29 | hi clear 30 | 31 | if exists("syntax_on") 32 | syntax reset 33 | endif 34 | 35 | let colors_name = "monokai" 36 | 37 | function! s:h(group, style) 38 | let s:ctermformat = "NONE" 39 | if g:monokai_term_italic == 0 && has_key(a:style, "format") 40 | let s:ctermformat = substitute(a:style.format, ",italic", "", "") 41 | let s:ctermformat = substitute(s:ctermformat, "italic,", "", "") 42 | let s:ctermformat = substitute(s:ctermformat, "italic", "", "") 43 | endif 44 | if g:monokai_termcolors == 16 45 | let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm16 : "NONE") 46 | let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm16 : "NONE") 47 | else 48 | let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") 49 | let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") 50 | end 51 | execute "highlight" a:group 52 | \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") 53 | \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") 54 | \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") 55 | \ "gui=" (has_key(a:style, "format") && !empty(a:style["format"]) ? "NONE,".a:style.format : "NONE") 56 | \ "ctermfg=" . l:ctermfg 57 | \ "ctermbg=" . l:ctermbg 58 | \ "cterm=" (!empty(s:ctermformat) ? s:ctermformat : "NONE") 59 | endfunction 60 | 61 | " Palettes 62 | " -------- 63 | 64 | 65 | let s:white = { "gui": "#E8E8E3", "cterm": "252" } 66 | let s:black = { "gui": "#272822", "cterm": "234" } 67 | let s:lightblack = { "gui": "#2D2E27", "cterm": "235" } 68 | let s:lightblack2 = { "gui": "#383a3e", "cterm": "236" } 69 | let s:darkblack = { "gui": "#211F1C", "cterm": "233" } 70 | let s:grey = { "gui": "#8F908A", "cterm": "243" } 71 | let s:lightgrey = { "gui": "#575b61", "cterm": "237" } 72 | let s:darkgrey = { "gui": "#64645e", "cterm": "239" } 73 | let s:warmgrey = { "gui": "#75715E", "cterm": "59" } 74 | 75 | let s:pink = { "gui": "#F92772", "cterm": "197" } 76 | let s:green = { "gui": "#A6E22D", "cterm": "148" } 77 | let s:aqua = { "gui": "#66d9ef", "cterm": "81" } 78 | let s:yellow = { "gui": "#E6DB74", "cterm": "186" } 79 | let s:orange = { "gui": "#FD9720", "cterm": "208" } 80 | let s:purple = { "gui": "#ae81ff", "cterm": "141" } 81 | let s:red = { "gui": "#e73c50", "cterm": "196" } 82 | let s:darkred = { "gui": "#5f0000", "cterm": "52" } 83 | 84 | let s:addfg = { "gui": "#d7ffaf", "cterm": "193" } 85 | let s:addbg = { "gui": "#5f875f", "cterm": "65" } 86 | let s:delbg = { "gui": "#f75f5f", "cterm": "167" } 87 | let s:changefg = { "gui": "#d7d7ff", "cterm": "189" } 88 | let s:changebg = { "gui": "#5f5f87", "cterm": "60" } 89 | 90 | " Highlighting 91 | " ------------ 92 | 93 | " editor 94 | call s:h("Normal", { "fg": s:white, "bg": s:black }) 95 | call s:h("ColorColumn", { "bg": s:lightblack }) 96 | call s:h("CursorColumn", { "bg": s:lightblack2 }) 97 | call s:h("CursorLine", { "bg": s:lightblack2 }) 98 | call s:h("NonText", { "fg": s:lightgrey }) 99 | call s:h("StatusLine", { "fg": s:warmgrey, "bg": s:black, "format": "reverse" }) 100 | call s:h("StatusLineNC", { "fg": s:darkgrey, "bg": s:warmgrey, "format": "reverse" }) 101 | call s:h("TabLine", { "fg": s:white, "bg": s:darkblack, "format": "reverse" }) 102 | call s:h("Visual", { "bg": s:lightgrey }) 103 | call s:h("Search", { "fg": s:black, "bg": s:yellow }) 104 | call s:h("MatchParen", { "fg": s:black, "bg": s:purple }) 105 | call s:h("Question", { "fg": s:yellow }) 106 | call s:h("ModeMsg", { "fg": s:yellow }) 107 | call s:h("MoreMsg", { "fg": s:yellow }) 108 | call s:h("ErrorMsg", { "fg": s:black, "bg": s:red, "format": "standout" }) 109 | call s:h("WarningMsg", { "fg": s:red }) 110 | call s:h("VertSplit", { "fg": s:darkgrey, "bg": s:darkblack }) 111 | call s:h("LineNr", { "fg": s:grey, "bg": s:lightblack }) 112 | call s:h("CursorLineNr", { "fg": s:orange }) 113 | call s:h("SignColumn", { "bg": s:lightblack }) 114 | 115 | " misc 116 | call s:h("SpecialKey", { "fg": s:pink }) 117 | call s:h("Title", { "fg": s:yellow }) 118 | call s:h("Directory", { "fg": s:aqua }) 119 | 120 | " diff 121 | call s:h("DiffAdd", { "fg": s:addfg, "bg": s:addbg }) 122 | call s:h("DiffDelete", { "fg": s:black, "bg": s:delbg }) 123 | call s:h("DiffChange", { "fg": s:changefg, "bg": s:changebg }) 124 | call s:h("DiffText", { "fg": s:black, "bg": s:aqua }) 125 | 126 | " fold 127 | call s:h("Folded", { "fg": s:warmgrey, "bg": s:darkblack }) 128 | call s:h("FoldColumn", { "bg": s:darkblack }) 129 | " Incsearch" 130 | 131 | " popup menu 132 | call s:h("Pmenu", { "fg": s:lightblack, "bg": s:white }) 133 | call s:h("PmenuSel", { "fg": s:aqua, "bg": s:black, "format": "reverse,bold" }) 134 | call s:h("PmenuThumb", { "fg": s:lightblack, "bg": s:grey }) 135 | " PmenuSbar" 136 | 137 | " Generic Syntax Highlighting 138 | " --------------------------- 139 | 140 | call s:h("Constant", { "fg": s:purple }) 141 | call s:h("Number", { "fg": s:purple }) 142 | call s:h("Float", { "fg": s:purple }) 143 | call s:h("Boolean", { "fg": s:purple }) 144 | call s:h("Character", { "fg": s:yellow }) 145 | call s:h("String", { "fg": s:yellow }) 146 | 147 | call s:h("Type", { "fg": s:aqua }) 148 | call s:h("Structure", { "fg": s:aqua }) 149 | call s:h("StorageClass", { "fg": s:aqua }) 150 | call s:h("Typedef", { "fg": s:aqua }) 151 | 152 | call s:h("Identifier", { "fg": s:green }) 153 | call s:h("Function", { "fg": s:green }) 154 | 155 | call s:h("Statement", { "fg": s:pink }) 156 | call s:h("Operator", { "fg": s:pink }) 157 | call s:h("Label", { "fg": s:pink }) 158 | call s:h("Keyword", { "fg": s:aqua }) 159 | " Conditional" 160 | " Repeat" 161 | " Exception" 162 | 163 | call s:h("PreProc", { "fg": s:green }) 164 | call s:h("Include", { "fg": s:pink }) 165 | call s:h("Define", { "fg": s:pink }) 166 | call s:h("Macro", { "fg": s:green }) 167 | call s:h("PreCondit", { "fg": s:green }) 168 | 169 | call s:h("Special", { "fg": s:purple }) 170 | call s:h("SpecialChar", { "fg": s:pink }) 171 | call s:h("Delimiter", { "fg": s:pink }) 172 | call s:h("SpecialComment",{ "fg": s:aqua }) 173 | call s:h("Tag", { "fg": s:pink }) 174 | " Debug" 175 | 176 | call s:h("Todo", { "fg": s:orange, "format": "bold,italic" }) 177 | call s:h("Comment", { "fg": s:warmgrey, "format": "italic" }) 178 | 179 | call s:h("Underlined", { "fg": s:green }) 180 | call s:h("Ignore", {}) 181 | call s:h("Error", { "fg": s:red, "bg": s:darkred }) 182 | 183 | " NerdTree 184 | " -------- 185 | 186 | call s:h("NERDTreeOpenable", { "fg": s:yellow }) 187 | call s:h("NERDTreeClosable", { "fg": s:yellow }) 188 | call s:h("NERDTreeHelp", { "fg": s:yellow }) 189 | call s:h("NERDTreeBookmarksHeader", { "fg": s:pink }) 190 | call s:h("NERDTreeBookmarksLeader", { "fg": s:black }) 191 | call s:h("NERDTreeBookmarkName", { "fg": s:yellow }) 192 | call s:h("NERDTreeCWD", { "fg": s:pink }) 193 | call s:h("NERDTreeUp", { "fg": s:white }) 194 | call s:h("NERDTreeDirSlash", { "fg": s:grey }) 195 | call s:h("NERDTreeDir", { "fg": s:grey }) 196 | 197 | " Syntastic 198 | " --------- 199 | 200 | hi! link SyntasticErrorSign Error 201 | call s:h("SyntasticWarningSign", { "fg": s:lightblack, "bg": s:orange }) 202 | 203 | " Language highlight 204 | " ------------------ 205 | 206 | " Java properties 207 | call s:h("jpropertiesIdentifier", { "fg": s:pink }) 208 | 209 | " Vim command 210 | call s:h("vimCommand", { "fg": s:pink }) 211 | 212 | " Javascript 213 | call s:h("jsFuncName", { "fg": s:green }) 214 | call s:h("jsThis", { "fg": s:pink }) 215 | call s:h("jsFunctionKey", { "fg": s:green }) 216 | call s:h("jsPrototype", { "fg": s:aqua }) 217 | call s:h("jsExceptions", { "fg": s:aqua }) 218 | call s:h("jsFutureKeys", { "fg": s:aqua }) 219 | call s:h("jsBuiltins", { "fg": s:aqua }) 220 | call s:h("jsArgsObj", { "fg": s:aqua }) 221 | call s:h("jsStatic", { "fg": s:aqua }) 222 | call s:h("jsSuper", { "fg": s:aqua }) 223 | call s:h("jsFuncArgRest", { "fg": s:purple }) 224 | call s:h("jsFuncArgs", { "fg": s:orange }) 225 | call s:h("jsStorageClass", { "fg": s:aqua }) 226 | call s:h("jsDocTags", { "fg": s:aqua, "format": "italic" }) 227 | 228 | " Html 229 | call s:h("htmlTag", { "fg": s:white }) 230 | call s:h("htmlEndTag", { "fg": s:white }) 231 | call s:h("htmlTagName", { "fg": s:pink }) 232 | call s:h("htmlArg", { "fg": s:green }) 233 | call s:h("htmlSpecialChar", { "fg": s:purple }) 234 | 235 | " Xml 236 | call s:h("xmlTag", { "fg": s:pink }) 237 | call s:h("xmlEndTag", { "fg": s:pink }) 238 | call s:h("xmlTagName", { "fg": s:orange }) 239 | call s:h("xmlAttrib", { "fg": s:green }) 240 | 241 | " CSS 242 | call s:h("cssProp", { "fg": s:yellow }) 243 | call s:h("cssUIAttr", { "fg": s:yellow }) 244 | call s:h("cssFunctionName", { "fg": s:aqua }) 245 | call s:h("cssColor", { "fg": s:purple }) 246 | call s:h("cssPseudoClassId", { "fg": s:purple }) 247 | call s:h("cssClassName", { "fg": s:green }) 248 | call s:h("cssValueLength", { "fg": s:purple }) 249 | call s:h("cssCommonAttr", { "fg": s:pink }) 250 | call s:h("cssBraces" , { "fg": s:white }) 251 | call s:h("cssClassNameDot", { "fg": s:pink }) 252 | call s:h("cssURL", { "fg": s:orange, "format": "underline" }) 253 | 254 | " ruby 255 | call s:h("rubyInterpolationDelimiter", {}) 256 | call s:h("rubyInstanceVariable", {}) 257 | call s:h("rubyGlobalVariable", {}) 258 | call s:h("rubyClassVariable", {}) 259 | call s:h("rubyPseudoVariable", {}) 260 | call s:h("rubyFunction", { "fg": s:green }) 261 | call s:h("rubyStringDelimiter", { "fg": s:yellow }) 262 | call s:h("rubyRegexp", { "fg": s:yellow }) 263 | call s:h("rubyRegexpDelimiter", { "fg": s:yellow }) 264 | call s:h("rubySymbol", { "fg": s:purple }) 265 | call s:h("rubyEscape", { "fg": s:purple }) 266 | call s:h("rubyInclude", { "fg": s:pink }) 267 | call s:h("rubyOperator", { "fg": s:pink }) 268 | call s:h("rubyControl", { "fg": s:pink }) 269 | call s:h("rubyClass", { "fg": s:pink }) 270 | call s:h("rubyDefine", { "fg": s:pink }) 271 | call s:h("rubyException", { "fg": s:pink }) 272 | call s:h("rubyRailsARAssociationMethod",{ "fg": s:orange }) 273 | call s:h("rubyRailsARMethod", { "fg": s:orange }) 274 | call s:h("rubyRailsRenderMethod", { "fg": s:orange }) 275 | call s:h("rubyRailsMethod", { "fg": s:orange }) 276 | call s:h("rubyConstant", { "fg": s:aqua }) 277 | call s:h("rubyBlockArgument", { "fg": s:orange }) 278 | call s:h("rubyBlockParameter", { "fg": s:orange }) 279 | 280 | " eruby 281 | call s:h("erubyDelimiter", {}) 282 | call s:h("erubyRailsMethod", { "fg": s:aqua }) 283 | 284 | " c 285 | call s:h("cLabel", { "fg": s:pink }) 286 | call s:h("cStructure", { "fg": s:pink }) 287 | call s:h("cStorageClass", { "fg": s:pink }) 288 | call s:h("cInclude", { "fg": s:red }) 289 | call s:h("cDefine", { "fg": s:red }) 290 | -------------------------------------------------------------------------------- /colors/onedark.vim: -------------------------------------------------------------------------------- 1 | " Vim Color File 2 | " Name: onedark.vim 3 | " Maintainer: https://github.com/joshdick/onedark.vim/ 4 | " License: The MIT License (MIT) 5 | " Based On: https://github.com/MaxSt/FlatColor/ 6 | 7 | " A companion [vim-airline](https://github.com/bling/vim-airline) theme is available at: https://github.com/joshdick/airline-onedark.vim 8 | 9 | " +-----------------+ 10 | " | Color Reference | 11 | " +-----------------+ 12 | 13 | " The following colors were measured inside Atom using its built-in inspector. 14 | 15 | " +---------------------------------------------+ 16 | " | Color Name | RGB | Hex | 17 | " |--------------+--------------------+---------| 18 | " | Black | rgb(40, 44, 52) | #282c34 | 19 | " |--------------+--------------------+---------| 20 | " | White | rgb(171, 178, 191) | #abb2bf | 21 | " |--------------+--------------------+---------| 22 | " | Light Red | rgb(224, 108, 117) | #e06c75 | 23 | " |--------------+--------------------+---------| 24 | " | Dark Red | rgb(190, 80, 70) | #be5046 | 25 | " |--------------+--------------------+---------| 26 | " | Green | rgb(152, 195, 121) | #98c379 | 27 | " |--------------+--------------------+---------| 28 | " | Light Yellow | rgb(229, 192, 123) | #e5c07b | 29 | " |--------------+--------------------+---------| 30 | " | Dark Yellow | rgb(209, 154, 102) | #d19a66 | 31 | " |--------------+--------------------+---------| 32 | " | Blue | rgb(97, 175, 239) | #61afef | 33 | " |--------------+--------------------+---------| 34 | " | Magenta | rgb(198, 120, 221) | #c678dd | 35 | " |--------------+--------------------+---------| 36 | " | Cyan | rgb(86, 182, 194) | #56b6c2 | 37 | " |--------------+--------------------+---------| 38 | " | Gutter Grey | rgb(99, 109, 131) | #636d83 | 39 | " |--------------+--------------------+---------| 40 | " | Comment Grey | rgb(92, 99, 112) | #5c6370 | 41 | " +---------------------------------------------+ 42 | 43 | " +----------------+ 44 | " | Initialization | 45 | " +----------------+ 46 | 47 | set background=dark 48 | 49 | highlight clear 50 | 51 | if exists("syntax_on") 52 | syntax reset 53 | endif 54 | 55 | set t_Co=256 56 | 57 | let g:colors_name="onedark" 58 | 59 | " Set to "256" for 256-color terminals, or 60 | " set to "16" to use your terminal emulator's native colors 61 | " (a 16-color palette for this color scheme is available; see 62 | " < https://github.com/joshdick/onedark.vim/blob/master/README.md > 63 | " for more information.) 64 | if !exists("g:onedark_termcolors") 65 | let g:onedark_termcolors = 256 66 | endif 67 | 68 | " Not all terminals support italics properly. If yours does, opt-in. 69 | if !exists("g:onedark_terminal_italics") 70 | let g:onedark_terminal_italics = 0 71 | endif 72 | 73 | " This function is based on one from FlatColor: https://github.com/MaxSt/FlatColor/ 74 | " Which in turn was based on one found in hemisu: https://github.com/noahfrederick/vim-hemisu/ 75 | function! s:h(group, style) 76 | if g:onedark_terminal_italics == 0 77 | if has_key(a:style, "cterm") && a:style["cterm"] == "italic" 78 | unlet a:style.cterm 79 | endif 80 | if has_key(a:style, "gui") && a:style["gui"] == "italic" 81 | unlet a:style.gui 82 | endif 83 | endif 84 | if g:onedark_termcolors == 16 85 | let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm16 : "NONE") 86 | let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm16 : "NONE") 87 | else 88 | let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") 89 | let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") 90 | endif 91 | execute "highlight" a:group 92 | \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") 93 | \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") 94 | \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") 95 | \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") 96 | \ "ctermfg=" . l:ctermfg 97 | \ "ctermbg=" . l:ctermbg 98 | \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") 99 | endfunction 100 | 101 | " +-----------------+ 102 | " | Color Variables | 103 | " +-----------------+ 104 | 105 | let s:red = { "gui": "#E06C75", "cterm": "204", "cterm16": "1" } " Alternate cterm: 168 106 | let s:dark_red = { "gui": "#BE5046", "cterm": "196", "cterm16": "9" } 107 | 108 | let s:green = { "gui": "#98C379", "cterm": "114", "cterm16": "2" } 109 | 110 | let s:yellow = { "gui": "#E5C07b", "cterm": "180", "cterm16": "3" } 111 | let s:dark_yellow = { "gui": "#D19A66", "cterm": "173", "cterm16": "11" } 112 | 113 | let s:blue = { "gui": "#61AFEF", "cterm": "39", "cterm16": "4" } " Alternate cterm: 75 114 | 115 | let s:purple = { "gui": "#C678DD", "cterm": "170", "cterm16": "5" } " Alternate cterm: 176 116 | 117 | let s:cyan = { "gui": "#56B6C2", "cterm": "38", "cterm16": "6" } " Alternate cterm: 73 118 | 119 | let s:white = { "gui": "#ABB2BF", "cterm": "145", "cterm16" : "7" } 120 | 121 | let s:black = { "gui": "#282C34", "cterm": "235", "cterm16": "0" } 122 | let s:visual_black = { "gui": "NONE", "cterm": "NONE", "cterm16": s:black.cterm16 } " Black out selected text in 16-color visual mode 123 | 124 | let s:comment_grey = { "gui": "#5C6370", "cterm": "59", "cterm16": "15" } 125 | let s:gutter_fg_grey = { "gui": "#636D83", "cterm": "238", "cterm16": "15" } 126 | let s:cursor_grey = { "gui": "#2C323C", "cterm": "236", "cterm16": "8" } 127 | let s:visual_grey = { "gui": "#3E4452", "cterm": "237", "cterm16": "15" } 128 | let s:menu_grey = { "gui": s:visual_grey.gui, "cterm": s:visual_grey.cterm, "cterm16": "8" } 129 | let s:special_grey = { "gui": "#3B4048", "cterm": "238", "cterm16": "15" } 130 | let s:vertsplit = { "gui": "#181A1F", "cterm": "59", "cterm16": "15" } 131 | 132 | " +---------------------------------------------------------+ 133 | " | Syntax Groups (descriptions and ordering from `:h w18`) | 134 | " +---------------------------------------------------------+ 135 | 136 | call s:h("Comment", { "fg": s:comment_grey, "gui": "italic", "cterm": "italic" }) " any comment 137 | call s:h("Constant", { "fg": s:cyan }) " any constant 138 | call s:h("String", { "fg": s:green }) " a string constant: "this is a string" 139 | call s:h("Character", { "fg": s:green }) " a character constant: 'c', '\n' 140 | call s:h("Number", { "fg": s:dark_yellow }) " a number constant: 234, 0xff 141 | call s:h("Boolean", { "fg": s:dark_yellow }) " a boolean constant: TRUE, false 142 | call s:h("Float", { "fg": s:dark_yellow }) " a floating point constant: 2.3e10 143 | call s:h("Identifier", { "fg": s:red }) " any variable name 144 | call s:h("Function", { "fg": s:blue }) " function name (also: methods for classes) 145 | call s:h("Statement", { "fg": s:purple }) " any statement 146 | call s:h("Conditional", { "fg": s:purple }) " if, then, else, endif, switch, etc. 147 | call s:h("Repeat", { "fg": s:purple }) " for, do, while, etc. 148 | call s:h("Label", { "fg": s:purple }) " case, default, etc. 149 | call s:h("Operator", { "fg": s:purple }) " sizeof", "+", "*", etc. 150 | call s:h("Keyword", { "fg": s:red }) " any other keyword 151 | call s:h("Exception", { "fg": s:purple }) " try, catch, throw 152 | call s:h("PreProc", { "fg": s:yellow }) " generic Preprocessor 153 | call s:h("Include", { "fg": s:blue }) " preprocessor #include 154 | call s:h("Define", { "fg": s:purple }) " preprocessor #define 155 | call s:h("Macro", { "fg": s:purple }) " same as Define 156 | call s:h("PreCondit", { "fg": s:yellow }) " preprocessor #if, #else, #endif, etc. 157 | call s:h("Type", { "fg": s:yellow }) " int, long, char, etc. 158 | call s:h("StorageClass", { "fg": s:yellow }) " static, register, volatile, etc. 159 | call s:h("Structure", { "fg": s:yellow }) " struct, union, enum, etc. 160 | call s:h("Typedef", { "fg": s:yellow }) " A typedef 161 | call s:h("Special", { "fg": s:blue }) " any special symbol 162 | call s:h("SpecialChar", {}) " special character in a constant 163 | call s:h("Tag", {}) " you can use CTRL-] on this 164 | call s:h("Delimiter", {}) " character that needs attention 165 | call s:h("SpecialComment", {}) " special things inside a comment 166 | call s:h("Debug", {}) " debugging statements 167 | call s:h("Underlined", {}) " text that stands out, HTML links 168 | call s:h("Ignore", {}) " left blank, hidden 169 | call s:h("Error", { "fg": s:red }) " any erroneous construct 170 | call s:h("Todo", { "fg": s:purple }) " anything that needs extra attention; mostly the keywords TODO FIXME and XXX 171 | 172 | " +----------------------------------------------------------------------+ 173 | " | Highlighting Groups (descriptions and ordering from `:h hitest.vim`) | 174 | " +----------------------------------------------------------------------+ 175 | 176 | call s:h("ColorColumn", { "bg": s:cursor_grey }) " used for the columns set with 'colorcolumn' 177 | call s:h("Conceal", {}) " placeholder characters substituted for concealed text (see 'conceallevel') 178 | call s:h("Cursor", { "fg": s:black, "bg": s:blue }) " the character under the cursor 179 | call s:h("CursorIM", {}) " like Cursor, but used when in IME mode 180 | call s:h("CursorColumn", { "bg": s:cursor_grey }) " the screen column that the cursor is in when 'cursorcolumn' is set 181 | call s:h("CursorLine", { "bg": s:cursor_grey }) " the screen line that the cursor is in when 'cursorline' is set 182 | call s:h("Directory", { "fg": s:blue }) " directory names (and other special names in listings) 183 | call s:h("DiffAdd", { "fg": s:green }) " diff mode: Added line 184 | call s:h("DiffChange", { "fg": s:dark_yellow }) " diff mode: Changed line 185 | call s:h("DiffDelete", { "fg": s:red }) " diff mode: Deleted line 186 | call s:h("DiffText", { "fg": s:blue }) " diff mode: Changed text within a changed line 187 | call s:h("ErrorMsg", {}) " error messages on the command line 188 | call s:h("VertSplit", { "fg": s:vertsplit }) " the column separating vertically split windows 189 | call s:h("Folded", { "fg": s:comment_grey }) " line used for closed folds 190 | call s:h("FoldColumn", {}) " 'foldcolumn' 191 | call s:h("SignColumn", {}) " column where signs are displayed 192 | call s:h("IncSearch", { "fg": s:black, "bg": s:yellow }) " 'incsearch' highlighting; also used for the text replaced with ":s///c" 193 | call s:h("LineNr", { "fg": s:gutter_fg_grey }) " Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. 194 | call s:h("CursorLineNr", {}) " Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. 195 | call s:h("MatchParen", { "fg": s:blue, "gui": "underline" }) " The character under the cursor or just before it, if it is a paired bracket, and its match. 196 | call s:h("ModeMsg", {}) " 'showmode' message (e.g., "-- INSERT --") 197 | call s:h("MoreMsg", {}) " more-prompt 198 | call s:h("NonText", { "fg": s:special_grey }) " '~' and '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). 199 | call s:h("Normal", { "fg": s:white, "bg": s:black }) " normal text 200 | call s:h("Pmenu", { "bg": s:menu_grey }) " Popup menu: normal item. 201 | call s:h("PmenuSel", { "bg": s:black }) " Popup menu: selected item. 202 | call s:h("PmenuSbar", { "bg": s:special_grey }) " Popup menu: scrollbar. 203 | call s:h("PmenuThumb", { "bg": s:white }) " Popup menu: Thumb of the scrollbar. 204 | call s:h("Question", { "fg": s:purple }) " hit-enter prompt and yes/no questions 205 | call s:h("Search", { "fg": s:black, "bg": s:yellow }) " Last search pattern highlighting (see 'hlsearch'). Also used for highlighting the current line in the quickfix window and similar items that need to stand out. 206 | call s:h("SpecialKey", { "fg": s:special_grey }) " Meta and special keys listed with ":map", also for text used to show unprintable characters in the text, 'listchars'. Generally: text that is displayed differently from what it really is. 207 | call s:h("SpellBad", { "fg": s:red, "gui": "underline", "cterm": "underline" }) " Word that is not recognized by the spellchecker. This will be combined with the highlighting used otherwise. 208 | call s:h("SpellCap", { "fg": s:dark_yellow }) " Word that should start with a capital. This will be combined with the highlighting used otherwise. 209 | call s:h("SpellLocal", { "fg": s:dark_yellow }) " Word that is recognized by the spellchecker as one that is used in another region. This will be combined with the highlighting used otherwise. 210 | call s:h("SpellRare", { "fg": s:dark_yellow }) " Word that is recognized by the spellchecker as one that is hardly ever used. spell This will be combined with the highlighting used otherwise. 211 | call s:h("StatusLine", { "fg": s:white, "bg": s:cursor_grey }) " status line of current window 212 | call s:h("StatusLineNC", { "fg": s:comment_grey }) " status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window. 213 | call s:h("TabLine", { "fg": s:comment_grey }) " tab pages line, not active tab page label 214 | call s:h("TabLineFill", {}) " tab pages line, where there are no labels 215 | call s:h("TabLineSel", { "fg": s:white }) " tab pages line, active tab page label 216 | call s:h("Title", { "fg": s:green }) " titles for output from ":set all", ":autocmd" etc. 217 | call s:h("Visual", { "fg": s:visual_black, "bg": s:visual_grey }) " Visual mode selection 218 | call s:h("VisualNOS", { "bg": s:visual_grey }) " Visual mode selection when vim is "Not Owning the Selection". Only X11 Gui's gui-x11 and xterm-clipboard supports this. 219 | call s:h("WarningMsg", { "fg": s:red }) " warning messages 220 | call s:h("WildMenu", {}) " current match in 'wildmenu' completion 221 | 222 | " +--------------------------------+ 223 | " | Language-Specific Highlighting | 224 | " +--------------------------------+ 225 | 226 | " CSS 227 | call s:h("cssAttrComma", { "fg": s:purple }) 228 | call s:h("cssAttributeSelector", { "fg": s:green }) 229 | call s:h("cssBraces", { "fg": s:white }) 230 | call s:h("cssClassName", { "fg": s:dark_yellow }) 231 | call s:h("cssClassNameDot", { "fg": s:dark_yellow }) 232 | call s:h("cssDefinition", { "fg": s:purple }) 233 | call s:h("cssFontAttr", { "fg": s:dark_yellow }) 234 | call s:h("cssFontDescriptor", { "fg": s:purple }) 235 | call s:h("cssFunctionName", { "fg": s:blue }) 236 | call s:h("cssIdentifier", { "fg": s:blue }) 237 | call s:h("cssImportant", { "fg": s:purple }) 238 | call s:h("cssInclude", { "fg": s:white }) 239 | call s:h("cssIncludeKeyword", { "fg": s:purple }) 240 | call s:h("cssMediaType", { "fg": s:dark_yellow }) 241 | call s:h("cssProp", { "fg": s:white }) 242 | call s:h("cssPseudoClassId", { "fg": s:dark_yellow }) 243 | call s:h("cssSelectorOp", { "fg": s:purple }) 244 | call s:h("cssSelectorOp2", { "fg": s:purple }) 245 | call s:h("cssTagName", { "fg": s:red }) 246 | 247 | " HTML 248 | call s:h("htmlTitle", { "fg": s:white }) 249 | call s:h("htmlArg", { "fg": s:dark_yellow }) 250 | call s:h("htmlEndTag", { "fg": s:white }) 251 | call s:h("htmlH1", { "fg": s:white }) 252 | call s:h("htmlLink", { "fg": s:purple }) 253 | call s:h("htmlSpecialChar", { "fg": s:dark_yellow }) 254 | call s:h("htmlSpecialTagName", { "fg": s:red }) 255 | call s:h("htmlTag", { "fg": s:white }) 256 | call s:h("htmlTagName", { "fg": s:red }) 257 | 258 | " JavaScript 259 | call s:h("javaScriptBraces", { "fg": s:white }) 260 | call s:h("javaScriptFunction", { "fg": s:purple }) 261 | call s:h("javaScriptIdentifier", { "fg": s:purple }) 262 | call s:h("javaScriptNull", { "fg": s:dark_yellow }) 263 | call s:h("javaScriptNumber", { "fg": s:dark_yellow }) 264 | call s:h("javaScriptRequire", { "fg": s:cyan }) 265 | call s:h("javaScriptReserved", { "fg": s:purple }) 266 | " https://github.com/pangloss/vim-javascript 267 | call s:h("jsArrowFunction", { "fg": s:purple }) 268 | call s:h("jsClassKeywords", { "fg": s:purple }) 269 | call s:h("jsDocParam", { "fg": s:blue }) 270 | call s:h("jsDocTags", { "fg": s:purple }) 271 | call s:h("jsFuncCall", { "fg": s:blue }) 272 | call s:h("jsFunction", { "fg": s:purple }) 273 | call s:h("jsGlobalObjects", { "fg": s:yellow }) 274 | call s:h("jsModuleWords", { "fg": s:purple }) 275 | call s:h("jsModules", { "fg": s:purple }) 276 | call s:h("jsNull", { "fg": s:dark_yellow }) 277 | call s:h("jsOperator", { "fg": s:purple }) 278 | call s:h("jsStorageClass", { "fg": s:purple }) 279 | call s:h("jsTemplateBraces", { "fg": s:dark_red }) 280 | call s:h("jsTemplateVar", { "fg": s:green }) 281 | call s:h("jsThis", { "fg": s:red }) 282 | call s:h("jsUndefined", { "fg": s:dark_yellow }) 283 | " https://github.com/othree/yajs.vim 284 | call s:h("javascriptArrowFunc", { "fg": s:purple }) 285 | call s:h("javascriptClassExtends", { "fg": s:purple }) 286 | call s:h("javascriptClassKeyword", { "fg": s:purple }) 287 | call s:h("javascriptDocNotation", { "fg": s:purple }) 288 | call s:h("javascriptDocParamName", { "fg": s:blue }) 289 | call s:h("javascriptDocTags", { "fg": s:purple }) 290 | call s:h("javascriptEndColons", { "fg": s:white }) 291 | call s:h("javascriptExport", { "fg": s:purple }) 292 | call s:h("javascriptFuncArg", { "fg": s:white }) 293 | call s:h("javascriptFuncKeyword", { "fg": s:purple }) 294 | call s:h("javascriptIdentifier", { "fg": s:red }) 295 | call s:h("javascriptImport", { "fg": s:purple }) 296 | call s:h("javascriptObjectLabel", { "fg": s:white }) 297 | call s:h("javascriptOpSymbol", { "fg": s:cyan }) 298 | call s:h("javascriptOpSymbols", { "fg": s:cyan }) 299 | call s:h("javascriptPropertyName", { "fg": s:green }) 300 | call s:h("javascriptTemplateSB", { "fg": s:dark_red }) 301 | call s:h("javascriptVariable", { "fg": s:purple }) 302 | 303 | " JSON 304 | call s:h("jsonCommentError", { "fg": s:white }) 305 | call s:h("jsonKeyword", { "fg": s:red }) 306 | call s:h("jsonBoolean", { "fg": s:dark_yellow }) 307 | call s:h("jsonNumber", { "fg": s:dark_yellow }) 308 | call s:h("jsonQuote", { "fg": s:white }) 309 | call s:h("jsonMissingCommaError", { "fg": s:red, "gui": "reverse" }) 310 | call s:h("jsonNoQuotesError", { "fg": s:red, "gui": "reverse" }) 311 | call s:h("jsonNumError", { "fg": s:red, "gui": "reverse" }) 312 | call s:h("jsonString", { "fg": s:green }) 313 | call s:h("jsonStringSQError", { "fg": s:red, "gui": "reverse" }) 314 | call s:h("jsonSemicolonError", { "fg": s:red, "gui": "reverse" }) 315 | 316 | " Markdown 317 | call s:h("markdownCode", { "fg": s:green }) 318 | call s:h("markdownCodeBlock", { "fg": s:green }) 319 | call s:h("markdownCodeDelimiter", { "fg": s:green }) 320 | call s:h("markdownHeadingDelimiter", { "fg": s:red }) 321 | call s:h("markdownRule", { "fg": s:comment_grey }) 322 | call s:h("markdownHeadingRule", { "fg": s:comment_grey }) 323 | call s:h("markdownH1", { "fg": s:red }) 324 | call s:h("markdownH2", { "fg": s:red }) 325 | call s:h("markdownH3", { "fg": s:red }) 326 | call s:h("markdownH4", { "fg": s:red }) 327 | call s:h("markdownH5", { "fg": s:red }) 328 | call s:h("markdownH6", { "fg": s:red }) 329 | call s:h("markdownIdDelimiter", { "fg": s:purple }) 330 | call s:h("markdownId", { "fg": s:purple }) 331 | call s:h("markdownBlockquote", { "fg": s:comment_grey }) 332 | call s:h("markdownItalic", { "fg": s:purple, "gui": "italic", "cterm": "italic" }) 333 | call s:h("markdownBold", { "fg": s:dark_yellow, "gui": "bold", "cterm": "bold" }) 334 | call s:h("markdownListMarker", { "fg": s:red }) 335 | call s:h("markdownOrderedListMarker", { "fg": s:red }) 336 | call s:h("markdownIdDeclaration", { "fg": s:blue }) 337 | call s:h("markdownLinkText", { "fg": s:blue }) 338 | call s:h("markdownLinkDelimiter", { "fg": s:white }) 339 | call s:h("markdownUrl", { "fg": s:purple }) 340 | 341 | " Ruby 342 | call s:h("rubyBlockParameter", { "fg": s:red}) 343 | call s:h("rubyBlockParameterList", { "fg": s:red }) 344 | call s:h("rubyClass", { "fg": s:purple}) 345 | call s:h("rubyConstant", { "fg": s:yellow}) 346 | call s:h("rubyControl", { "fg": s:purple }) 347 | call s:h("rubyEscape", { "fg": s:red}) 348 | call s:h("rubyFunction", { "fg": s:blue}) 349 | call s:h("rubyGlobalVariable", { "fg": s:red}) 350 | call s:h("rubyInclude", { "fg": s:blue}) 351 | call s:h("rubyIncluderubyGlobalVariable", { "fg": s:red}) 352 | call s:h("rubyInstanceVariable", { "fg": s:red}) 353 | call s:h("rubyInterpolation", { "fg": s:cyan }) 354 | call s:h("rubyInterpolationDelimiter", { "fg": s:red }) 355 | call s:h("rubyInterpolationDelimiter", { "fg": s:red}) 356 | call s:h("rubyRegexp", { "fg": s:cyan}) 357 | call s:h("rubyRegexpDelimiter", { "fg": s:cyan}) 358 | call s:h("rubyStringDelimiter", { "fg": s:green}) 359 | call s:h("rubySymbol", { "fg": s:cyan}) 360 | 361 | " Sass 362 | call s:h("sassAmpersand", { "fg": s:red }) 363 | call s:h("sassClass", { "fg": s:dark_yellow }) 364 | call s:h("sassControl", { "fg": s:purple }) 365 | call s:h("sassExtend", { "fg": s:purple }) 366 | call s:h("sassFor", { "fg": s:white }) 367 | call s:h("sassFunction", { "fg": s:cyan }) 368 | call s:h("sassId", { "fg": s:blue }) 369 | call s:h("sassInclude", { "fg": s:purple }) 370 | call s:h("sassMedia", { "fg": s:purple }) 371 | call s:h("sassMediaOperators", { "fg": s:white }) 372 | call s:h("sassMixin", { "fg": s:purple }) 373 | call s:h("sassMixinName", { "fg": s:blue }) 374 | call s:h("sassMixing", { "fg": s:purple }) 375 | 376 | " TypeScript 377 | call s:h("typescriptReserved", { "fg": s:purple }) 378 | call s:h("typescriptEndColons", { "fg": s:white }) 379 | call s:h("typescriptBraces", { "fg": s:white }) 380 | 381 | " XML 382 | call s:h("xmlAttrib", { "fg": s:dark_yellow }) 383 | call s:h("xmlEndTag", { "fg": s:red }) 384 | call s:h("xmlTag", { "fg": s:red }) 385 | call s:h("xmlTagName", { "fg": s:red }) 386 | 387 | " +---------------------+ 388 | " | Plugin Highlighting | 389 | " +---------------------+ 390 | 391 | " airblade/vim-gitgutter 392 | hi link GitGutterAdd SignifySignAdd 393 | hi link GitGutterChange SignifySignChange 394 | hi link GitGutterDelete SignifySignDelete 395 | 396 | " mhinz/vim-signify 397 | call s:h("SignifySignAdd", { "fg": s:green }) 398 | call s:h("SignifySignChange", { "fg": s:yellow }) 399 | call s:h("SignifySignDelete", { "fg": s:red }) 400 | 401 | " neomake/neomake 402 | call s:h("NeomakeWarningSign", { "fg": s:yellow }) 403 | call s:h("NeomakeErrorSign", { "fg": s:red }) 404 | call s:h("NeomakeInfoSign", { "fg": s:blue }) 405 | 406 | " tpope/vim-fugitive 407 | call s:h("diffAdded", { "fg": s:green }) 408 | call s:h("diffRemoved", { "fg": s:red }) 409 | 410 | " +------------------+ 411 | " | Git Highlighting | 412 | " +------------------+ 413 | 414 | call s:h("gitcommitComment", { "fg": s:comment_grey }) 415 | call s:h("gitcommitUnmerged", { "fg": s:green }) 416 | call s:h("gitcommitOnBranch", {}) 417 | call s:h("gitcommitBranch", { "fg": s:purple }) 418 | call s:h("gitcommitDiscardedType", { "fg": s:red }) 419 | call s:h("gitcommitSelectedType", { "fg": s:green }) 420 | call s:h("gitcommitHeader", {}) 421 | call s:h("gitcommitUntrackedFile", { "fg": s:cyan }) 422 | call s:h("gitcommitDiscardedFile", { "fg": s:red }) 423 | call s:h("gitcommitSelectedFile", { "fg": s:green }) 424 | call s:h("gitcommitUnmergedFile", { "fg": s:yellow }) 425 | call s:h("gitcommitFile", {}) 426 | hi link gitcommitNoBranch gitcommitBranch 427 | hi link gitcommitUntracked gitcommitComment 428 | hi link gitcommitDiscarded gitcommitComment 429 | hi link gitcommitSelected gitcommitComment 430 | hi link gitcommitDiscardedArrow gitcommitDiscardedFile 431 | hi link gitcommitSelectedArrow gitcommitSelectedFile 432 | hi link gitcommitUnmergedArrow gitcommitUnmergedFile 433 | 434 | " +------------------------+ 435 | " | Neovim terminal colors | 436 | " +------------------------+ 437 | 438 | if has("nvim") 439 | let g:terminal_color_0 = s:black.gui 440 | let g:terminal_color_1 = s:red.gui 441 | let g:terminal_color_2 = s:green.gui 442 | let g:terminal_color_3 = s:yellow.gui 443 | let g:terminal_color_4 = s:blue.gui 444 | let g:terminal_color_5 = s:purple.gui 445 | let g:terminal_color_6 = s:cyan.gui 446 | let g:terminal_color_7 = s:white.gui 447 | let g:terminal_color_8 = s:visual_grey.gui 448 | let g:terminal_color_9 = s:dark_red.gui 449 | let g:terminal_color_10 = s:green.gui " No dark version 450 | let g:terminal_color_11 = s:dark_yellow.gui 451 | let g:terminal_color_12 = s:blue.gui " No dark version 452 | let g:terminal_color_13 = s:purple.gui " No dark version 453 | let g:terminal_color_14 = s:cyan.gui " No dark version 454 | let g:terminal_color_15 = s:comment_grey.gui 455 | let g:terminal_color_background = g:terminal_color_0 456 | let g:terminal_color_foreground = g:terminal_color_7 457 | endif 458 | -------------------------------------------------------------------------------- /colors/solarized.vim: -------------------------------------------------------------------------------- 1 | " Name: Solarized vim colorscheme 2 | " Author: Ethan Schoonover 3 | " URL: http://ethanschoonover.com/solarized 4 | " (see this url for latest release & screenshots) 5 | " License: OSI approved MIT license (see end of this file) 6 | " Created: In the middle of the night 7 | " Modified: 2011 Apr 14 8 | " 9 | " Usage "{{{ 10 | " 11 | " --------------------------------------------------------------------- 12 | " ABOUT: 13 | " --------------------------------------------------------------------- 14 | " Solarized is a carefully designed selective contrast colorscheme with dual 15 | " light and dark modes that runs in both GUI, 256 and 16 color modes. 16 | " 17 | " See the homepage above for screenshots and details. 18 | " 19 | " --------------------------------------------------------------------- 20 | " INSTALLATION: 21 | " --------------------------------------------------------------------- 22 | " 23 | " Two options for installation: manual or pathogen 24 | " 25 | " MANUAL INSTALLATION OPTION: 26 | " --------------------------------------------------------------------- 27 | " 28 | " 1. Put the files in the right place! 29 | " 2. Move `solarized.vim` to your `.vim/colors` directory. 30 | " 31 | " RECOMMENDED PATHOGEN INSTALLATION OPTION: 32 | " --------------------------------------------------------------------- 33 | " 34 | " 1. Download and install Tim Pope's Pathogen from: 35 | " https://github.com/tpope/vim-pathogen 36 | " 37 | " 2. Next, move or clone the `vim-colors-solarized` directory so that it is 38 | " a subdirectory of the `.vim/bundle` directory. 39 | " 40 | " a. **clone with git:** 41 | " 42 | " $ cd ~/.vim/bundle 43 | " $ git clone git://github.com/altercation/vim-colors-solarized.git 44 | " 45 | " b. **or move manually into the pathogen bundle directory:** 46 | " In the parent directory of vim-colors-solarized: 47 | " 48 | " $ mv vim-colors-solarized ~/.vim/bundle/ 49 | " 50 | " MODIFY VIMRC: 51 | " 52 | " After either Option 1 or Option 2 above, put the following two lines in your 53 | " .vimrc: 54 | " 55 | " syntax enable 56 | " set background=dark 57 | " colorscheme solarized 58 | " 59 | " or, for the light background mode of Solarized: 60 | " 61 | " syntax enable 62 | " set background=light 63 | " colorscheme solarized 64 | " 65 | " I like to have a different background in GUI and terminal modes, so I can use 66 | " the following if-then. However, I find vim's background autodetection to be 67 | " pretty good and, at least with MacVim, I can leave this background value 68 | " assignment out entirely and get the same results. 69 | " 70 | " if has('gui_running') 71 | " set background=light 72 | " else 73 | " set background=dark 74 | " endif 75 | " 76 | " See the Solarized homepage at http://ethanschoonover.com/solarized for 77 | " screenshots which will help you select either the light or dark background. 78 | " 79 | " Other options are detailed below. 80 | " 81 | " IMPORTANT NOTE FOR TERMINAL USERS: 82 | " 83 | " If you are going to use Solarized in Terminal mode (i.e. not in a GUI version 84 | " like gvim or macvim), **please please please** consider setting your terminal 85 | " emulator's colorscheme to used the Solarized palette. I've included palettes 86 | " for some popular terminal emulator as well as Xdefaults in the official 87 | " Solarized download available from [Solarized homepage]. If you use 88 | " Solarized *without* these colors, Solarized will need to be told to degrade 89 | " its colorscheme to a set compatible with the limited 256 terminal palette 90 | " (whereas by using the terminal's 16 ansi color values, you can set the 91 | " correct, specific values for the Solarized palette). 92 | " 93 | " If you do use the custom terminal colors, solarized.vim should work out of 94 | " the box for you. If you are using a terminal emulator that supports 256 95 | " colors and don't want to use the custom Solarized terminal colors, you will 96 | " need to use the degraded 256 colorscheme. To do so, simply add the following 97 | " line *before* the `colorschem solarized` line: 98 | " 99 | " let g:solarized_termcolors=256 100 | " 101 | " Again, I recommend just changing your terminal colors to Solarized values 102 | " either manually or via one of the many terminal schemes available for import. 103 | " 104 | " --------------------------------------------------------------------- 105 | " TOGGLE BACKGROUND FUNCTION: 106 | " --------------------------------------------------------------------- 107 | " 108 | " Solarized comes with a Toggle Background plugin that by default will map to 109 | " if that mapping is available. If it is not available you will need to 110 | " either map the function manually or change your current mapping to 111 | " something else. If you wish to map the function manually, enter the following 112 | " lines in your .vimrc: 113 | " 114 | " nmap ToggleBackground 115 | " imap ToggleBackground 116 | " vmap ToggleBackground 117 | " 118 | " Note that it is important to *not* use the noremap map variants. The plugin 119 | " uses noremap internally. You may run `:help togglebg` for more information. 120 | " 121 | " --------------------------------------------------------------------- 122 | " OPTIONS 123 | " --------------------------------------------------------------------- 124 | " 125 | " Set these in your vimrc file prior to calling the colorscheme. 126 | " 127 | " option name default optional 128 | " ------------------------------------------------ 129 | " g:solarized_termcolors= 16 | 256 130 | " g:solarized_termtrans = 0 | 1 131 | " g:solarized_degrade = 0 | 1 132 | " g:solarized_bold = 1 | 0 133 | " g:solarized_underline = 1 | 0 134 | " g:solarized_italic = 1 | 0 135 | " g:solarized_contrast = "normal"| "high" or "low" 136 | " g:solarized_visibility= "normal"| "high" or "low" 137 | " ------------------------------------------------ 138 | " 139 | " OPTION DETAILS 140 | " 141 | " ------------------------------------------------ 142 | " g:solarized_termcolors= 256 | 16 143 | " ------------------------------------------------ 144 | " The most important option if you are using vim in terminal (non gui) mode! 145 | " This tells Solarized to use the 256 degraded color mode if running in a 256 146 | " color capable terminal. Otherwise, if set to `16` it will use the terminal 147 | " emulators colorscheme (best option as long as you've set the emulators colors 148 | " to the Solarized palette). 149 | " 150 | " If you are going to use Solarized in Terminal mode (i.e. not in a GUI 151 | " version like gvim or macvim), **please please please** consider setting your 152 | " terminal emulator's colorscheme to used the Solarized palette. I've included 153 | " palettes for some popular terminal emulator as well as Xdefaults in the 154 | " official Solarized download available from: 155 | " http://ethanschoonover.com/solarized . If you use Solarized without these 156 | " colors, Solarized will by default use an approximate set of 256 colors. It 157 | " isn't bad looking and has been extensively tweaked, but it's still not quite 158 | " the real thing. 159 | " 160 | " ------------------------------------------------ 161 | " g:solarized_termtrans = 0 | 1 162 | " ------------------------------------------------ 163 | " If you use a terminal emulator with a transparent background and Solarized 164 | " isn't displaying the background color transparently, set this to 1 and 165 | " Solarized will use the default (transparent) background of the terminal 166 | " emulator. *urxvt* required this in my testing; iTerm2 did not. 167 | " 168 | " Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by 169 | " default as this is almost always the best option. The only exception to this 170 | " is if the working terminfo file supports 256 colors (xterm-256color). 171 | " 172 | " ------------------------------------------------ 173 | " g:solarized_degrade = 0 | 1 174 | " ------------------------------------------------ 175 | " For test purposes only; forces Solarized to use the 256 degraded color mode 176 | " to test the approximate color values for accuracy. 177 | " 178 | " ------------------------------------------------ 179 | " g:solarized_bold = 1 | 0 180 | " ------------------------------------------------ 181 | " ------------------------------------------------ 182 | " g:solarized_underline = 1 | 0 183 | " ------------------------------------------------ 184 | " ------------------------------------------------ 185 | " g:solarized_italic = 1 | 0 186 | " ------------------------------------------------ 187 | " If you wish to stop Solarized from displaying bold, underlined or 188 | " italicized typefaces, simply assign a zero value to the appropriate 189 | " variable, for example: `let g:solarized_italic=0` 190 | " 191 | " ------------------------------------------------ 192 | " g:solarized_contrast = "normal"| "high" or "low" 193 | " ------------------------------------------------ 194 | " Stick with normal! It's been carefully tested. Setting this option to high 195 | " or low does use the same Solarized palette but simply shifts some values up 196 | " or down in order to expand or compress the tonal range displayed. 197 | " 198 | " ------------------------------------------------ 199 | " g:solarized_visibility = "normal"| "high" or "low" 200 | " ------------------------------------------------ 201 | " Special characters such as trailing whitespace, tabs, newlines, when 202 | " displayed using ":set list" can be set to one of three levels depending on 203 | " your needs. 204 | " 205 | " --------------------------------------------------------------------- 206 | " COLOR VALUES 207 | " --------------------------------------------------------------------- 208 | " Download palettes and files from: http://ethanschoonover.com/solarized 209 | " 210 | " L\*a\*b values are canonical (White D65, Reference D50), other values are 211 | " matched in sRGB space. 212 | " 213 | " SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B sRGB HSB 214 | " --------- ------- ---- ------- ----------- ---------- ----------- ----------- 215 | " base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 216 | " base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 217 | " base01 #586e75 10/7 brgreen 240 #4e4e4e 45 -07 -07 88 110 117 194 25 46 218 | " base00 #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195 23 51 219 | " base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 220 | " base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 221 | " base2 #eee8d5 7/7 white 254 #d7d7af 92 -00 10 238 232 213 44 11 93 222 | " base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 223 | " yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 224 | " orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 225 | " red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 226 | " magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 227 | " violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 228 | " blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 229 | " cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 230 | " green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 231 | " 232 | " --------------------------------------------------------------------- 233 | " COLORSCHEME HACKING 234 | " --------------------------------------------------------------------- 235 | " 236 | " Useful commands for testing colorschemes: 237 | " :source $VIMRUNTIME/syntax/hitest.vim 238 | " :help highlight-groups 239 | " :help cterm-colors 240 | " :help group-name 241 | " 242 | " Useful links for developing colorschemes: 243 | " http://www.vim.org/scripts/script.php?script_id=2937 244 | " http://vimcasts.org/episodes/creating-colorschemes-for-vim/ 245 | " http://www.frexx.de/xterm-256-notes/" 246 | " 247 | " 248 | " }}} 249 | " Default option values"{{{ 250 | " --------------------------------------------------------------------- 251 | if !exists("g:solarized_termtrans") 252 | if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256) 253 | let g:solarized_termtrans = 1 254 | else 255 | let g:solarized_termtrans = 0 256 | endif 257 | endif 258 | if !exists("g:solarized_degrade") 259 | let g:solarized_degrade = 0 260 | endif 261 | if !exists("g:solarized_bold") 262 | let g:solarized_bold = 1 263 | endif 264 | if !exists("g:solarized_underline") 265 | let g:solarized_underline = 1 266 | endif 267 | if !exists("g:solarized_italic") 268 | let g:solarized_italic = 1 269 | endif 270 | if !exists("g:solarized_termcolors") 271 | let g:solarized_termcolors = 16 272 | endif 273 | if !exists("g:solarized_contrast") 274 | let g:solarized_contrast = "normal" 275 | endif 276 | if !exists("g:solarized_visibility") 277 | let g:solarized_visibility = "normal" 278 | endif 279 | "}}} 280 | " Colorscheme initialization "{{{ 281 | " --------------------------------------------------------------------- 282 | hi clear 283 | if exists("syntax_on") 284 | syntax reset 285 | endif 286 | let colors_name = "solarized" 287 | 288 | "}}} 289 | " GUI & CSApprox hexadecimal palettes"{{{ 290 | " --------------------------------------------------------------------- 291 | " 292 | " Set both gui and terminal color values in separate conditional statements 293 | " Due to possibility that CSApprox is running (though I suppose we could just 294 | " leave the hex values out entirely in that case and include only cterm colors) 295 | " We also check to see if user has set solarized (force use of the 296 | " neutral gray monotone palette component) 297 | if (has("gui_running") && g:solarized_degrade == 0) 298 | let s:vmode = "gui" 299 | let s:base03 = "#002b36" 300 | let s:base02 = "#073642" 301 | let s:base01 = "#586e75" 302 | let s:base00 = "#657b83" 303 | let s:base0 = "#839496" 304 | let s:base1 = "#93a1a1" 305 | let s:base2 = "#eee8d5" 306 | let s:base3 = "#fdf6e3" 307 | let s:yellow = "#b58900" 308 | let s:orange = "#cb4b16" 309 | let s:red = "#dc322f" 310 | let s:magenta = "#d33682" 311 | let s:violet = "#6c71c4" 312 | let s:blue = "#268bd2" 313 | let s:cyan = "#2aa198" 314 | let s:green = "#859900" 315 | elseif (has("gui_running") && g:solarized_degrade == 1) 316 | " These colors are identical to the 256 color mode. They may be viewed 317 | " while in gui mode via "let g:solarized_degrade=1", though this is not 318 | " recommened and is for testing only. 319 | let s:vmode = "gui" 320 | let s:base03 = "#1c1c1c" 321 | let s:base02 = "#262626" 322 | let s:base01 = "#4e4e4e" 323 | let s:base00 = "#585858" 324 | let s:base0 = "#808080" 325 | let s:base1 = "#8a8a8a" 326 | let s:base2 = "#d7d7af" 327 | let s:base3 = "#ffffd7" 328 | let s:yellow = "#af8700" 329 | let s:orange = "#d75f00" 330 | let s:red = "#af0000" 331 | let s:magenta = "#af005f" 332 | let s:violet = "#5f5faf" 333 | let s:blue = "#0087ff" 334 | let s:cyan = "#00afaf" 335 | let s:green = "#5f8700" 336 | elseif g:solarized_termcolors != 256 && &t_Co >= 16 337 | let s:vmode = "cterm" 338 | let s:base03 = "8" 339 | let s:base02 = "0" 340 | let s:base01 = "10" 341 | let s:base00 = "11" 342 | let s:base0 = "12" 343 | let s:base1 = "14" 344 | let s:base2 = "7" 345 | let s:base3 = "15" 346 | let s:yellow = "3" 347 | let s:orange = "9" 348 | let s:red = "1" 349 | let s:magenta = "5" 350 | let s:violet = "13" 351 | let s:blue = "4" 352 | let s:cyan = "6" 353 | let s:green = "2" 354 | elseif g:solarized_termcolors == 256 355 | let s:vmode = "cterm" 356 | let s:base03 = "234" 357 | let s:base02 = "235" 358 | let s:base01 = "239" 359 | let s:base00 = "240" 360 | let s:base0 = "244" 361 | let s:base1 = "245" 362 | let s:base2 = "187" 363 | let s:base3 = "230" 364 | let s:yellow = "136" 365 | let s:orange = "166" 366 | let s:red = "124" 367 | let s:magenta = "125" 368 | let s:violet = "61" 369 | let s:blue = "33" 370 | let s:cyan = "37" 371 | let s:green = "64" 372 | else 373 | let s:vmode = "cterm" 374 | let s:bright = "* term=bold cterm=bold" 375 | let s:base03 = "0".s:bright 376 | let s:base02 = "0" 377 | let s:base01 = "2".s:bright 378 | let s:base00 = "3".s:bright 379 | let s:base0 = "4".s:bright 380 | let s:base1 = "6".s:bright 381 | let s:base2 = "7" 382 | let s:base3 = "7".s:bright 383 | let s:yellow = "3" 384 | let s:orange = "1".s:bright 385 | let s:red = "1" 386 | let s:magenta = "5" 387 | let s:violet = "13" 388 | let s:blue = "4" 389 | let s:cyan = "6" 390 | let s:green = "2" 391 | endif 392 | "}}} 393 | " Formatting options and null values for passthrough effect "{{{ 394 | " --------------------------------------------------------------------- 395 | let s:none = "NONE" 396 | let s:none = "NONE" 397 | let s:t_none = "NONE" 398 | let s:n = "NONE" 399 | let s:c = ",undercurl" 400 | let s:r = ",reverse" 401 | let s:s = ",standout" 402 | let s:ou = "" 403 | let s:ob = "" 404 | "}}} 405 | " Background value based on termtrans setting "{{{ 406 | " --------------------------------------------------------------------- 407 | if (has("gui_running") || g:solarized_termtrans == 0) 408 | let s:back = s:base03 409 | else 410 | let s:back = "NONE" 411 | endif 412 | "}}} 413 | " Alternate light scheme "{{{ 414 | " --------------------------------------------------------------------- 415 | if &background == "light" 416 | let s:temp03 = s:base03 417 | let s:temp02 = s:base02 418 | let s:temp01 = s:base01 419 | let s:temp00 = s:base00 420 | let s:base03 = s:base3 421 | let s:base02 = s:base2 422 | let s:base01 = s:base1 423 | let s:base00 = s:base0 424 | let s:base0 = s:temp00 425 | let s:base1 = s:temp01 426 | let s:base2 = s:temp02 427 | let s:base3 = s:temp03 428 | if (s:back != "NONE") 429 | let s:back = s:base03 430 | endif 431 | endif 432 | "}}} 433 | " Optional contrast schemes "{{{ 434 | " --------------------------------------------------------------------- 435 | if g:solarized_contrast == "high" 436 | let s:base01 = s:base00 437 | let s:base00 = s:base0 438 | let s:base0 = s:base1 439 | let s:base1 = s:base2 440 | let s:base2 = s:base3 441 | let s:back = s:back 442 | endif 443 | if g:solarized_contrast == "low" 444 | let s:back = s:base02 445 | let s:ou = ",underline" 446 | endif 447 | "}}} 448 | " Overrides dependent on user specified values"{{{ 449 | " --------------------------------------------------------------------- 450 | if g:solarized_bold == 1 451 | let s:b = ",bold" 452 | else 453 | let s:b = "" 454 | endif 455 | 456 | if g:solarized_underline == 1 457 | let s:u = ",underline" 458 | else 459 | let s:u = "" 460 | endif 461 | 462 | if g:solarized_italic == 1 463 | let s:i = ",italic" 464 | else 465 | let s:i = "" 466 | endif 467 | "}}} 468 | " Highlighting primitives"{{{ 469 | " --------------------------------------------------------------------- 470 | 471 | exe "let s:bg_none = ' ".s:vmode."bg=".s:none ."'" 472 | exe "let s:bg_back = ' ".s:vmode."bg=".s:back ."'" 473 | exe "let s:bg_base03 = ' ".s:vmode."bg=".s:base03 ."'" 474 | exe "let s:bg_base02 = ' ".s:vmode."bg=".s:base02 ."'" 475 | exe "let s:bg_base01 = ' ".s:vmode."bg=".s:base01 ."'" 476 | exe "let s:bg_base00 = ' ".s:vmode."bg=".s:base00 ."'" 477 | exe "let s:bg_base0 = ' ".s:vmode."bg=".s:base0 ."'" 478 | exe "let s:bg_base1 = ' ".s:vmode."bg=".s:base1 ."'" 479 | exe "let s:bg_base2 = ' ".s:vmode."bg=".s:base2 ."'" 480 | exe "let s:bg_base3 = ' ".s:vmode."bg=".s:base3 ."'" 481 | exe "let s:bg_green = ' ".s:vmode."bg=".s:green ."'" 482 | exe "let s:bg_yellow = ' ".s:vmode."bg=".s:yellow ."'" 483 | exe "let s:bg_orange = ' ".s:vmode."bg=".s:orange ."'" 484 | exe "let s:bg_red = ' ".s:vmode."bg=".s:red ."'" 485 | exe "let s:bg_magenta = ' ".s:vmode."bg=".s:magenta."'" 486 | exe "let s:bg_violet = ' ".s:vmode."bg=".s:violet ."'" 487 | exe "let s:bg_blue = ' ".s:vmode."bg=".s:blue ."'" 488 | exe "let s:bg_cyan = ' ".s:vmode."bg=".s:cyan ."'" 489 | 490 | exe "let s:fg_none = ' ".s:vmode."fg=".s:none ."'" 491 | exe "let s:fg_back = ' ".s:vmode."fg=".s:back ."'" 492 | exe "let s:fg_base03 = ' ".s:vmode."fg=".s:base03 ."'" 493 | exe "let s:fg_base02 = ' ".s:vmode."fg=".s:base02 ."'" 494 | exe "let s:fg_base01 = ' ".s:vmode."fg=".s:base01 ."'" 495 | exe "let s:fg_base00 = ' ".s:vmode."fg=".s:base00 ."'" 496 | exe "let s:fg_base0 = ' ".s:vmode."fg=".s:base0 ."'" 497 | exe "let s:fg_base1 = ' ".s:vmode."fg=".s:base1 ."'" 498 | exe "let s:fg_base2 = ' ".s:vmode."fg=".s:base2 ."'" 499 | exe "let s:fg_base3 = ' ".s:vmode."fg=".s:base3 ."'" 500 | exe "let s:fg_green = ' ".s:vmode."fg=".s:green ."'" 501 | exe "let s:fg_yellow = ' ".s:vmode."fg=".s:yellow ."'" 502 | exe "let s:fg_orange = ' ".s:vmode."fg=".s:orange ."'" 503 | exe "let s:fg_red = ' ".s:vmode."fg=".s:red ."'" 504 | exe "let s:fg_magenta = ' ".s:vmode."fg=".s:magenta."'" 505 | exe "let s:fg_violet = ' ".s:vmode."fg=".s:violet ."'" 506 | exe "let s:fg_blue = ' ".s:vmode."fg=".s:blue ."'" 507 | exe "let s:fg_cyan = ' ".s:vmode."fg=".s:cyan ."'" 508 | 509 | exe "let s:fmt_none = ' ".s:vmode."=NONE". " term=NONE". "'" 510 | exe "let s:fmt_bold = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'" 511 | exe "let s:fmt_bldi = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'" 512 | exe "let s:fmt_undr = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'" 513 | exe "let s:fmt_undb = ' ".s:vmode."=NONE".s:u.s:b. " term=NONE".s:u.s:b."'" 514 | exe "let s:fmt_undi = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'" 515 | exe "let s:fmt_uopt = ' ".s:vmode."=NONE".s:ou. " term=NONE".s:ou."'" 516 | exe "let s:fmt_curl = ' ".s:vmode."=NONE".s:c. " term=NONE".s:c."'" 517 | exe "let s:fmt_ital = ' ".s:vmode."=NONE". " term=NONE". "'" 518 | exe "let s:fmt_revr = ' ".s:vmode."=NONE".s:r. " term=NONE".s:r."'" 519 | exe "let s:fmt_stnd = ' ".s:vmode."=NONE".s:s. " term=NONE".s:s."'" 520 | 521 | if has("gui_running") 522 | exe "let s:sp_none = ' guisp=".s:none ."'" 523 | exe "let s:sp_back = ' guisp=".s:back ."'" 524 | exe "let s:sp_base03 = ' guisp=".s:base03 ."'" 525 | exe "let s:sp_base02 = ' guisp=".s:base02 ."'" 526 | exe "let s:sp_base01 = ' guisp=".s:base01 ."'" 527 | exe "let s:sp_base00 = ' guisp=".s:base00 ."'" 528 | exe "let s:sp_base0 = ' guisp=".s:base0 ."'" 529 | exe "let s:sp_base1 = ' guisp=".s:base1 ."'" 530 | exe "let s:sp_base2 = ' guisp=".s:base2 ."'" 531 | exe "let s:sp_base3 = ' guisp=".s:base3 ."'" 532 | exe "let s:sp_green = ' guisp=".s:green ."'" 533 | exe "let s:sp_yellow = ' guisp=".s:yellow ."'" 534 | exe "let s:sp_orange = ' guisp=".s:orange ."'" 535 | exe "let s:sp_red = ' guisp=".s:red ."'" 536 | exe "let s:sp_magenta = ' guisp=".s:magenta."'" 537 | exe "let s:sp_violet = ' guisp=".s:violet ."'" 538 | exe "let s:sp_blue = ' guisp=".s:blue ."'" 539 | exe "let s:sp_cyan = ' guisp=".s:cyan ."'" 540 | else 541 | let s:sp_none = "" 542 | let s:sp_back = "" 543 | let s:sp_base03 = "" 544 | let s:sp_base02 = "" 545 | let s:sp_base01 = "" 546 | let s:sp_base00 = "" 547 | let s:sp_base0 = "" 548 | let s:sp_base1 = "" 549 | let s:sp_base2 = "" 550 | let s:sp_base3 = "" 551 | let s:sp_green = "" 552 | let s:sp_yellow = "" 553 | let s:sp_orange = "" 554 | let s:sp_red = "" 555 | let s:sp_magenta = "" 556 | let s:sp_violet = "" 557 | let s:sp_blue = "" 558 | let s:sp_cyan = "" 559 | endif 560 | 561 | "}}} 562 | " Basic highlighting"{{{ 563 | " --------------------------------------------------------------------- 564 | " note that link syntax to avoid duplicate configuration doesn't work with the 565 | " exe compiled formats 566 | 567 | exe "hi! Normal" .s:fmt_none .s:fg_base0 .s:bg_back 568 | 569 | exe "hi! Comment" .s:fmt_ital .s:fg_base01 .s:bg_none 570 | " *Comment any comment 571 | 572 | exe "hi! Constant" .s:fmt_none .s:fg_cyan .s:bg_none 573 | " *Constant any constant 574 | " String a string constant: "this is a string" 575 | " Character a character constant: 'c', '\n' 576 | " Number a number constant: 234, 0xff 577 | " Boolean a boolean constant: TRUE, false 578 | " Float a floating point constant: 2.3e10 579 | 580 | exe "hi! Identifier" .s:fmt_none .s:fg_blue .s:bg_none 581 | " *Identifier any variable name 582 | " Function function name (also: methods for classes) 583 | " 584 | exe "hi! Statement" .s:fmt_none .s:fg_green .s:bg_none 585 | " *Statement any statement 586 | " Conditional if, then, else, endif, switch, etc. 587 | " Repeat for, do, while, etc. 588 | " Label case, default, etc. 589 | " Operator "sizeof", "+", "*", etc. 590 | " Keyword any other keyword 591 | " Exception try, catch, throw 592 | 593 | exe "hi! PreProc" .s:fmt_none .s:fg_orange .s:bg_none 594 | " *PreProc generic Preprocessor 595 | " Include preprocessor #include 596 | " Define preprocessor #define 597 | " Macro same as Define 598 | " PreCondit preprocessor #if, #else, #endif, etc. 599 | 600 | exe "hi! Type" .s:fmt_none .s:fg_yellow .s:bg_none 601 | " *Type int, long, char, etc. 602 | " StorageClass static, register, volatile, etc. 603 | " Structure struct, union, enum, etc. 604 | " Typedef A typedef 605 | 606 | exe "hi! Special" .s:fmt_none .s:fg_red .s:bg_none 607 | " *Special any special symbol 608 | " SpecialChar special character in a constant 609 | " Tag you can use CTRL-] on this 610 | " Delimiter character that needs attention 611 | " SpecialComment special things inside a comment 612 | " Debug debugging statements 613 | 614 | exe "hi! Underlined" .s:fmt_none .s:fg_violet .s:bg_none 615 | " *Underlined text that stands out, HTML links 616 | 617 | exe "hi! Ignore" .s:fmt_none .s:fg_none .s:bg_none 618 | " *Ignore left blank, hidden |hl-Ignore| 619 | 620 | exe "hi! Error" .s:fmt_bold .s:fg_red .s:bg_none 621 | " *Error any erroneous construct 622 | 623 | exe "hi! Todo" .s:fmt_bold .s:fg_magenta.s:bg_none 624 | " *Todo anything that needs extra attention; mostly the 625 | " keywords TODO FIXME and XXX 626 | " 627 | "}}} 628 | " Extended highlighting "{{{ 629 | " --------------------------------------------------------------------- 630 | if (g:solarized_visibility=="high") 631 | exe "hi! SpecialKey" .s:fmt_revr .s:fg_red .s:bg_none 632 | exe "hi! NonText" .s:fmt_bold .s:fg_base1 .s:bg_none 633 | elseif (g:solarized_visibility=="low") 634 | exe "hi! SpecialKey" .s:fmt_bold .s:fg_base02 .s:bg_none 635 | exe "hi! NonText" .s:fmt_bold .s:fg_base02 .s:bg_none 636 | else 637 | exe "hi! SpecialKey" .s:fmt_bold .s:fg_red .s:bg_none 638 | exe "hi! NonText" .s:fmt_bold .s:fg_base01 .s:bg_none 639 | endif 640 | if (has("gui_running")) || &t_Co > 8 641 | exe "hi! StatusLine" .s:fmt_none .s:fg_base02 .s:bg_base1 642 | exe "hi! StatusLineNC" .s:fmt_none .s:fg_base02 .s:bg_base00 643 | "exe "hi! Visual" .s:fmt_stnd .s:fg_none .s:bg_base02 644 | exe "hi! Visual" .s:fmt_none .s:fg_base03 .s:bg_base01 645 | else 646 | exe "hi! StatusLine" .s:fmt_none .s:fg_base02 .s:bg_base2 647 | exe "hi! StatusLineNC" .s:fmt_none .s:fg_base02 .s:bg_base2 648 | exe "hi! Visual" .s:fmt_none .s:fg_none .s:bg_base2 649 | endif 650 | exe "hi! Directory" .s:fmt_none .s:fg_blue .s:bg_none 651 | exe "hi! ErrorMsg" .s:fmt_revr .s:fg_red .s:bg_none 652 | exe "hi! IncSearch" .s:fmt_stnd .s:fg_orange .s:bg_none 653 | exe "hi! Search" .s:fmt_revr .s:fg_yellow .s:bg_none 654 | exe "hi! MoreMsg" .s:fmt_none .s:fg_blue .s:bg_none 655 | exe "hi! ModeMsg" .s:fmt_none .s:fg_blue .s:bg_none 656 | exe "hi! LineNr" .s:fmt_none .s:fg_base01 .s:bg_base02 657 | exe "hi! Question" .s:fmt_bold .s:fg_cyan .s:bg_none 658 | exe "hi! VertSplit" .s:fmt_bold .s:fg_base00 .s:bg_base00 659 | exe "hi! Title" .s:fmt_bold .s:fg_orange .s:bg_none 660 | exe "hi! VisualNOS" .s:fmt_stnd .s:fg_none .s:bg_base02 661 | exe "hi! WarningMsg" .s:fmt_bold .s:fg_red .s:bg_none 662 | exe "hi! WildMenu" .s:fmt_none .s:fg_base2 .s:bg_base02 663 | exe "hi! Folded" .s:fmt_undb .s:fg_base0 .s:bg_base02 .s:sp_base03 664 | exe "hi! FoldColumn" .s:fmt_bold .s:fg_base0 .s:bg_base02 665 | exe "hi! DiffAdd" .s:fmt_revr .s:fg_green .s:bg_none 666 | exe "hi! DiffChange" .s:fmt_revr .s:fg_yellow .s:bg_none 667 | exe "hi! DiffDelete" .s:fmt_revr .s:fg_red .s:bg_none 668 | exe "hi! DiffText" .s:fmt_revr .s:fg_blue .s:bg_none 669 | exe "hi! SignColumn" .s:fmt_none .s:fg_base0 .s:bg_base02 670 | exe "hi! Conceal" .s:fmt_none .s:fg_blue .s:bg_none 671 | exe "hi! SpellBad" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_red 672 | exe "hi! SpellCap" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_violet 673 | exe "hi! SpellRare" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_cyan 674 | exe "hi! SpellLocal" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_yellow 675 | exe "hi! Pmenu" .s:fmt_none .s:fg_base0 .s:bg_base02 676 | exe "hi! PmenuSel" .s:fmt_none .s:fg_base2 .s:bg_base01 677 | exe "hi! PmenuSbar" .s:fmt_none .s:fg_base0 .s:bg_base2 678 | exe "hi! PmenuThumb" .s:fmt_none .s:fg_base03 .s:bg_base0 679 | exe "hi! TabLine" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0 680 | exe "hi! TabLineSel" .s:fmt_undr .s:fg_base2 .s:bg_base01 .s:sp_base0 681 | exe "hi! TabLineFill" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0 682 | exe "hi! CursorColumn" .s:fmt_none .s:fg_none .s:bg_base02 683 | exe "hi! CursorLine" .s:fmt_uopt .s:fg_none .s:bg_base02 .s:sp_base1 684 | exe "hi! ColorColumn" .s:fmt_none .s:fg_none .s:bg_base02 685 | exe "hi! Cursor" .s:fmt_none .s:fg_base03 .s:bg_base0 686 | hi! link lCursor Cursor 687 | exe "hi! MatchParen" .s:fmt_bold .s:fg_red .s:bg_base01 688 | 689 | "}}} 690 | " vim syntax highlighting "{{{ 691 | " --------------------------------------------------------------------- 692 | exe "hi! vimLineComment" . s:fg_base01 .s:bg_none .s:fmt_ital 693 | exe "hi! vimCommentString".s:fg_violet .s:bg_none .s:fmt_none 694 | hi! link vimVar Identifier 695 | hi! link vimFunc Function 696 | hi! link vimUserFunc Function 697 | exe "hi! vimCommand" . s:fg_yellow .s:bg_none .s:fmt_none 698 | exe "hi! vimCmdSep" . s:fg_blue .s:bg_none .s:fmt_bold 699 | exe "hi! helpExample" . s:fg_base1 .s:bg_none .s:fmt_none 700 | hi! link helpSpecial Special 701 | exe "hi! helpOption" . s:fg_cyan .s:bg_none .s:fmt_none 702 | exe "hi! helpNote" . s:fg_magenta.s:bg_none .s:fmt_none 703 | exe "hi! helpVim" . s:fg_magenta.s:bg_none .s:fmt_none 704 | exe "hi! helpHyperTextJump" .s:fg_blue .s:bg_none .s:fmt_undr 705 | exe "hi! helpHyperTextEntry".s:fg_green .s:bg_none .s:fmt_none 706 | exe "hi! vimIsCommand" . s:fg_base00 .s:bg_none .s:fmt_none 707 | exe "hi! vimSynMtchOpt" . s:fg_yellow .s:bg_none .s:fmt_none 708 | exe "hi! vimSynType" . s:fg_cyan .s:bg_none .s:fmt_none 709 | exe "hi! vimHiLink" . s:fg_blue .s:bg_none .s:fmt_none 710 | exe "hi! vimHiGroup" . s:fg_blue .s:bg_none .s:fmt_none 711 | exe "hi! vimGroup" . s:fg_blue .s:bg_none .s:fmt_undb 712 | "}}} 713 | " html highlighting "{{{ 714 | " --------------------------------------------------------------------- 715 | exe "hi! htmlTag" . s:fg_base01 .s:bg_none .s:fmt_none 716 | exe "hi! htmlEndTag" . s:fg_base01 .s:bg_none .s:fmt_none 717 | exe "hi! htmlTagN" . s:fg_base1 .s:bg_none .s:fmt_bold 718 | exe "hi! htmlTagName" . s:fg_blue .s:bg_none .s:fmt_bold 719 | exe "hi! htmlSpecialTagName". s:fg_blue .s:bg_none .s:fmt_ital 720 | exe "hi! htmlArg" . s:fg_base00 .s:bg_none .s:fmt_none 721 | exe "hi! javaScript" . s:fg_yellow .s:bg_none .s:fmt_none 722 | "}}} 723 | " perl highlighting "{{{ 724 | " --------------------------------------------------------------------- 725 | exe "hi! perlHereDoc" . s:fg_base1 .s:bg_back .s:fmt_none 726 | exe "hi! perlVarPlain" . s:fg_yellow .s:bg_back .s:fmt_none 727 | exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none 728 | 729 | "}}} 730 | " tex highlighting "{{{ 731 | " --------------------------------------------------------------------- 732 | exe "hi! texStatement" . s:fg_cyan .s:bg_back .s:fmt_none 733 | exe "hi! texMathZoneX" . s:fg_yellow .s:bg_back .s:fmt_none 734 | exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none 735 | exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none 736 | exe "hi! texRefLabel" . s:fg_yellow .s:bg_back .s:fmt_none 737 | "}}} 738 | " ruby highlighting "{{{ 739 | " --------------------------------------------------------------------- 740 | exe "hi! rubyDefine" . s:fg_base1 .s:bg_back .s:fmt_bold 741 | "rubyInclude 742 | "rubySharpBang 743 | "rubyAccess 744 | "rubyPredefinedVariable 745 | "rubyBoolean 746 | "rubyClassVariable 747 | "rubyBeginEnd 748 | "rubyRepeatModifier 749 | "hi! link rubyArrayDelimiter Special " [ , , ] 750 | "rubyCurlyBlock { , , } 751 | 752 | "hi! link rubyClass Keyword 753 | "hi! link rubyModule Keyword 754 | "hi! link rubyKeyword Keyword 755 | "hi! link rubyOperator Operator 756 | "hi! link rubyIdentifier Identifier 757 | "hi! link rubyInstanceVariable Identifier 758 | "hi! link rubyGlobalVariable Identifier 759 | "hi! link rubyClassVariable Identifier 760 | "hi! link rubyConstant Type 761 | "}}} 762 | " haskell syntax highlighting"{{{ 763 | " --------------------------------------------------------------------- 764 | " For use with syntax/haskell.vim : Haskell Syntax File 765 | " http://www.vim.org/scripts/script.php?script_id=3034 766 | " See also Steffen Siering's github repository: 767 | " http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim 768 | " --------------------------------------------------------------------- 769 | " 770 | " Treat True and False specially, see the plugin referenced above 771 | let hs_highlight_boolean=1 772 | " highlight delims, see the plugin referenced above 773 | let hs_highlight_delimiters=1 774 | 775 | exe "hi! cPreCondit". s:fg_orange.s:bg_none .s:fmt_none 776 | 777 | exe "hi! VarId" . s:fg_blue .s:bg_none .s:fmt_none 778 | exe "hi! ConId" . s:fg_yellow .s:bg_none .s:fmt_none 779 | exe "hi! hsImport" . s:fg_magenta.s:bg_none .s:fmt_none 780 | exe "hi! hsString" . s:fg_base00 .s:bg_none .s:fmt_none 781 | 782 | exe "hi! hsStructure" . s:fg_cyan .s:bg_none .s:fmt_none 783 | exe "hi! hs_hlFunctionName" . s:fg_blue .s:bg_none 784 | exe "hi! hsStatement" . s:fg_cyan .s:bg_none .s:fmt_none 785 | exe "hi! hsImportLabel" . s:fg_cyan .s:bg_none .s:fmt_none 786 | exe "hi! hs_OpFunctionName" . s:fg_yellow .s:bg_none .s:fmt_none 787 | exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none .s:fmt_none 788 | exe "hi! hsVarSym" . s:fg_cyan .s:bg_none .s:fmt_none 789 | exe "hi! hsType" . s:fg_yellow .s:bg_none .s:fmt_none 790 | exe "hi! hsTypedef" . s:fg_cyan .s:bg_none .s:fmt_none 791 | exe "hi! hsModuleName" . s:fg_green .s:bg_none .s:fmt_undr 792 | exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none .s:fmt_none 793 | hi! link hsImportParams Delimiter 794 | hi! link hsDelimTypeExport Delimiter 795 | hi! link hsModuleStartLabel hsStructure 796 | hi! link hsModuleWhereLabel hsModuleStartLabel 797 | 798 | " following is for the haskell-conceal plugin 799 | " the first two items don't have an impact, but better safe 800 | exe "hi! hsNiceOperator" . s:fg_cyan .s:bg_none .s:fmt_none 801 | exe "hi! hsniceoperator" . s:fg_cyan .s:bg_none .s:fmt_none 802 | 803 | "}}} 804 | " pandoc markdown syntax highlighting "{{{ 805 | " --------------------------------------------------------------------- 806 | 807 | "PandocHiLink pandocNormalBlock 808 | exe "hi! pandocTitleBlock" .s:fg_blue .s:bg_none .s:fmt_none 809 | exe "hi! pandocTitleBlockTitle" .s:fg_blue .s:bg_none .s:fmt_bold 810 | exe "hi! pandocTitleComment" .s:fg_blue .s:bg_none .s:fmt_bold 811 | exe "hi! pandocComment" .s:fg_base01 .s:bg_none .s:fmt_ital 812 | exe "hi! pandocVerbatimBlock" .s:fg_yellow .s:bg_none .s:fmt_none 813 | hi! link pandocVerbatimBlockDeep pandocVerbatimBlock 814 | hi! link pandocCodeBlock pandocVerbatimBlock 815 | hi! link pandocCodeBlockDelim pandocVerbatimBlock 816 | exe "hi! pandocBlockQuote" .s:fg_blue .s:bg_none .s:fmt_none 817 | exe "hi! pandocBlockQuoteLeader1" .s:fg_blue .s:bg_none .s:fmt_none 818 | exe "hi! pandocBlockQuoteLeader2" .s:fg_cyan .s:bg_none .s:fmt_none 819 | exe "hi! pandocBlockQuoteLeader3" .s:fg_yellow .s:bg_none .s:fmt_none 820 | exe "hi! pandocBlockQuoteLeader4" .s:fg_red .s:bg_none .s:fmt_none 821 | exe "hi! pandocBlockQuoteLeader5" .s:fg_base0 .s:bg_none .s:fmt_none 822 | exe "hi! pandocBlockQuoteLeader6" .s:fg_base01 .s:bg_none .s:fmt_none 823 | exe "hi! pandocListMarker" .s:fg_magenta.s:bg_none .s:fmt_none 824 | exe "hi! pandocListReference" .s:fg_magenta.s:bg_none .s:fmt_undr 825 | 826 | " Definitions 827 | " --------------------------------------------------------------------- 828 | let s:fg_pdef = s:fg_violet 829 | exe "hi! pandocDefinitionBlock" .s:fg_pdef .s:bg_none .s:fmt_none 830 | exe "hi! pandocDefinitionTerm" .s:fg_pdef .s:bg_none .s:fmt_stnd 831 | exe "hi! pandocDefinitionIndctr" .s:fg_pdef .s:bg_none .s:fmt_bold 832 | exe "hi! pandocEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_ital 833 | exe "hi! pandocEmphasisNestedDefinition" .s:fg_pdef .s:bg_none .s:fmt_bldi 834 | exe "hi! pandocStrongEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_bold 835 | exe "hi! pandocStrongEmphasisNestedDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi 836 | exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi 837 | exe "hi! pandocStrikeoutDefinition" .s:fg_pdef .s:bg_none .s:fmt_revr 838 | exe "hi! pandocVerbatimInlineDefinition" .s:fg_pdef .s:bg_none .s:fmt_none 839 | exe "hi! pandocSuperscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none 840 | exe "hi! pandocSubscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none 841 | 842 | " Tables 843 | " --------------------------------------------------------------------- 844 | let s:fg_ptable = s:fg_blue 845 | exe "hi! pandocTable" .s:fg_ptable.s:bg_none .s:fmt_none 846 | exe "hi! pandocTableStructure" .s:fg_ptable.s:bg_none .s:fmt_none 847 | hi! link pandocTableStructureTop pandocTableStructre 848 | hi! link pandocTableStructureEnd pandocTableStructre 849 | exe "hi! pandocTableZebraLight" .s:fg_ptable.s:bg_base03.s:fmt_none 850 | exe "hi! pandocTableZebraDark" .s:fg_ptable.s:bg_base02.s:fmt_none 851 | exe "hi! pandocEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_ital 852 | exe "hi! pandocEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi 853 | exe "hi! pandocStrongEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bold 854 | exe "hi! pandocStrongEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi 855 | exe "hi! pandocStrongEmphasisEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bldi 856 | exe "hi! pandocStrikeoutTable" .s:fg_ptable.s:bg_none .s:fmt_revr 857 | exe "hi! pandocVerbatimInlineTable" .s:fg_ptable.s:bg_none .s:fmt_none 858 | exe "hi! pandocSuperscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none 859 | exe "hi! pandocSubscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none 860 | 861 | " Headings 862 | " --------------------------------------------------------------------- 863 | let s:fg_phead = s:fg_orange 864 | exe "hi! pandocHeading" .s:fg_phead .s:bg_none.s:fmt_bold 865 | exe "hi! pandocHeadingMarker" .s:fg_yellow.s:bg_none.s:fmt_bold 866 | exe "hi! pandocEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bldi 867 | exe "hi! pandocEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi 868 | exe "hi! pandocStrongEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bold 869 | exe "hi! pandocStrongEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi 870 | exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi 871 | exe "hi! pandocStrikeoutHeading" .s:fg_phead .s:bg_none.s:fmt_revr 872 | exe "hi! pandocVerbatimInlineHeading" .s:fg_phead .s:bg_none.s:fmt_bold 873 | exe "hi! pandocSuperscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold 874 | exe "hi! pandocSubscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold 875 | 876 | " Links 877 | " --------------------------------------------------------------------- 878 | exe "hi! pandocLinkDelim" .s:fg_base01 .s:bg_none .s:fmt_none 879 | exe "hi! pandocLinkLabel" .s:fg_blue .s:bg_none .s:fmt_undr 880 | exe "hi! pandocLinkText" .s:fg_blue .s:bg_none .s:fmt_undb 881 | exe "hi! pandocLinkURL" .s:fg_base00 .s:bg_none .s:fmt_undr 882 | exe "hi! pandocLinkTitle" .s:fg_base00 .s:bg_none .s:fmt_undi 883 | exe "hi! pandocLinkTitleDelim" .s:fg_base01 .s:bg_none .s:fmt_undi .s:sp_base00 884 | exe "hi! pandocLinkDefinition" .s:fg_cyan .s:bg_none .s:fmt_undr .s:sp_base00 885 | exe "hi! pandocLinkDefinitionID" .s:fg_blue .s:bg_none .s:fmt_bold 886 | exe "hi! pandocImageCaption" .s:fg_violet .s:bg_none .s:fmt_undb 887 | exe "hi! pandocFootnoteLink" .s:fg_green .s:bg_none .s:fmt_undr 888 | exe "hi! pandocFootnoteDefLink" .s:fg_green .s:bg_none .s:fmt_bold 889 | exe "hi! pandocFootnoteInline" .s:fg_green .s:bg_none .s:fmt_undb 890 | exe "hi! pandocFootnote" .s:fg_green .s:bg_none .s:fmt_none 891 | exe "hi! pandocCitationDelim" .s:fg_magenta.s:bg_none .s:fmt_none 892 | exe "hi! pandocCitation" .s:fg_magenta.s:bg_none .s:fmt_none 893 | exe "hi! pandocCitationID" .s:fg_magenta.s:bg_none .s:fmt_undr 894 | exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none 895 | 896 | " Main Styles 897 | " --------------------------------------------------------------------- 898 | exe "hi! pandocStyleDelim" .s:fg_base01 .s:bg_none .s:fmt_none 899 | exe "hi! pandocEmphasis" .s:fg_base0 .s:bg_none .s:fmt_ital 900 | exe "hi! pandocEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi 901 | exe "hi! pandocStrongEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bold 902 | exe "hi! pandocStrongEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi 903 | exe "hi! pandocStrongEmphasisEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bldi 904 | exe "hi! pandocStrikeout" .s:fg_base01 .s:bg_none .s:fmt_revr 905 | exe "hi! pandocVerbatimInline" .s:fg_yellow .s:bg_none .s:fmt_none 906 | exe "hi! pandocSuperscript" .s:fg_violet .s:bg_none .s:fmt_none 907 | exe "hi! pandocSubscript" .s:fg_violet .s:bg_none .s:fmt_none 908 | 909 | exe "hi! pandocRule" .s:fg_blue .s:bg_none .s:fmt_bold 910 | exe "hi! pandocRuleLine" .s:fg_blue .s:bg_none .s:fmt_bold 911 | exe "hi! pandocEscapePair" .s:fg_red .s:bg_none .s:fmt_bold 912 | exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none 913 | exe "hi! pandocNonBreakingSpace" . s:fg_red .s:bg_none .s:fmt_revr 914 | hi! link pandocEscapedCharacter pandocEscapePair 915 | hi! link pandocLineBreak pandocEscapePair 916 | 917 | " Embedded Code 918 | " --------------------------------------------------------------------- 919 | exe "hi! pandocMetadataDelim" .s:fg_base01 .s:bg_none .s:fmt_none 920 | exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_none 921 | exe "hi! pandocMetadataKey" .s:fg_blue .s:bg_none .s:fmt_none 922 | exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_bold 923 | hi! link pandocMetadataTitle pandocMetadata 924 | 925 | "}}} 926 | " Utility autocommand "{{{ 927 | " --------------------------------------------------------------------- 928 | " In cases where Solarized is initialized inside a terminal vim session and 929 | " then transferred to a gui session via the command `:gui`, the gui vim process 930 | " does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui` 931 | " related code that sets gui specific values isn't executed. 932 | " 933 | " Currently, Solarized sets only the cterm or gui values for the colorscheme 934 | " depending on gui or terminal mode. It's possible that, if the following 935 | " autocommand method is deemed excessively poor form, that approach will be 936 | " used again and the autocommand below will be dropped. 937 | " 938 | " However it seems relatively benign in this case to include the autocommand 939 | " here. It fires only in cases where vim is transferring from terminal to gui 940 | " mode (detected with the script scope s:vmode variable). It also allows for 941 | " other potential terminal customizations that might make gui mode suboptimal. 942 | " 943 | autocmd GUIEnter * if (s:vmode != "gui") | exe "colorscheme " . g:colors_name | endif 944 | "}}} 945 | " License "{{{ 946 | " --------------------------------------------------------------------- 947 | " 948 | " Copyright (c) 2011 Ethan Schoonover 949 | " 950 | " Permission is hereby granted, free of charge, to any person obtaining a copy 951 | " of this software and associated documentation files (the "Software"), to deal 952 | " in the Software without restriction, including without limitation the rights 953 | " to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 954 | " copies of the Software, and to permit persons to whom the Software is 955 | " furnished to do so, subject to the following conditions: 956 | " 957 | " The above copyright notice and this permission notice shall be included in 958 | " all copies or substantial portions of the Software. 959 | " 960 | " THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 961 | " IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 962 | " FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 963 | " AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 964 | " LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 965 | " OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 966 | " THE SOFTWARE. 967 | " 968 | " vim:foldmethod=marker:foldlevel=0 969 | "}}} 970 | -------------------------------------------------------------------------------- /colors/tender.vim: -------------------------------------------------------------------------------- 1 | " 2 | " tender v0.3.4 3 | " A tender color scheme for vim and its plugins 4 | " author: Jacobo Tabernero http://jacoborus.codes 5 | " license: MIT 6 | " background: dark 7 | " 8 | " This file was generated by Estilo 9 | " https://github.com/jacoborus/estilo 10 | 11 | let g:colors_name="tender" 12 | hi clear 13 | if exists("syntax_on") 14 | syntax reset 15 | endif 16 | if has("gui_running") 17 | set background=dark 18 | endif 19 | 20 | hi ColorColumn guifg=NONE ctermfg=NONE guibg=#323232 ctermbg=236 gui=NONE cterm=NONE 21 | hi link CursorColumn CursorLine 22 | hi CursorLine guifg=NONE ctermfg=NONE guibg=#323232 ctermbg=236 gui=NONE cterm=NONE 23 | hi CursorLineNr guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 24 | hi Directory guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 25 | hi DiffAdd guifg=#eeeeee ctermfg=255 guibg=#818f21 ctermbg=100 gui=NONE cterm=NONE 26 | hi DiffChange guifg=#eeeeee ctermfg=255 guibg=#66afce ctermbg=74 gui=NONE cterm=NONE 27 | hi DiffDelete guifg=#282828 ctermfg=235 guibg=#f43753 ctermbg=203 gui=NONE cterm=NONE 28 | hi DiffText guifg=#66afce ctermfg=74 guibg=#eeeeee ctermbg=255 gui=bold cterm=bold 29 | hi ErrorMsg guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=reverse cterm=reverse 30 | hi VertSplit guifg=#282828 ctermfg=235 guibg=#282828 ctermbg=235 gui=NONE cterm=NONE 31 | hi Folded guifg=#666666 ctermfg=242 guibg=#1d1d1d ctermbg=234 gui=NONE cterm=NONE 32 | hi FoldColumn guifg=#666666 ctermfg=242 guibg=#1d1d1d ctermbg=234 gui=NONE cterm=NONE 33 | hi IncSearch guifg=#282828 ctermfg=235 guibg=#e9edb2 ctermbg=193 gui=NONE cterm=NONE 34 | hi LineNr guifg=#444444 ctermfg=238 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 35 | hi MatchParen guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=bold cterm=bold 36 | hi NonText guifg=#444444 ctermfg=238 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 37 | hi Normal guifg=#eeeeee ctermfg=255 guibg=#282828 ctermbg=235 gui=NONE cterm=NONE 38 | hi PMenu guifg=#282828 ctermfg=235 guibg=#66afce ctermbg=74 gui=NONE cterm=NONE 39 | hi PMenuSel guifg=#282828 ctermfg=235 guibg=#b8c468 ctermbg=149 gui=NONE cterm=NONE 40 | hi PmenuSbar guifg=#d1b580 ctermfg=180 guibg=#d1b580 ctermbg=180 gui=NONE cterm=NONE 41 | hi PmenuThumb guifg=#f9b943 ctermfg=215 guibg=#f9b943 ctermbg=215 gui=NONE cterm=NONE 42 | hi Question guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 43 | hi Search guifg=#e9edb2 ctermfg=193 guibg=NONE ctermbg=NONE gui=underline cterm=underline 44 | hi SpecialKey guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 45 | hi SpellBad guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 46 | hi SpellLocal guifg=#d1b580 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 47 | hi SpellCap guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 48 | hi SpellRare guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 49 | hi StatusLine guifg=#282828 ctermfg=235 guibg=#66afce ctermbg=74 gui=bold cterm=bold 50 | hi StatusLineNC guifg=#282828 ctermfg=235 guibg=#666666 ctermbg=242 gui=bold cterm=bold 51 | hi TabLine guifg=#999999 ctermfg=246 guibg=#444444 ctermbg=238 gui=NONE cterm=NONE 52 | hi TabLineFill guifg=NONE ctermfg=NONE guibg=#444444 ctermbg=238 gui=NONE cterm=NONE 53 | hi TabLineSel guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=bold cterm=bold 54 | hi Title guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=bold cterm=bold 55 | hi Visual guifg=NONE ctermfg=NONE guibg=#0b0b0b ctermbg=232 gui=NONE cterm=NONE 56 | hi WarningMsg guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 57 | hi WildMenu guifg=#282828 ctermfg=235 guibg=#b8c468 ctermbg=149 gui=bold cterm=bold 58 | hi Comment guifg=#666666 ctermfg=242 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 59 | hi Constant guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 60 | hi String guifg=#d1b580 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 61 | hi Character guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 62 | hi Boolean guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 63 | hi Number guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 64 | hi Float guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 65 | hi Identifier guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 66 | hi Function guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 67 | hi Statement guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 68 | hi Conditional guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 69 | hi Operator guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 70 | hi Exception guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 71 | hi PreProc guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 72 | hi Type guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 73 | hi Special guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 74 | hi Error guifg=#eeeeee ctermfg=255 guibg=#f43753 ctermbg=203 gui=NONE cterm=NONE 75 | hi Todo guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=bold cterm=bold 76 | hi cssVendor guifg=#818f21 ctermfg=100 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 77 | hi cssTagName guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 78 | hi cssAttrComma guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 79 | hi cssBackgroundProp guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 80 | hi cssBorderProp guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 81 | hi cssBoxProp guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 82 | hi cssDimensionProp guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 83 | hi cssFontProp guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 84 | hi cssTextProp guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 85 | hi cssValueLength guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 86 | hi cssValueInteger guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 87 | hi cssValueNumber guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 88 | hi cssIdentifier guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 89 | hi cssIncludeKeyword guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 90 | hi cssImportant guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 91 | hi cssClassName guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 92 | hi cssClassNameDot guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 93 | hi cssProp guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 94 | hi cssAttr guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 95 | hi cssUnitDecorators guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 96 | hi cssNoise guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 97 | hi gitcommitBranch guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 98 | hi gitcommitDiscardedType guifg=#c12038 ctermfg=125 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 99 | hi gitcommitSelectedType guifg=#818f21 ctermfg=100 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 100 | hi gitcommitHeader guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 101 | hi gitcommitUntrackedFile guifg=#c12038 ctermfg=125 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 102 | hi gitcommitDiscardedFile guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 103 | hi gitcommitSelectedFile guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 104 | hi helpHeadline guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 105 | hi helpNote guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 106 | hi javaScriptOperator guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 107 | hi javaScriptBraces guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 108 | hi jsonEscape guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 109 | hi jsonNumber guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 110 | hi jsonBraces guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 111 | hi jsonBoolean guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 112 | hi jsonKeywordMatch guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 113 | hi jsonQuote guifg=#eeeeee ctermfg=255 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 114 | hi jsonNoise guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 115 | hi markdownH1 guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 116 | hi markdownHeadingRule guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 117 | hi markdownHeadingDelimiter guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 118 | hi markdownListMarker guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 119 | hi markdownBlockquote guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 120 | hi markdownRule guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 121 | hi markdownLinkText guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 122 | hi markdownLinkTextDelimiter guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 123 | hi markdownLinkDelimiter guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 124 | hi markdownIdDeclaration guifg=#818f21 ctermfg=100 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 125 | hi markdownAutomaticLink guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 126 | hi markdownUrl guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 127 | hi markdownUrlTitle guifg=#d1b580 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 128 | hi markdownUrlDelimiter guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 129 | hi markdownUrlTitleDelimiter guifg=#9b7425 ctermfg=3 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 130 | hi markdownCodeDelimiter guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 131 | hi markdownCode guifg=#d1b580 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 132 | hi markdownEscape guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 133 | hi markdownError guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 134 | hi vimCommentTitle guifg=#818f21 ctermfg=100 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 135 | hi vimError guifg=#eeeeee ctermfg=255 guibg=#f43753 ctermbg=203 gui=NONE cterm=NONE 136 | hi yamlFlowString guifg=#d1b580 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 137 | hi yamlFlowStringDelimiter guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 138 | hi yamlKeyValueDelimiter guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 139 | hi FugitiveblameHash guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 140 | hi FugitiveblameUncommitted guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 141 | hi FugitiveblameTime guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 142 | hi FugitiveblameNotCommittedYet guifg=#d1b580 ctermfg=180 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 143 | hi NERDTreeHelp guifg=#c9c9c9 ctermfg=251 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 144 | hi NERDTreeHelpKey guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 145 | hi NERDTreeHelpCommand guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 146 | hi NERDTreeHelpTitle guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 147 | hi NERDTreeUp guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 148 | hi NERDTreeCWD guifg=#66afce ctermfg=74 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 149 | hi NERDTreeOpenable guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 150 | hi NERDTreeClosable guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 151 | hi GitGutterAdd guifg=#b8c468 ctermfg=149 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 152 | hi GitGutterChange guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 153 | hi GitGutterDelete guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 154 | hi GitGutterChangeDelete guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 155 | hi javaScriptOpSymbols guifg=#f43753 ctermfg=203 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 156 | hi javaScriptParens guifg=#abd9ec ctermfg=153 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 157 | hi javaScriptFuncArg guifg=#f9b943 ctermfg=215 guibg=NONE ctermbg=NONE gui=NONE cterm=NONE 158 | -------------------------------------------------------------------------------- /fonts.scale: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /fonts/Droid Sans Mono Nerd Font Complete.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FLHonker/vim-plus-plus/552ef942d369c02a79516d5b469f7c760e9eea58/fonts/Droid Sans Mono Nerd Font Complete.otf -------------------------------------------------------------------------------- /fonts/Droid Sans Mono for Powerline.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FLHonker/vim-plus-plus/552ef942d369c02a79516d5b469f7c760e9eea58/fonts/Droid Sans Mono for Powerline.otf -------------------------------------------------------------------------------- /fonts/Noto Mono for Powerline.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FLHonker/vim-plus-plus/552ef942d369c02a79516d5b469f7c760e9eea58/fonts/Noto Mono for Powerline.ttf -------------------------------------------------------------------------------- /help.md: -------------------------------------------------------------------------------- 1 | 插件相关 2 | ------------ 3 | 4 | | 快捷键 | 说明 | 5 | | ------- | ----- | 6 | | `,` | Leader Key | 7 | | `n` | 打开/关闭代码资源管理器 | 8 | | `t` | 打开/关闭函数列表 | 9 | | `a` | .h .cpp 文件切换 | 10 | | `i` | 转到函数声明 | 11 | | `u` | 转到函数实现 | 12 | | `o` | 打开include文件 | 13 | | `y` | 拷贝函数声明 | 14 | | `p` | 生成函数定义 | 15 | | `w` | 单词跳转 | 16 | | `f` | 搜索~目录下的文件 | 17 | | `F` | 搜索当前目录下的文本 | 18 | | `g` | 显示git仓库提交记录 | 19 | | `G` | 显示当前文件提交记录 | 20 | | `gg` | 显示当前文件在某个commit下的完整内容 | 21 | | `ff` | 语法错误自动修复(FixIt) | 22 | | `` | 显示语法错误提示窗口 | 23 | | `` | 启用markdown实时预览 | 24 | | `` | 关闭markdown实时预览 i | 25 | | `` | 显示上一主题 | 26 | | `` | 显示下一主题 | 27 | | `l` | 按竖线对齐 | 28 | | `=` | 按等号对齐 | 29 | | `gcc` | 注释代码 | 30 | | `gcap` | 注释段落 | 31 | | `vif` | 选中函数内容 | 32 | | `dif` | 删除函数内容 | 33 | | `cif` | 改写函数内容 | 34 | | `vaf` | 选中函数内容(包括函数名 花括号) | 35 | | `daf` | 删除函数内容(包括函数名 花括号) | 36 | | `caf` | 改写函数内容(包括函数名 花括号) | 37 | | `+` | 逐渐增大选择区域 | 38 | | `-` | 逐渐减小选择区域 | 39 | | `` | 多光标编辑,ctrl+j选中当前单词,再按ctrl+j选中下一个同样的单词,选完后按c批量修改 | 40 | 41 | 42 | 插入模式 43 | ------------ 44 | 45 | | 快捷键 | 说明 | 46 | | ------- | ----- | 47 | | `i` | 在光标处进入插入模式 | 48 | | `I` | 在行首进入插入模式 | 49 | | `a` | 在光标后进入插入模式 | 50 | | `A` | 在行尾进入插入模式 | 51 | | `o` | 在下一行插入新行并进入插入模式 | 52 | | `O` | 在上一行插入新行并进入插入模式 | 53 | | `gi` | 进入到上一次插入模式的位置 | 54 | | `` | 退出插入模式 | 55 | 56 | 57 | 缓存操作 58 | ------------ 59 | 60 | | 快捷键 | 说明 | 61 | | ------- | ----- | 62 | | `:e ` | 新建buffer打开文件 | 63 | | `` | 切换到上一个buffer | 64 | | `` | 切换到下一个buffer | 65 | | `d` | 删除当前buffer | 66 | 67 | 68 | 窗口操作 69 | ------------ 70 | 71 | | 快捷键 | 说明 | 72 | | ------- | ----- | 73 | | `:sp ` | 横向切分窗口并打开文件 | 74 | | `:vsp ` | 竖向切分窗口并打开文件 | 75 | | `h` | 跳到左边的窗口 | 76 | | `j` | 跳到下边的窗口 | 77 | | `k` | 跳到上边的窗口 | 78 | | `l` | 跳到右边的窗口 | 79 | | `d` | 删除当前窗口 | 80 | 81 | 82 | 光标移动 83 | ------------ 84 | 85 | | 快捷键 | 说明 | 86 | | ------- | ----- | 87 | | `h` | 上下左右移动 | 88 | | `j` | 上下左右移动 | 89 | | `k` | 上下左右移动 | 90 | | `l` | 上下左右移动 | 91 | | `0` | 光标移动到行首 | 92 | | `^` | 跳到从行首开始第一个非空白字符 | 93 | | `$` | 光标移动到行尾 | 94 | | `` | 跳到上一个位置 | 95 | | `` | 跳到下一个位置 | 96 | | `` | 上一页 | 97 | | `` | 下一页 | 98 | | `` | 上移半屏 | 99 | | `` | 下移半屏 | 100 | | `H` | 调到屏幕顶上 | 101 | | `M` | 调到屏幕中间 | 102 | | `L` | 调到屏幕下方 | 103 | | `:n` | 跳到第n行 | 104 | | `w` | 跳到下一个单词开头(标点或空格分隔的单词) | 105 | | `W` | 跳到下一个单词开头(空格分隔的单词) | 106 | | `e` | 跳到下一个单词尾部(标点或空格分隔的单词) | 107 | | `E` | 跳到下一个单词尾部(空格分隔的单词) | 108 | | `b` | 上一个单词头(标点或空格分隔的单词) | 109 | | `B` | 上一个单词头(空格分隔的单词) | 110 | | `ge` | 上一个单词尾 | 111 | | `%` | 在配对符间移动, 可用于()、{}、[] | 112 | | `gg` | 到文件首 | 113 | | `G` | 到文件尾 | 114 | | `fx` | 跳转到下一个为x的字符 | 115 | | `Fx` | 跳转到上一个为x的字符 | 116 | | `tx` | 跳转到下一个为x的字符前 | 117 | | `Tx` | 跳转到上一个为x的字符前 | 118 | | `;` | 跳到下一个搜索的结果 | 119 | 120 | 121 | 文本编辑 122 | ------------ 123 | 124 | | 快捷键 | 说明 | 125 | | ------- | ----- | 126 | | `r` | 替换当前字符 | 127 | | `R` | 进入替换模式,直至 ESC 离开 | 128 | | `s` | 替换字符(删除光标处字符,并进入插入模式,前可接数量) | 129 | | `S` | 替换行(删除当前行,并进入插入模式,前可接数量) | 130 | | `cc` | 改写当前行(删除当前行并进入插入模式),同 S | 131 | | `cw` | 改写光标开始处的当前单词 | 132 | | `ciw` | 改写光标所处的单词 | 133 | | `caw` | 改写光标所处的单词,并且包括前后空格(如果有的话) | 134 | | `c0` | 改写到行首 | 135 | | `c^` | 改写到行首(第一个非零字符) | 136 | | `c$` | 改写到行末 | 137 | | `C` | 改写到行末(同 c$) | 138 | | `ci"` | 改写双引号中的内容 | 139 | | `ci'` | 改写单引号中的内容 | 140 | | `ci)` | 改写小括号中的内容 | 141 | | `ci]` | 改写中括号中内容 | 142 | | `ci}` | 改写大括号中内容 | 143 | | `cit` | 改写 xml tag 中的内容 | 144 | | `cis` | 改写当前句子 | 145 | | `c2w` | 改写下两个单词 | 146 | | `ct(` | 改写到小括号前 | 147 | | `x` | 删除当前字符,前面可以接数字,3x代表删除三个字符 | 148 | | `X` | 向前删除字符 | 149 | | `dd` | 删除当前行 | 150 | | `d0` | 删除到行首 | 151 | | `d^` | 删除到行首(第一个非零字符) | 152 | | `d$` | 删除到行末 | 153 | | `D` | 删除到行末(同 d$) | 154 | | `dw` | 删除当前单词 | 155 | | `diw` | 删除光标所处的单词 | 156 | | `daw` | 删除光标所处的单词,并包含前后空格(如果有的话) | 157 | | `di"` | 删除双引号中的内容 | 158 | | `di'` | 删除单引号中的内容 | 159 | | `di)` | 删除小括号中的内容 | 160 | | `di]` | 删除中括号中内容 | 161 | | `di}` | 删除大括号中内容 | 162 | | `dit` | 删除 xml tag 中的内容 | 163 | | `dis` | 删除当前句子 | 164 | | `d2w` | 删除下两个单词 | 165 | | `dt(` | 删除到小括号前 | 166 | | `dgg` | 删除到文件头部 | 167 | | `dG` | 删除到文件尾部 | 168 | | `d}` | 删除下一段 | 169 | | `d{` | 删除上一段 | 170 | | `u` | 撤销 | 171 | | `U` | 撤销整行操作 | 172 | | `CTRL-R` | 撤销上一次 u 命令 | 173 | | `J` | 链接多行为一行 | 174 | | `.` | 重复上一次操作 | 175 | | `~` | 替换大小写 | 176 | | `g~iw` | 替换当前单词的大小写 | 177 | | `gUiw` | 将单词转成大写 | 178 | | `guiw` | 将当前单词转成小写 | 179 | | `guu` | 全行转为小写 | 180 | | `gUU` | 全行转为大写 | 181 | | `gg=G` | 缩进代码 | 182 | | `<<` | 减少缩进 | 183 | | `>>` | 增加缩进 | 184 | | `==` | 自动缩进 | 185 | | `CTRL-A` | 增加数字 | 186 | | `CTRL-X` | 减少数字 | 187 | | `p` | 粘贴到光标后 | 188 | | `P` | 粘贴到光标前 | 189 | | `v` | 开始标记 | 190 | | `y` | 复制标记内容 | 191 | | `V` | 开始按行标记 | 192 | | `CTRL-V` | 开始列标记 | 193 | | `y$` | 复制当前位置到本行结束的内容 | 194 | | `yy` | 复制当前行 | 195 | | `Y` | 复制当前行,同 yy | 196 | | `yiw` | 复制当前单词 | 197 | | `3yy` | 复制光标下三行内容 | 198 | | `v0` | 选中当前位置到行首 | 199 | | `v$` | 选中当前位置到行末 | 200 | | `viw` | 选中当前单词 | 201 | | `vi)` | 选中小括号内的东西 | 202 | | `vi]` | 选中中括号内的东西 | 203 | | `vis` | 选中句子中的东西 | 204 | | `gv` | 重新选择上一次选中的文字 | 205 | | `:set paste` | 允许粘贴模式(避免粘贴时自动缩进影响格式) | 206 | | `:set nopaste` | 禁止粘贴模式 | 207 | | `"?yy` | 复制当前行到寄存器 ? ,问号代表 0-9 的寄存器名称 | 208 | | `"?p` | 将寄存器 ? 的内容粘贴到光标后 | 209 | | `"?P` | 将寄存器 ? 的内容粘贴到光标前 | 210 | | `:registers` | 显示所有寄存器内容 | 211 | | `:[range]y` | 复制范围,比如 :20,30y 是复制20到30行,:10y 是复制第十行 | 212 | | `:[range]d` | 删除范围,比如 :20,30d 是删除20到30行,:10d 是删除第十行 | 213 | | `ddp` | 交换两行内容:先删除当前行复制到寄存器,并粘贴 | 214 | 215 | 216 | 文件操作 217 | ------------ 218 | 219 | | 快捷键 | 说明 | 220 | | ------- | ----- | 221 | | `:w` | 保存文件 | 222 | | `:w ` | 按名称保存文件 | 223 | | `ZZ` | 保存文件(如果有改动的话),并关闭窗口 | 224 | | `:e ` | 打开文件并编辑 | 225 | | `:saveas ` | 另存为文件 | 226 | | `:r ` | 读取文件并将内容插入到光标后 | 227 | | `:r !dir` | 将dir命令的输出捕获并插入到光标后 | 228 | | `:close` | 关闭文件 | 229 | | `:q` | 退出 | 230 | | `:q!` | 强制退出 | 231 | | `:wa` | 保存所有文件 | 232 | | `:cd ` | 切换Vim当前路径 | 233 | | `:new` | 打开一个新的窗口编辑新文件 | 234 | | `:enew` | 在当前窗口创建新文件 | 235 | | `:vnew` | 在左右切分的新窗口中编辑新文件 | 236 | | `:tabnew` | 在新的标签页中编辑新文件 | 237 | 238 | 239 | 增删改查批量操作 240 | ------------ 241 | 242 | | 快捷键 | 说明 | 243 | | ------- | ----- | 244 | | `/pattern` | 从光标处向文件尾搜索 pattern | 245 | | `?pattern` | 从光标处向文件头搜索 pattern | 246 | | `n` | 向同一方向执行上一次搜索 | 247 | | `N` | 向相反方向执行上一次搜索 | 248 | | `*` | 向前搜索光标下的单词 | 249 | | `#` | 向后搜索光标下的单词 | 250 | | `:s/p1/p2/g` | 将当前行中全替换p1为p2 | 251 | | `:%s/p1/p2/g` | 将当前文件中全替换p1为p2 | 252 | | `:%s/p1/p2/gc` | 将当前文件中全替换p1为p2,并且每处询问你是否替换 | 253 | | `:10,20s/p1/p2/g` | 将第10到20行中所有p1替换为p2 | 254 | | `:%s/1\\2\/3/123/g` | 将“1\2/3” 替换为 “123”(特殊字符使用反斜杠标注) | 255 | | `:%s/\r//g` | 删除 DOS 换行符 ^M | 256 | | `:g/^\s*$/d` | 删除空行 | 257 | | `:g/test/d` | 删除所有包含 test 的行 | 258 | | `:v/test/d` | 删除所有不包含 test 的行 | 259 | | `:%s/^/test/` | 在行首加入特定字符(也可以用宏录制来添加) | 260 | | `:%s/$/test/` | 在行尾加入特定字符(也可以用宏录制来添加) | 261 | 262 | 263 | 宏录制 264 | ------------ 265 | 266 | | 快捷键 | 说明 | 267 | | ------- | ----- | 268 | | `qa` | 开始录制名字为a的宏 | 269 | | `q` | 结束录制宏 | 270 | | `@a` | 播放名字为a的宏 | 271 | | `100@a` | 播放名字为a的宏100次 | 272 | | `:normal@a` | 播放名字为a的宏直到自动结束 | 273 | 274 | 275 | 帮助 276 | ------------ 277 | 278 | | 快捷键 | 说明 | 279 | | ------- | ----- | 280 | | `h tutor` | 入门文档 | 281 | | `h quickref` | 快速帮助 | 282 | | `h index` | 查询Vim所有键盘命令定义 | 283 | | `h summary` | 帮助你更好的使用内置帮助系统 | 284 | | `h pattern.txt` | 正则表达式帮助 | 285 | | `h eval` | 脚本编写帮助 | 286 | | `h function-list` | 查看VimScript的函数列表 | 287 | | `h windows.txt` | 窗口使用帮助 | 288 | | `h tabpage.txt` | 标签页使用帮助 | 289 | | `h tips` | 查看Vim内置的常用技巧文档 | 290 | 291 | 292 | 其他 293 | ------------ 294 | 295 | | 快捷键 | 说明 | 296 | | ------- | ----- | 297 | | `vim -u NONE -N` | 开启vim时不加载vimrc文件 | 298 | | `e` | 快速编辑vimrc文件 | 299 | | `s` | 重新加载vimrc文件 | 300 | | `h` | 打开vimplus帮助文档 | 301 | | `H` | 打开当前光标所在单词的vim帮助文档 | 302 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # 获取平台类型,mac还是linux平台 4 | function get_platform_type() 5 | { 6 | echo $(uname) 7 | } 8 | 9 | # 获取linux平台类型,ubuntu还是centos 10 | function get_linux_platform_type() 11 | { 12 | if which apt-get > /dev/null ; then 13 | echo "ubuntu" # debian ubuntu系列 14 | elif which yum > /dev/null ; then 15 | echo "centos" # centos redhat系列 16 | elif which pacman > /dev/null; then 17 | echo "archlinux" # archlinux系列 18 | else 19 | echo "invaild" 20 | fi 21 | } 22 | 23 | # 判断是否是ubuntu16.04LTS版本 24 | function is_ubuntu1604() 25 | { 26 | version=$(cat /etc/lsb-release | grep "DISTRIB_RELEASE") 27 | if [ ${version} == "DISTRIB_RELEASE=16.04" ]; then 28 | echo 1 29 | else 30 | echo 0 31 | fi 32 | } 33 | 34 | # 源代码安装vim 35 | function compile_vim() 36 | { 37 | sudo apt-get install -y libncurses5-dev libgnome2-dev libgnomeui-dev \ 38 | libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ 39 | libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev python3-dev ruby-dev lua5.1 lua5.1-dev 40 | sudo apt-get remove -y vim vim-runtime gvim 41 | sudo apt-get remove -y vim-tiny vim-common vim-gui-common vim-nox 42 | 43 | sudo rm -rf ~/vim 44 | sudo rm -rf /usr/share/vim/vim* 45 | git clone https://github.com/vim/vim.git ~/vim 46 | cd ~/vim 47 | ./configure --with-features=huge \ 48 | --enable-multibyte \ 49 | --enable-rubyinterp \ 50 | --enable-pythoninterp \ 51 | --with-python-config-dir=/usr/lib/python3/config \ 52 | --enable-perlinterp \ 53 | --enable-luainterp \ 54 | --enable-gui=gtk2 --enable-cscope --prefix=/usr 55 | make VIMRUNTIMEDIR=/usr/share/vim/vim81 56 | sudo make install 57 | cd - 58 | } 59 | 60 | # 安装mac平台必要软件 61 | function install_prepare_software_on_mac() 62 | { 63 | brew install vim gcc cmake ctags-exuberant curl ack 64 | } 65 | 66 | # 安装centos发行版必要软件 67 | function install_prepare_software_on_centos() 68 | { 69 | sudo yum install -y vim ctags automake gcc gcc-c++ kernel-devel cmake python-devel python3-devel curl ack 70 | } 71 | 72 | # 安装ubuntu发行版必要软件 73 | function install_prepare_software_on_ubuntu() 74 | { 75 | sudo apt-get install -y ctags build-essential cmake python-dev python3-dev fontconfig zip unzip curl ack-grep python3-sdl2 76 | ubuntu_1604=`is_ubuntu1604` 77 | echo ${ubuntu_1604} 78 | 79 | if [ ${ubuntu_1604} == 1 ]; then 80 | echo "ubuntu 16.04 LTS" 81 | compile_vim 82 | else 83 | echo "not ubuntu 16.04 LTS" 84 | sudo apt-get install -y vim 85 | fi 86 | } 87 | 88 | # 安装archlinux发行版必要软件 89 | function install_prepare_software_on_archlinux() 90 | { 91 | sudo pacman -S --noconfirm vim ctags automake gcc cmake python3 python2 curl ack 92 | } 93 | 94 | # 拷贝文件 95 | function copy_files() 96 | { 97 | rm -rf ~/.vimrc 98 | ln -s ${PWD}/.vimrc ~ 99 | 100 | rm -rf ~/.vimrc.local 101 | cp ${PWD}/.vimrc.local ~ 102 | 103 | mkdir ~/.vim 104 | rm -rf ~/.vim/colors 105 | ln -s ${PWD}/colors ~/.vim 106 | 107 | # UltiSnips 108 | rm -rf ~/.vim/UltiSnips 109 | ln -s ${PWD}/UltiSnips ~/.vim 110 | } 111 | 112 | # 安装mac平台字体 113 | function install_fonts_on_mac() 114 | { 115 | rm -rf ~/Library/Fonts/Droid\ Sans\ Mono\ Nerd\ Font\ Complete.otf 116 | cp ./fonts/Droid\ Sans\ Mono\ Nerd\ Font\ Complete.otf ~/Library/Fonts 117 | } 118 | 119 | # 安装linux平台字体 120 | function install_fonts_on_linux() 121 | { 122 | mkdir ~/.fonts 123 | rm -rf ~/.fonts/Droid\ Sans\ Mono\ Nerd\ Font\ Complete.otf 124 | cp ./fonts/Droid\ Sans\ Mono\ Nerd\ Font\ Complete.otf ~/.fonts 125 | cp ./fonts/Droid\ Sans\ Mono\ for\ Powerline.otf ~/.fonts 126 | cp ./fonts/Noto\ Mono\ for\ Powerline.ttf ~/.fonts 127 | 128 | # cp ./fonts/Droid\ Sans\ Mono\ Nerd\ Font\ Complete.otf /usr/share/fonts/truetype/droid 129 | # cp ./fonts/Droid\ Sans\ Mono\ for\ Powerline.otf /usr/share/fonts/truetype/droid 130 | # cp ./fonts/Noto\ Mono\ for\ Powerline.ttf /usr/share/fonts/opentype/noto 131 | 132 | mkfontscale 133 | mkfontdir 134 | fc-cache -vf ~/.fonts 135 | # fc-cache -vf /usr/share/fonts 136 | } 137 | 138 | # 下载插件管理软件vim-plug 139 | function download_vim_plug() 140 | { 141 | curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 142 | } 143 | 144 | # 安装vim插件 145 | function install_vim_plugin() 146 | { 147 | vim -c "PlugInstall" -c "q" -c "q" 148 | } 149 | 150 | # 打印logo 151 | function print_logo() 152 | { 153 | color="$(tput setaf 6)" 154 | normal="$(tput sgr0)" 155 | printf "${color}" 156 | # echo ' __ __ ' 157 | # echo '__ __/_/___ ___ ____ / /_ _______ ' 158 | # echo '\ \ / / / __ `__ \/ __ \/ / / / / ___/ ' 159 | # echo ' \ V / / / / / / / /_/ / / /_/ (__ ) ' 160 | # echo ' \_/_/_/ /_/ /_/ ,___/_/\____/____/ ' 161 | # echo ' /_/ ...is now installed!' 162 | 163 | echo ' _ ___ ____ __ ____ __ ' 164 | echo '| | / (_)___ ___ / __ \/ /_ _______/ __ \/ /_ _______ ' 165 | echo '| | / / / __ `__ \/ /_/ / / / / / ___/ /_/ / / / / / ___/ ' 166 | echo '| |/ / / / / / / / ____/ / /_/ (__ ) ____/ / /_/ (__ ) ' 167 | echo '|___/_/_/ /_/ /_/_/ /_/\__,_/____/_/ /_/\__,_/____/ ...is now installed!' 168 | 169 | echo '' 170 | echo '' 171 | echo 'Just enjoy it!' 172 | echo 'p.s. Follow me at https://github.com/FLHonker.' 173 | echo '' 174 | printf "${normal}" 175 | } 176 | 177 | # 改变一些文件、文件夹属组和用户关系 178 | function chown_dir() 179 | { 180 | who_is=$(who) 181 | current_user=${who_is%% *} 182 | sudo chown -R ${current_user}:${current_user} ~/.vim 183 | sudo chown -R ${current_user}:${current_user} ~/.fonts 184 | sudo chown -R ${current_user}:${current_user} ~/.cache 185 | sudo chown ${current_user}:${current_user} ~/.vimrc.local 186 | sudo chown ${current_user}:${current_user} ~/.viminfo 187 | } 188 | 189 | # 在mac平台安装vimplus 190 | function install_vimplus_on_mac() 191 | { 192 | install_prepare_software_on_mac 193 | copy_files 194 | install_fonts_on_mac 195 | download_vim_plug 196 | install_vim_plugin 197 | compile_ycm_on_mac 198 | print_logo 199 | } 200 | 201 | function begin_install_vimplus() 202 | { 203 | copy_files 204 | install_fonts_on_linux 205 | download_vim_plug 206 | install_vim_plugin 207 | #compile_ycm_on_linux 208 | chown_dir 209 | print_logo 210 | } 211 | 212 | # 在ubuntu发行版安装vimplus 213 | function install_vimplus_on_ubuntu() 214 | { 215 | install_prepare_software_on_ubuntu 216 | begin_install_vimplus 217 | } 218 | 219 | # 在centos发行版安装vimplus 220 | function install_vimplus_on_centos() 221 | { 222 | install_prepare_software_on_centos 223 | begin_install_vimplus 224 | } 225 | 226 | # 在archlinux发行版安装vimplus 227 | function install_vimplus_on_archlinux() 228 | { 229 | install_prepare_software_on_archlinux 230 | begin_install_vimplus 231 | } 232 | 233 | # 在linux平台安装vimplus 234 | function install_vimplus_on_linux() 235 | { 236 | type=`get_linux_platform_type` 237 | echo "linux platform type: "${type} 238 | 239 | if [ ${type} == "ubuntu" ]; then 240 | install_vimplus_on_ubuntu 241 | elif [ ${type} == "centos" ]; then 242 | install_vimplus_on_centos 243 | elif [ ${type} == "archlinux" ]; then 244 | install_vimplus_on_archlinux 245 | else 246 | echo "not support this linux platform type: "${type} 247 | fi 248 | } 249 | 250 | # main函数 251 | function main() 252 | { 253 | type=`get_platform_type` 254 | echo "platform type: "${type} 255 | 256 | if [ ${type} == "Darwin" ]; then 257 | install_vimplus_on_mac 258 | elif [ ${type} == "Linux" ]; then 259 | install_vimplus_on_linux 260 | else 261 | echo "not support platform type: "${type} 262 | fi 263 | } 264 | 265 | # 调用main函数 266 | main 267 | 268 | 269 | -------------------------------------------------------------------------------- /screenshots/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FLHonker/vim-plus-plus/552ef942d369c02a79516d5b469f7c760e9eea58/screenshots/main.png -------------------------------------------------------------------------------- /screenshots/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FLHonker/vim-plus-plus/552ef942d369c02a79516d5b469f7c760e9eea58/screenshots/plus.png -------------------------------------------------------------------------------- /screenshots/vimplus-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FLHonker/vim-plus-plus/552ef942d369c02a79516d5b469f7c760e9eea58/screenshots/vimplus-logo.png -------------------------------------------------------------------------------- /uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sudo rm -rf ~/.vim 4 | 5 | echo "Done!" 6 | 7 | --------------------------------------------------------------------------------