├── .gitignore ├── x11 ├── .Xmodmap └── .stalonetrayrc ├── install.sh ├── .editorconfig ├── .github ├── dependabot.yml └── workflows │ ├── build.yml │ └── release.yml ├── git └── .gitconfig ├── vscode └── settings.json ├── zsh ├── .tmux.conf └── .zshrc ├── README.md ├── Dockerfile ├── .gitmodules └── vim ├── .vimrc └── .vim └── colors ├── flowhub.vim └── zenburn.vim /.gitignore: -------------------------------------------------------------------------------- 1 | tmp 2 | backup 3 | vim/.vim/.netrwhist 4 | .DS_Store 5 | -------------------------------------------------------------------------------- /x11/.Xmodmap: -------------------------------------------------------------------------------- 1 | remove Lock = Caps_Lock 2 | keysym Caps_Lock = Escape 3 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | git submodule update --init 3 | stow zsh 4 | stow git 5 | stow vim 6 | -------------------------------------------------------------------------------- /x11/.stalonetrayrc: -------------------------------------------------------------------------------- 1 | background "#333333" 2 | decorations none 3 | dockapp_mode simple 4 | geometry 3x1+1600+0 5 | grow_gravity NE 6 | icon_gravity NE 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | charset = utf-8 7 | indent_style = space 8 | indent_size = 2 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: github-actions 4 | directory: "/" 5 | schedule: 6 | interval: weekly 7 | - package-ecosystem: gitsubmodule 8 | directory: "/" 9 | schedule: 10 | interval: weekly 11 | -------------------------------------------------------------------------------- /git/.gitconfig: -------------------------------------------------------------------------------- 1 | [user] 2 | name = Henri Bergius 3 | email = henri.bergius@iki.fi 4 | signingkey = henri.bergius@iki.fi 5 | [diff "odf"] 6 | textconv = odt2txt 7 | [color] 8 | diff = true 9 | [push] 10 | default = matching 11 | [core] 12 | editor = vim 13 | [pull] 14 | ff = only 15 | [init] 16 | defaultBranch = main 17 | -------------------------------------------------------------------------------- /vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.fontSize": 10, 3 | "editor.tabSize": 2, 4 | "editor.renderWhitespace": "boundary", 5 | "editor.accessibilitySupport": "off", 6 | "editor.autoClosingBrackets": "never", 7 | "editor.autoClosingQuotes": "never", 8 | "editor.minimap.enabled": false, 9 | "workbench.statusBar.feedback.visible": false, 10 | "breadcrumbs.filePath": "last", 11 | "workbench.settings.editor": "json", 12 | "vim.insertModeKeyBindings": [ 13 | { 14 | "before": ["j", "j"], 15 | "after": [""] 16 | } 17 | ], 18 | } 19 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Docker 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | test: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - 10 | name: Checkout 11 | uses: actions/checkout@v2 12 | with: 13 | submodules: true 14 | - 15 | name: Set up QEMU for multiarch building 16 | uses: docker/setup-qemu-action@v1 17 | - 18 | uses: docker/setup-buildx-action@v1 19 | id: buildx 20 | with: 21 | install: true 22 | - 23 | name: Build 24 | uses: docker/build-push-action@v2 25 | with: 26 | context: . 27 | file: ./Dockerfile 28 | platforms: linux/amd64,linux/arm64 29 | push: false 30 | tags: | 31 | bergie/shell:latest 32 | merge-me: 33 | name: Auto-merge dependency updates 34 | needs: test 35 | runs-on: ubuntu-latest 36 | steps: 37 | - 38 | uses: ridedott/merge-me-action@v2.2.21 39 | with: 40 | GITHUB_LOGIN: 'dependabot[bot]' 41 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 42 | -------------------------------------------------------------------------------- /zsh/.tmux.conf: -------------------------------------------------------------------------------- 1 | set -g default-terminal "screen-256color" 2 | 3 | # Mouse support (to help getting started) 4 | #set -g mode-mouse on 5 | #set-option -g mouse-select-pane on 6 | #set -g mouse-utf8 on 7 | #set -g mouse on 8 | 9 | # Use Ctrl-A 10 | unbind C-b 11 | set -g prefix C-a 12 | # Use Ctrl-A A to send Ctrl-A 13 | bind a send-prefix 14 | 15 | #### COLOUR 16 | 17 | # default statusbar colors 18 | set-option -g status-style "fg=colour136,bg=colour235" 19 | 20 | # default window title colors 21 | set-window-option -g window-status-style "fg=colour244,bg=default" 22 | 23 | # active window title colors 24 | set-window-option -g window-status-current-style "fg=colour166,bg=default" 25 | 26 | # pane border 27 | set-option -g pane-border-style "fg=colour235" 28 | set-option -g pane-active-border-style "fg=colour240" 29 | 30 | # message text 31 | set-option -g message-style "fg=colour166,bg=colour235" 32 | 33 | # pane number display 34 | set-option -g display-panes-active-colour colour33 #blue 35 | set-option -g display-panes-colour colour166 #orange 36 | 37 | # clock 38 | set-window-option -g clock-mode-colour colour64 #green 39 | 40 | # Create session when attaching if not available 41 | new-session -n $HOST 42 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker image 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | publish: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - 13 | name: Checkout 14 | uses: actions/checkout@v2 15 | with: 16 | submodules: true 17 | - 18 | name: Set up QEMU for multiarch building 19 | uses: docker/setup-qemu-action@v1 20 | - 21 | uses: docker/setup-buildx-action@v1 22 | id: buildx 23 | with: 24 | install: true 25 | - 26 | name: Login to DockerHub 27 | uses: docker/login-action@v1 28 | with: 29 | username: ${{ github.repository_owner }} 30 | password: ${{ secrets.DOCKER_TOKEN }} 31 | - 32 | name: Login to GitHub Packages Docker Registry 33 | uses: docker/login-action@v1 34 | with: 35 | registry: ghcr.io 36 | username: ${{ github.repository_owner }} 37 | password: ${{ secrets.GHCR_PAT }} 38 | - 39 | name: Build and push 40 | uses: docker/build-push-action@v2 41 | with: 42 | context: . 43 | file: ./Dockerfile 44 | platforms: linux/amd64,linux/arm64 45 | push: true 46 | tags: | 47 | bergie/shell:latest 48 | ghcr.io/bergie/shell:latest 49 | 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | My Unix dotfiles 2 | ================ 3 | 4 | Mostly used for Node.js and IoT development. 5 | 6 | ## Running via Docker 7 | 8 | There is a Docker image available for this setup. Run it with: 9 | 10 | ```shell 11 | $ docker run -v ~/Projects:/projects -v workstation:/root -v ~/.ssh:/keys --name workstation --rm -it bergie/shell 12 | ``` 13 | 14 | ### Updating the container 15 | 16 | ```shell 17 | $ docker volume rm workstation && docker volume create workstation 18 | $ docker pull bergie/shell 19 | ``` 20 | 21 | ### Requirements 22 | 23 | * Terminal application (xterm, iTerm2, whatever) 24 | * Docker 25 | * [Powerline fonts](https://github.com/powerline/fonts) 26 | 27 | ## Installation on host 28 | 29 | These dotfiles are easiest to deploy with [GNU Stow](https://www.gnu.org/software/stow/). Install it for the appropriate operating system: 30 | 31 | ```term 32 | $ sudo apt-get install stow # Debian derivatives 33 | $ sudo pacman -S stow # Arch 34 | $ brew install stow # MacOS 35 | $ apt install stow # Termux 36 | ``` 37 | 38 | Then apply the configuration bundles you want: 39 | 40 | ```term 41 | $ stow zsh # zsh and tmux configuration 42 | $ stow git # git configuration 43 | $ stow vim # vim configuration 44 | ``` 45 | 46 | For vim you'll also want to fetch the plugins: 47 | 48 | ```term 49 | $ git submodule update --init 50 | ``` 51 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:latest 2 | ENV DEBIAN_FRONTEND=noninteractive 3 | 4 | # Locales 5 | RUN apt-get update && apt-get install -y locales 6 | ENV LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LANGUAGE="en_US.UTF-8" 7 | 8 | RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ 9 | locale-gen --purge $LANG && \ 10 | dpkg-reconfigure --frontend=noninteractive locales && \ 11 | update-locale LANG=$LANG LC_ALL=$LC_ALL LANGUAGE=$LANGUAGE 12 | 13 | # Common packages 14 | RUN apt-get update && apt-get install -y \ 15 | build-essential \ 16 | software-properties-common \ 17 | tzdata \ 18 | psmisc \ 19 | curl \ 20 | git \ 21 | wget \ 22 | tmux \ 23 | vim \ 24 | zsh \ 25 | ledger \ 26 | mosh \ 27 | ruby \ 28 | ruby-dev \ 29 | mosquitto \ 30 | mosquitto-clients \ 31 | postgresql-client \ 32 | jq \ 33 | rsync \ 34 | ansible \ 35 | lastpass-cli 36 | 37 | # Install Node.js LTS 38 | RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - 39 | RUN apt-get install -y nodejs 40 | 41 | # Install Bundler 42 | RUN gem install bundler --no-document 43 | 44 | # Install oh-my-zsh 45 | RUN chsh -s /usr/bin/zsh 46 | RUN curl -L http://install.ohmyz.sh | sh || true 47 | 48 | # Set up timezone 49 | ENV TZ 'Europe/Berlin' 50 | RUN echo $TZ > /etc/timezone && \ 51 | rm /etc/localtime && \ 52 | ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \ 53 | dpkg-reconfigure -f noninteractive tzdata 54 | 55 | # Set up dotfiles 56 | COPY ./zsh/* /root/ 57 | COPY ./vim/ /root/ 58 | COPY ./git/* /root/ 59 | 60 | # Set up volumes 61 | WORKDIR /projects 62 | VOLUME /projects 63 | VOLUME /keys 64 | 65 | # Enable colors 66 | ENV TERM=xterm-256color 67 | 68 | CMD ["tmux"] 69 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vim/.vim/bundle/vim-coffee-script"] 2 | path = vim/.vim/pack/bergie/start/vim-coffee-script 3 | url = https://github.com/kchmck/vim-coffee-script.git 4 | [submodule "vim/.vim/bundle/vim-markdown"] 5 | path = vim/.vim/pack/bergie/start/vim-markdown 6 | url = https://github.com/tpope/vim-markdown.git 7 | [submodule "vim/.vim/bundle/vim-json"] 8 | path = vim/.vim/pack/bergie/start/vim-json 9 | url = https://github.com/leshill/vim-json.git 10 | [submodule "vim/.vim/bundle/vim-css-color"] 11 | path = vim/.vim/pack/bergie/start/vim-css-color 12 | url = https://github.com/ap/vim-css-color.git 13 | [submodule "vim/.vim/bundle/vim-fbp"] 14 | path = vim/.vim/pack/bergie/start/vim-fbp 15 | url = https://github.com/ninegrid/vim-fbp.git 16 | [submodule "vim/.vim/bundle/vim-ledger"] 17 | path = vim/.vim/pack/bergie/start/vim-ledger 18 | url = https://github.com/ledger/vim-ledger.git 19 | [submodule "vim/.vim/bundle/ale"] 20 | path = vim/.vim/pack/bergie/start/ale 21 | url = https://github.com/w0rp/ale.git 22 | [submodule "vim/.vim/bundle/nerdtree"] 23 | path = vim/.vim/pack/bergie/start/nerdtree 24 | url = https://github.com/scrooloose/nerdtree.git 25 | [submodule "vim/.vim/bundle/vim-airline"] 26 | path = vim/.vim/pack/bergie/start/vim-airline 27 | url = https://github.com/vim-airline/vim-airline 28 | [submodule "vim/.vim/bundle/vim-airline-themes"] 29 | path = vim/.vim/pack/bergie/start/vim-airline-themes 30 | url = https://github.com/vim-airline/vim-airline-themes 31 | [submodule "vim/.vim/pack/bergie/start/vim-fugitive"] 32 | path = vim/.vim/pack/bergie/start/vim-fugitive 33 | url = https://github.com/tpope/vim-fugitive.git 34 | [submodule "vim/.vim/pack/bergie/start/typescript-vim"] 35 | path = vim/.vim/pack/bergie/start/typescript-vim 36 | url = https://github.com/leafgarland/typescript-vim.git 37 | [submodule "vim/.vim/pack/bergie/start/editorconfig-vim"] 38 | path = vim/.vim/pack/bergie/start/editorconfig-vim 39 | url = https://github.com/editorconfig/editorconfig-vim.git 40 | -------------------------------------------------------------------------------- /zsh/.zshrc: -------------------------------------------------------------------------------- 1 | # Path to your oh-my-zsh configuration. 2 | ZSH=$HOME/.oh-my-zsh 3 | 4 | # Set name of the theme to load. 5 | # Look in ~/.oh-my-zsh/themes/ 6 | # Optionally, if you set this to "random", it'll load a random theme each 7 | # time that oh-my-zsh is loaded. 8 | ZSH_THEME="pygmalion" 9 | 10 | # Example aliases 11 | # alias zshconfig="mate ~/.zshrc" 12 | # alias ohmyzsh="mate ~/.oh-my-zsh" 13 | alias tmux="tmux -2" 14 | alias nautilus="nautilus --no-desktop" 15 | alias vi=vim 16 | #alias vim="/Applications/MacVim.app/Contents/MacOS/Vim" 17 | 18 | # Set to this to use case-sensitive completion 19 | # CASE_SENSITIVE="true" 20 | 21 | # Comment this out to disable weekly auto-update checks 22 | # DISABLE_AUTO_UPDATE="true" 23 | 24 | # Uncomment following line if you want to disable colors in ls 25 | # DISABLE_LS_COLORS="true" 26 | 27 | # Uncomment following line if you want to disable autosetting terminal title. 28 | # DISABLE_AUTO_TITLE="true" 29 | 30 | # Uncomment following line if you want red dots to be displayed while waiting for completion 31 | # COMPLETION_WAITING_DOTS="true" 32 | 33 | # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) 34 | # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ 35 | # Example format: plugins=(rails git textmate ruby lighthouse) 36 | plugins=(git docker docker-compose) 37 | 38 | source $ZSH/oh-my-zsh.sh 39 | 40 | # Customize to your needs... 41 | export PATH=$PATH:/usr/local/bin:/usr/local/git/bin/:/Applications/Xcode.app/Contents/Developer/usr/bin:/var/npm/bin 42 | #export NODE_PATH=/usr/local/lib/node_modules 43 | 44 | # UTF-8 45 | LC_CTYPE="en_US.UTF-8" 46 | LANG="en_US.UTF-8" 47 | 48 | if [[ -s $HOME/google-cloud-sdk ]]; then 49 | # The next line updates PATH for the Google Cloud SDK. 50 | source $HOME/google-cloud-sdk/path.zsh.inc 51 | fi 52 | 53 | if [ "$TMUX" = "" ]; then tmux attach; fi 54 | 55 | if [[ -a ~/.ssh/id_rsa ]]; then 56 | eval `ssh-agent -s` && ssh-add ~/.ssh/id_rsa 57 | else 58 | eval `ssh-agent -s` && ssh-add /keys/id_rsa 59 | fi 60 | 61 | export GOPATH=$HOME/.go 62 | PATH=$PATH:$GOPATH/bin 63 | -------------------------------------------------------------------------------- /vim/.vimrc: -------------------------------------------------------------------------------- 1 | set nocompatible 2 | syntax enable 3 | set encoding=utf-8 4 | set enc=utf-8 5 | set fileencoding=utf-8 6 | set fileencodings=ucs-bom,utf8,prc 7 | " Display incomplete commands 8 | set showcmd 9 | filetype plugin indent on 10 | 11 | " Disable folding by default 12 | set nofoldenable 13 | 14 | "Reasonable line movement" 15 | nnoremap j gj 16 | nnoremap k gk 17 | vnoremap j gj 18 | vnoremap k gk 19 | 20 | " In Normal mode, arrow keys switch windows 21 | nnoremap 22 | nnoremap 23 | nnoremap 24 | nnoremap 25 | " In Insert mode, disable arrow keys 26 | inoremap 27 | inoremap 28 | inoremap 29 | inoremap 30 | 31 | " Whitespace handling 32 | set tabstop=2 shiftwidth=2 " Tab is two spaces 33 | set expandtab " Use spaces, not tabs 34 | set backspace=indent,eol,start " Backspace through everything 35 | 36 | " Indentation 37 | set autoindent 38 | 39 | " UI 40 | set t_Co=256 41 | set background=dark 42 | " colors flowhub 43 | colors zenburn 44 | set number " Line numbering" 45 | set guioptions-=m " Remove menu in GUI 46 | set guioptions-=T " Remove toolbar in GUI 47 | set showmode 48 | 49 | " Style vertical splits 50 | :set fillchars+=vert:\ " No character in vertical splits, just color 51 | 52 | " Visualize tabs and linebreaks 53 | set list 54 | set listchars=tab:▸\ ,eol:¬ 55 | 56 | " Nicer visualization for linting errors and warnings 57 | let g:ale_echo_msg_format = '[%linter%] %s [%severity%]' 58 | let g:ale_sign_error = "◉" 59 | let g:ale_sign_warning = '•' 60 | let g:ale_sign_column_always = 1 61 | highlight link ALEErrorSign Error 62 | highlight link ALEWarningSign Warning 63 | 64 | " Easier code navigation 65 | let g:ale_default_navigation = 'split' 66 | nmap gd :ALEGoToDefinition 67 | nmap gr :ALEFindReferences 68 | " Enable autocomplete (ctrl-n/ctrl-p to navigate) 69 | let g:ale_completion_enabled = 1 70 | 71 | " Improve NerdTree looks 72 | let NERDTreeMinimalUI = 1 73 | let NERDTreeDirArrows = 1 74 | 75 | " Improve Airline status bar 76 | let g:airline_theme='zenburn' 77 | let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]' 78 | let g:airline_powerline_fonts = 1 79 | 80 | set ruler 81 | 82 | " Keyboard mappings, Ctrl-X, C, V 83 | vnoremap "+x 84 | vnoremap "+y 85 | map "+gP 86 | 87 | " jj for escape 88 | imap jj 89 | 90 | " Always be in the directory of the file 91 | "set autochdir We use rooter now 92 | 93 | " Backups in one place 94 | set nobackup 95 | set nowritebackup 96 | set noswapfile 97 | 98 | " Nicer searching 99 | set incsearch " Incremental searching 100 | set hlsearch " Highlight matches 101 | set showmatch " Show match numbers 102 | set ignorecase " Search case-insensitive 103 | set smartcase " ...except when something is capitalized 104 | 105 | " File navigation 106 | let mapleader="," " Use comma as 107 | 108 | " Switch between relative and absolute line numbers depending on mode 109 | set relativenumber 110 | autocmd InsertEnter * :set number 111 | autocmd InsertLeave * :set relativenumber 112 | 113 | " Open NerdTree on start-up if given a directory path 114 | autocmd StdinReadPre * let s:std_in=1 115 | autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif 116 | " Ctrl-N for opening/closing NerdTree 117 | map :NERDTreeToggle 118 | " Close NerdTree automatically after opening a file 119 | let NERDTreeQuitOnOpen = 1 120 | " Show dotfiles by default 121 | let NERDTreeShowHidden=1 122 | 123 | " Poor man vim-rooter, git only, using fugitive 124 | autocmd BufLeave * let b:last_cwd = getcwd() 125 | autocmd BufEnter * if exists('b:last_cwd') 126 | \| execute 'lcd' b:last_cwd 127 | \| else 128 | \| silent! Glcd 129 | \| endif 130 | 131 | " Add fenced languages support 132 | let g:markdown_fenced_languages = ['javascript', 'typescript', 'python', 'json'] 133 | -------------------------------------------------------------------------------- /vim/.vim/colors/flowhub.vim: -------------------------------------------------------------------------------- 1 | " Vim color file - flowhub 2 | " Generated by http://bytefluent.com/vivify 2014-05-09 3 | set background=dark 4 | if version > 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 = "flowhub" 13 | 14 | hi IncSearch guifg=#192224 guibg=#BD9800 guisp=#BD9800 gui=NONE ctermfg=235 ctermbg=1 cterm=NONE 15 | hi WildMenu guifg=NONE guibg=#A1A6A8 guisp=#A1A6A8 gui=NONE ctermfg=NONE ctermbg=248 cterm=NONE 16 | hi SignColumn guifg=#192224 guibg=#536991 guisp=#536991 gui=NONE ctermfg=235 ctermbg=60 cterm=NONE 17 | hi SpecialComment guifg=#BD9800 guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE 18 | hi Typedef guifg=#536991 guibg=NONE guisp=NONE gui=bold ctermfg=60 ctermbg=NONE cterm=bold 19 | hi Title guifg=#F9F9FF guibg=#192224 guisp=#192224 gui=bold ctermfg=189 ctermbg=235 cterm=bold 20 | hi Folded guifg=#192224 guibg=#A1A6A8 guisp=#A1A6A8 gui=italic ctermfg=235 ctermbg=248 cterm=NONE 21 | hi PreCondit guifg=#BD9800 guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE 22 | hi Include guifg=#02e0e8 guibg=NONE guisp=NONE gui=NONE ctermfg=44 ctermbg=NONE cterm=NONE 23 | hi TabLineSel guifg=#192224 guibg=#BD9800 guisp=#BD9800 gui=bold ctermfg=235 ctermbg=1 cterm=bold 24 | hi StatusLineNC guifg=#192224 guibg=#5E6C70 guisp=#5E6C70 gui=bold ctermfg=235 ctermbg=66 cterm=bold 25 | "hi CTagsMember -- no settings -- 26 | hi NonText guifg=#5E6C70 guibg=NONE guisp=NONE gui=italic ctermfg=66 ctermbg=NONE cterm=NONE 27 | "hi CTagsGlobalConstant -- no settings -- 28 | hi DiffText guifg=NONE guibg=#492224 guisp=#492224 gui=NONE ctermfg=NONE ctermbg=52 cterm=NONE 29 | hi ErrorMsg guifg=#A1A6A8 guibg=#912C00 guisp=#912C00 gui=NONE ctermfg=248 ctermbg=88 cterm=NONE 30 | "hi Ignore -- no settings -- 31 | hi Debug guifg=#BD9800 guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE 32 | hi PMenuSbar guifg=NONE guibg=#848688 guisp=#848688 gui=NONE ctermfg=NONE ctermbg=102 cterm=NONE 33 | hi Identifier guifg=#e70261 guibg=NONE guisp=NONE gui=NONE ctermfg=161 ctermbg=NONE cterm=NONE 34 | hi SpecialChar guifg=#BD9800 guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE 35 | hi Conditional guifg=#e70261 guibg=NONE guisp=NONE gui=bold ctermfg=161 ctermbg=NONE cterm=bold 36 | hi StorageClass guifg=#536991 guibg=NONE guisp=NONE gui=bold ctermfg=60 ctermbg=NONE cterm=bold 37 | hi Todo guifg=#F9F9FF guibg=#BD9800 guisp=#BD9800 gui=NONE ctermfg=189 ctermbg=1 cterm=NONE 38 | hi Special guifg=#535d5e guibg=NONE guisp=NONE gui=NONE ctermfg=59 ctermbg=NONE cterm=NONE 39 | hi LineNr guifg=#535d5e guibg=NONE guisp=NONE gui=NONE ctermfg=59 ctermbg=NONE cterm=NONE 40 | hi StatusLine guifg=#192224 guibg=#BD9800 guisp=#BD9800 gui=bold ctermfg=235 ctermbg=1 cterm=bold 41 | hi Normal guifg=#02e89b guibg=#192224 guisp=#192224 gui=NONE ctermfg=42 ctermbg=235 cterm=NONE 42 | hi Label guifg=#02e0e8 guibg=NONE guisp=NONE gui=bold ctermfg=44 ctermbg=NONE cterm=bold 43 | "hi CTagsImport -- no settings -- 44 | hi PMenuSel guifg=#192224 guibg=#BD9800 guisp=#BD9800 gui=NONE ctermfg=235 ctermbg=1 cterm=NONE 45 | hi Search guifg=#192224 guibg=#BD9800 guisp=#BD9800 gui=NONE ctermfg=235 ctermbg=1 cterm=NONE 46 | "hi CTagsGlobalVariable -- no settings -- 47 | hi Delimiter guifg=#02e89b guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE 48 | hi Statement guifg=#e70261 guibg=NONE guisp=NONE gui=bold ctermfg=161 ctermbg=NONE cterm=bold 49 | hi SpellRare guifg=#F9F9FF guibg=#192224 guisp=#192224 gui=underline ctermfg=189 ctermbg=235 cterm=underline 50 | "hi EnumerationValue -- no settings -- 51 | hi Comment guifg=#5E6C70 guibg=NONE guisp=NONE gui=italic ctermfg=66 ctermbg=NONE cterm=NONE 52 | hi Character guifg=#A1A6A8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE 53 | hi Float guifg=#A1A6A8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE 54 | hi Number guifg=#A1A6A8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE 55 | hi Boolean guifg=#A1A6A8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE 56 | hi Operator guifg=#02e0e8 guibg=NONE guisp=NONE gui=bold ctermfg=44 ctermbg=NONE cterm=bold 57 | hi CursorLine guifg=NONE guibg=#222E30 guisp=#222E30 gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE 58 | "hi Union -- no settings -- 59 | hi TabLineFill guifg=#192224 guibg=#5E6C70 guisp=#5E6C70 gui=bold ctermfg=235 ctermbg=66 cterm=bold 60 | "hi Question -- no settings -- 61 | hi WarningMsg guifg=#A1A6A8 guibg=#912C00 guisp=#912C00 gui=NONE ctermfg=248 ctermbg=88 cterm=NONE 62 | hi VisualNOS guifg=#192224 guibg=#F9F9FF guisp=#F9F9FF gui=underline ctermfg=235 ctermbg=189 cterm=underline 63 | hi DiffDelete guifg=NONE guibg=#192224 guisp=#192224 gui=NONE ctermfg=NONE ctermbg=235 cterm=NONE 64 | hi ModeMsg guifg=#F9F9F9 guibg=#192224 guisp=#192224 gui=bold ctermfg=15 ctermbg=235 cterm=bold 65 | hi CursorColumn guifg=NONE guibg=#222E30 guisp=#222E30 gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE 66 | hi Define guifg=#02d5e8 guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE 67 | hi Function guifg=#e70261 guibg=NONE guisp=NONE gui=bold ctermfg=161 ctermbg=NONE cterm=bold 68 | hi FoldColumn guifg=#192224 guibg=#A1A6A8 guisp=#A1A6A8 gui=italic ctermfg=235 ctermbg=248 cterm=NONE 69 | hi PreProc guifg=#02e0e8 guibg=NONE guisp=NONE gui=NONE ctermfg=44 ctermbg=NONE cterm=NONE 70 | "hi EnumerationName -- no settings -- 71 | hi Visual guifg=#192224 guibg=#F9F9FF guisp=#F9F9FF gui=NONE ctermfg=235 ctermbg=189 cterm=NONE 72 | hi MoreMsg guifg=#BD9800 guibg=NONE guisp=NONE gui=bold ctermfg=1 ctermbg=NONE cterm=bold 73 | hi SpellCap guifg=#F9F9FF guibg=#192224 guisp=#192224 gui=underline ctermfg=189 ctermbg=235 cterm=underline 74 | hi VertSplit guifg=#192224 guibg=#5E6C70 guisp=#5E6C70 gui=bold ctermfg=235 ctermbg=66 cterm=bold 75 | hi Exception guifg=#BD9800 guibg=NONE guisp=NONE gui=bold ctermfg=1 ctermbg=NONE cterm=bold 76 | hi Keyword guifg=#02e0e8 guibg=NONE guisp=NONE gui=bold ctermfg=44 ctermbg=NONE cterm=bold 77 | hi Type guifg=#e70261 guibg=NONE guisp=NONE gui=bold ctermfg=161 ctermbg=NONE cterm=bold 78 | hi DiffChange guifg=NONE guibg=#492224 guisp=#492224 gui=NONE ctermfg=NONE ctermbg=52 cterm=NONE 79 | hi Cursor guifg=#192224 guibg=#F9F9F9 guisp=#F9F9F9 gui=NONE ctermfg=235 ctermbg=15 cterm=NONE 80 | hi SpellLocal guifg=#F9F9FF guibg=#192224 guisp=#192224 gui=underline ctermfg=189 ctermbg=235 cterm=underline 81 | hi Error guifg=#A1A6A8 guibg=#912C00 guisp=#912C00 gui=NONE ctermfg=248 ctermbg=88 cterm=NONE 82 | hi PMenu guifg=#192224 guibg=#5E6C70 guisp=#5E6C70 gui=NONE ctermfg=235 ctermbg=66 cterm=NONE 83 | hi SpecialKey guifg=#5E6C70 guibg=NONE guisp=NONE gui=italic ctermfg=66 ctermbg=NONE cterm=NONE 84 | hi Constant guifg=#e70261 guibg=NONE guisp=NONE gui=NONE ctermfg=161 ctermbg=NONE cterm=NONE 85 | "hi DefinedName -- no settings -- 86 | hi Tag guifg=#BD9800 guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE 87 | hi String guifg=#02e89b guibg=NONE guisp=NONE gui=NONE ctermfg=42 ctermbg=NONE cterm=NONE 88 | hi PMenuThumb guifg=NONE guibg=#a4a6a8 guisp=#a4a6a8 gui=NONE ctermfg=NONE ctermbg=248 cterm=NONE 89 | hi MatchParen guifg=#BD9800 guibg=NONE guisp=NONE gui=bold ctermfg=1 ctermbg=NONE cterm=bold 90 | "hi LocalVariable -- no settings -- 91 | hi Repeat guifg=#BD9800 guibg=NONE guisp=NONE gui=bold ctermfg=1 ctermbg=NONE cterm=bold 92 | hi SpellBad guifg=#F9F9FF guibg=#192224 guisp=#192224 gui=underline ctermfg=189 ctermbg=235 cterm=underline 93 | "hi CTagsClass -- no settings -- 94 | hi Directory guifg=#536991 guibg=NONE guisp=NONE gui=bold ctermfg=60 ctermbg=NONE cterm=bold 95 | hi Structure guifg=#536991 guibg=NONE guisp=NONE gui=bold ctermfg=60 ctermbg=NONE cterm=bold 96 | hi Macro guifg=#02e0e8 guibg=NONE guisp=NONE gui=NONE ctermfg=44 ctermbg=NONE cterm=NONE 97 | hi Underlined guifg=#F9F9FF guibg=#192224 guisp=#192224 gui=underline ctermfg=189 ctermbg=235 cterm=underline 98 | hi DiffAdd guifg=NONE guibg=#193224 guisp=#193224 gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE 99 | hi TabLine guifg=#192224 guibg=#5E6C70 guisp=#5E6C70 gui=bold ctermfg=235 ctermbg=66 cterm=bold 100 | hi cursorim guifg=#192224 guibg=#536991 guisp=#536991 gui=NONE ctermfg=235 ctermbg=60 cterm=NONE 101 | "hi clear -- no settings -- 102 | -------------------------------------------------------------------------------- /vim/.vim/colors/zenburn.vim: -------------------------------------------------------------------------------- 1 | " Vim color file 2 | " Maintainer: Jani Nurminen 3 | " URL: http://kippura.org/zenburnpage/ 4 | " License: GNU GPL 5 | " 6 | " Nothing too fancy, just some alien fruit salad to keep you in the zone. 7 | " This syntax file was designed to be used with dark environments and 8 | " low light situations. Of course, if it works during a daybright office, go 9 | " ahead :) 10 | " 11 | " Owes heavily to other Vim color files! With special mentions 12 | " to "BlackDust", "Camo" and "Desert". 13 | " 14 | " To install, copy to ~/.vim/colors directory. 15 | " 16 | " Alternatively, you can use Vimball installation: 17 | " vim zenburn.vba 18 | " :so % 19 | " :q 20 | " 21 | " For details, see :help vimball 22 | " 23 | " After installation, use it with :colorscheme zenburn. 24 | " See also :help syntax 25 | " 26 | " Credits: 27 | " - Jani Nurminen - original Zenburn, maintainer 28 | " - Steve Hall & Cream posse - higher-contrast Visual selection 29 | " - Kurt Maier - 256 color console coloring, low and high contrast toggle, 30 | " bug fixing 31 | " - Charlie - spotted too bright StatusLine in non-high contrast mode 32 | " - Pablo Castellazzi - CursorLine fix for 256 color mode 33 | " - Tim Smith - force dark background 34 | " - John Gabriele - spotted bad Ignore-group handling 35 | " - Zac Thompson - spotted invisible NonText in low contrast mode 36 | " - Christophe-Marie Duquesne - suggested making a Vimball, 37 | " suggested support for ctags_highlighting.vim 38 | " - Andrew Wagner - noted the CursorColumn bug (guifg was unintentionally set), 39 | " unify CursorColumn colour 40 | " - Martin Langasek - clarify the license, whitespace fixes 41 | " - Marcin Szamotulski - support autocomplete for Zenburn configuration 42 | " parameters 43 | " - Clayton Parker (claytron) - Convinced by Kurt Maier to use Zenburn. Point 44 | " out issues with LineNr, fix directory styles, and their usage in MacVim. 45 | " - Paweł Piekarski - Spotted bad FoldColumn and TabLine. Made better 46 | " FoldColumn colors, fixed TabLine colors. 47 | " - Jim - Fix for missing Include group for terminal 48 | " - Peter (Sakartu) - ColorColumn fixes 49 | " - Please see git log for the others not listed here 50 | " 51 | " CONFIGURABLE PARAMETERS: 52 | " 53 | " You can use the default (don't set any parameters), or you can 54 | " set some parameters to tweak the Zenburn colours. 55 | " 56 | " To use them, put them into your .vimrc file before loading the color scheme, 57 | " example: 58 | " let g:zenburn_high_Contrast=1 59 | " colors zenburn 60 | " 61 | " You can also do ":let g:zenburn" then hit Ctrl-d or Tab to scroll through the 62 | " list of configurable parameters. 63 | " 64 | " * You can now set a darker background for bright environments. To activate, use: 65 | " let g:zenburn_high_Contrast = 1 66 | " 67 | " * For transparent terminals set the background to black with: 68 | " let g:zenburn_transparent = 1 69 | " 70 | " * For example, Vim help files uses the Ignore-group for the pipes in tags 71 | " like "|somelink.txt|". By default, the pipes are not visible, as they 72 | " map to Ignore group. If you wish to enable coloring of the Ignore group, 73 | " set the following parameter to 1. Warning, it might make some syntax files 74 | " look strange. 75 | " 76 | " let g:zenburn_color_also_Ignore = 1 77 | " 78 | " * To increase the contrast/brightness of the Visual selection, use 79 | " 80 | " let g:zenburn_alternate_Visual = 1 81 | " 82 | " Note: if the old-style Visual is used, this increases the contrast. 83 | " Otherwise it chooses a brighter background; see g:zenburn_old_Visual 84 | " 85 | " * To use alternate colouring for Error message, use 86 | " 87 | " let g:zenburn_alternate_Error = 1 88 | " 89 | " * The new default for Include is a duller orange. To use the original 90 | " colouring for Include, use 91 | " 92 | " let g:zenburn_alternate_Include = 1 93 | " 94 | " * To disable underlining for Labels, use 95 | " 96 | " let g:zenburn_disable_Label_underline = 1 97 | " 98 | " * Work-around to a Vim bug, it seems to misinterpret ctermfg and 234 and 237 99 | " as light values, and sets background to light for some people. If you have 100 | " this problem, use: 101 | " 102 | " let g:zenburn_force_dark_Background = 1 103 | " 104 | " * By default the CursorColumn is of a lighter colour. I find it more readable 105 | " that way, but some people may want to align it with the darker CursorLine 106 | " color, for visual uniformity. To do so, use: 107 | " 108 | " let g:zenburn_unified_CursorColumn = 1 109 | " 110 | " Note: you can ignore this unless you use 111 | " ":set cursorline cursorcolumn", since otherwise the effect won't be 112 | " seen. 113 | " 114 | " * With g:zenburn_high_Contrast enabled, the CursorLine and CursorColumn will 115 | " be bold. If you don't like it, bold CursorLine and CursorColumn can be 116 | " disabled with: 117 | " 118 | " let g:zenburn_disable_bold_CursorBars=1 119 | " 120 | " * New (dark) Visual coloring has been introduced. 121 | " The dark Visual is more aligned with the rest of the colour scheme, 122 | " especially if you use line numbers. If you wish to use the 123 | " old Visual coloring, use 124 | " 125 | " let g:zenburn_old_Visual = 1 126 | " 127 | " Default is to use the new Visual. 128 | " 129 | " * Italic comments can be enabled with 130 | " 131 | " let g:zenburn_italic_Comment=1 132 | " 133 | " Note: This requires the terminal to support italics. Try this in your 134 | " terminal: 135 | " 136 | " echo -e "\e[3m test \e[23m" 137 | " 138 | " and if the output is not italic, then you should not enable italic comments, 139 | " as they will not render correctly. 140 | " 141 | " * If you prefer line numbers to be less visible, use 142 | " 143 | " let g:zenburn_subdued_LineNr=1 144 | " 145 | " * EXPERIMENTAL FEATURE: Zenburn would like to support TagHighlight 146 | " (an evolved ctags-highlighter) by Al Budden (homepage: 147 | " http://www.cgtk.co.uk/vim-scripts/taghighlight). 148 | " Current support status is broken: there is no automatic detection of 149 | " TagHighlight, no specific language support; however there is some basic 150 | " support for Python. If you are a user of TagHighlight and want to help, 151 | " please enable: 152 | " 153 | " let g:zenburn_enable_TagHighlight=1 154 | " 155 | " and improve the corresponding block at the end of the file. 156 | " 157 | " NOTE: 158 | " 159 | " * To turn the parameter(s) back to defaults, use UNLET or set them to 0: 160 | " 161 | " unlet g:zenburn_alternate_Include 162 | " or 163 | " let g:zenburn_alternate_Include = 0 164 | " 165 | " 166 | " That's it, enjoy! 167 | " 168 | " TODO 169 | " - Visual alternate color is broken? Try GVim >= 7.0.66 if you have trouble 170 | " - IME colouring (CursorIM) 171 | 172 | " Finish if we are in a term lacking 256 color support 173 | if ! has("gui_running") && &t_Co <= 255 174 | finish 175 | endif 176 | 177 | " Set defaults, but keep any parameters already set by the user 178 | if ! exists("g:zenburn_high_Contrast") 179 | let g:zenburn_high_Contrast = 0 180 | endif 181 | 182 | if ! exists("g:zenburn_transparent") 183 | let g:zenburn_transparent = 0 184 | endif 185 | 186 | if ! exists("g:zenburn_color_also_Ignore") 187 | let g:zenburn_color_also_Ignore = 0 188 | endif 189 | 190 | if ! exists("g:zenburn_alternate_Error") 191 | let g:zenburn_alternate_Error = 0 192 | endif 193 | 194 | if ! exists("g:zenburn_force_dark_Background") 195 | let g:zenburn_force_dark_Background = 0 196 | endif 197 | 198 | if ! exists("g:zenburn_alternate_Visual") 199 | let g:zenburn_alternate_Visual = 0 200 | endif 201 | 202 | if ! exists("g:zenburn_alternate_Include") 203 | let g:zenburn_alternate_Include = 0 204 | endif 205 | 206 | if ! exists("g:zenburn_disable_Label_underline") 207 | let g:zenburn_disable_Label_underline = 0 208 | endif 209 | 210 | if ! exists("g:zenburn_unified_CursorColumn") 211 | let g:zenburn_unified_CursorColumn = 0 212 | endif 213 | 214 | if ! exists("g:zenburn_disable_bold_CursorBars") 215 | let g:zenburn_disable_bold_CursorBars = 0 216 | endif 217 | 218 | if ! exists("g:zenburn_old_Visual") 219 | let g:zenburn_old_Visual = 0 220 | endif 221 | 222 | if ! exists("g:zenburn_enable_TagHighlight") 223 | let g:zenburn_enable_TagHighlight = 0 224 | endif 225 | 226 | if ! exists("g:zenburn_italic_Comment") 227 | let g:zenburn_italic_Comment = 0 228 | endif 229 | 230 | if ! exists("g:zenburn_subdued_LineNr") 231 | let g:zenburn_subdued_LineNr = 0 232 | endif 233 | 234 | " ----------------------------------------------- 235 | 236 | set background=dark 237 | 238 | hi clear 239 | if exists("syntax_on") 240 | syntax reset 241 | endif 242 | let g:colors_name="zenburn" 243 | 244 | hi Boolean guifg=#dca3a3 ctermfg=181 245 | hi Character guifg=#dca3a3 gui=bold ctermfg=181 cterm=bold 246 | if exists("g:zenburn_italic_Comment") && g:zenburn_italic_Comment 247 | hi Comment guifg=#7f9f7f gui=italic ctermfg=108 cterm=italic 248 | else 249 | hi Comment guifg=#7f9f7f ctermfg=108 250 | endif 251 | hi Comment guifg=#7f9f7f ctermfg=108 252 | hi Conditional guifg=#f0dfaf gui=bold ctermfg=223 cterm=bold 253 | hi Constant guifg=#dca3a3 gui=bold ctermfg=181 cterm=bold 254 | hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold ctermfg=233 ctermbg=109 cterm=bold 255 | hi Debug guifg=#bca3a3 gui=bold ctermfg=181 cterm=bold 256 | hi Define guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold 257 | hi Delimiter guifg=#8f8f8f ctermfg=245 258 | hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold ctermfg=66 ctermbg=237 cterm=bold 259 | hi DiffChange guibg=#333333 ctermbg=236 260 | hi DiffDelete guifg=#333333 guibg=#464646 ctermfg=236 ctermbg=238 261 | hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold ctermfg=217 ctermbg=237 cterm=bold 262 | hi Directory guifg=#9fafaf gui=bold ctermfg=109 cterm=bold 263 | hi ErrorMsg guifg=#80d4aa guibg=#2f2f2f gui=bold ctermfg=115 ctermbg=236 cterm=bold 264 | hi Exception guifg=#c3bf9f gui=bold ctermfg=249 cterm=bold 265 | hi Float guifg=#c0bed1 ctermfg=251 266 | hi FoldColumn guifg=#93b3a3 guibg=#3f4040 267 | hi Folded guifg=#93b3a3 guibg=#3f4040 268 | hi Function guifg=#efef8f ctermfg=228 269 | hi Identifier guifg=#efdcbc ctermfg=223 cterm=none 270 | hi IncSearch guifg=#f8f893 guibg=#385f38 ctermfg=228 ctermbg=23 271 | hi Keyword guifg=#f0dfaf gui=bold ctermfg=223 cterm=bold 272 | hi Macro guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold 273 | hi ModeMsg guifg=#ffcfaf gui=none ctermfg=223 cterm=none 274 | hi MoreMsg guifg=#ffffff gui=bold ctermfg=231 cterm=bold 275 | hi Number guifg=#8cd0d3 ctermfg=116 276 | hi Operator guifg=#f0efd0 ctermfg=230 277 | hi PmenuSbar guibg=#2e3330 guifg=#000000 ctermfg=16 ctermbg=236 278 | hi PmenuThumb guibg=#a0afa0 guifg=#040404 ctermfg=232 ctermbg=151 279 | hi PreCondit guifg=#dfaf8f gui=bold ctermfg=180 cterm=bold 280 | hi PreProc guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold 281 | hi Question guifg=#ffffff gui=bold ctermfg=231 cterm=bold 282 | hi Repeat guifg=#ffd7a7 gui=bold ctermfg=223 cterm=bold 283 | hi Search guifg=#ffffe0 guibg=#284f28 ctermfg=230 ctermbg=22 284 | hi SignColumn guifg=#9fafaf gui=bold ctermfg=109 cterm=bold 285 | hi SpecialChar guifg=#dca3a3 gui=bold ctermfg=181 cterm=bold 286 | hi SpecialComment guifg=#82a282 gui=bold ctermfg=108 cterm=bold 287 | hi Special guifg=#cfbfaf ctermfg=181 288 | hi SpecialKey guifg=#9ece9e ctermfg=151 289 | hi Statement guifg=#e3ceab gui=none ctermfg=187 cterm=none 290 | hi StatusLine guifg=#313633 guibg=#ccdc90 ctermfg=236 ctermbg=186 291 | hi StatusLineNC guifg=#2e3330 guibg=#88b090 ctermfg=235 ctermbg=108 292 | hi StorageClass guifg=#c3bf9f gui=bold ctermfg=249 cterm=bold 293 | hi String guifg=#cc9393 ctermfg=174 294 | hi Structure guifg=#efefaf gui=bold ctermfg=229 cterm=bold 295 | hi Tag guifg=#e89393 gui=bold ctermfg=181 cterm=bold 296 | hi Title guifg=#efefef gui=bold ctermfg=255 ctermbg=NONE cterm=bold 297 | hi Todo guifg=#dfdfdf guibg=NONE gui=bold ctermfg=254 ctermbg=NONE cterm=bold 298 | hi Typedef guifg=#dfe4cf gui=bold ctermfg=253 cterm=bold 299 | hi Type guifg=#dfdfbf gui=bold ctermfg=187 cterm=bold 300 | hi Underlined guifg=#dcdccc gui=underline ctermfg=188 cterm=underline 301 | hi VertSplit guifg=#2e3330 guibg=#688060 ctermfg=236 ctermbg=65 302 | hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline ctermfg=236 ctermbg=210 cterm=bold 303 | hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold ctermfg=231 ctermbg=236 cterm=bold 304 | hi WildMenu guifg=#cbecd0 guibg=#2c302d gui=underline ctermfg=194 ctermbg=236 cterm=underline 305 | 306 | " spellchecking, always "bright" term background 307 | hi SpellBad guisp=#bc6c4c guifg=#dc8c6c ctermfg=209 ctermbg=237 308 | hi SpellCap guisp=#6c6c9c guifg=#8c8cbc ctermfg=103 ctermbg=237 309 | hi SpellRare guisp=#bc6c9c guifg=#bc8cbc ctermfg=139 ctermbg=237 310 | hi SpellLocal guisp=#7cac7c guifg=#9ccc9c ctermfg=151 ctermbg=237 311 | 312 | if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast 313 | " use new darker background 314 | hi Normal guifg=#dcdccc guibg=#1f1f1f ctermfg=188 ctermbg=234 315 | hi Conceal guifg=#8f8f8f guibg=#333333 ctermfg=246 ctermbg=235 316 | hi ColorColumn guibg=#33332f ctermbg=235 317 | if exists("g:zenburn_disable_bold_CursorBars") && g:zenburn_disable_bold_CursorBars 318 | " no bold 319 | if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn 320 | hi CursorColumn guibg=#121212 ctermbg=233 cterm=none 321 | else 322 | hi CursorColumn guibg=#2b2b2b ctermbg=235 cterm=none 323 | endif 324 | 325 | hi CursorLine guibg=#121212 ctermbg=233 cterm=none 326 | else 327 | " bold! 328 | if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn 329 | hi CursorColumn guibg=#121212 gui=bold ctermbg=233 cterm=bold 330 | else 331 | hi CursorColumn guibg=#2b2b2b gui=bold ctermbg=235 cterm=bold 332 | endif 333 | 334 | hi CursorLine guibg=#121212 gui=bold ctermbg=233 cterm=bold 335 | endif 336 | hi CursorLineNr guifg=#f2f3bb guibg=#161616 ctermfg=229 ctermbg=233 cterm=none 337 | hi FoldColumn guibg=#161616 ctermbg=233 ctermfg=109 338 | hi Folded guibg=#161616 ctermbg=233 ctermfg=109 339 | 340 | if exists("g:zenburn_subdued_LineNr") && g:zenburn_subdued_LineNr 341 | hi LineNr guifg=#424242 guibg=#1b1b1b ctermfg=238 ctermbg=234 342 | else 343 | hi LineNr guifg=#9fafaf guibg=#161616 ctermfg=248 ctermbg=233 344 | endif 345 | hi NonText guifg=#404040 gui=bold ctermfg=238 346 | hi Pmenu guibg=#242424 guifg=#ccccbc ctermfg=251 ctermbg=235 347 | hi PmenuSel guibg=#353a37 guifg=#ccdc90 gui=bold ctermfg=187 ctermbg=236 cterm=bold 348 | hi MatchParen guifg=#f0f0c0 guibg=#383838 gui=bold ctermfg=229 ctermbg=237 cterm=bold 349 | hi SignColumn guibg=#181818 ctermbg=233 350 | hi SpecialKey guibg=#242424 351 | hi TabLine guifg=#88b090 guibg=#313633 gui=none ctermbg=236 ctermfg=108 cterm=none 352 | hi TabLineSel guifg=#ccd990 guibg=#222222 ctermbg=235 ctermfg=186 cterm=bold 353 | hi TabLineFill guifg=#88b090 guibg=#313633 gui=none ctermbg=236 ctermfg=108 cterm=none 354 | else 355 | " Original, lighter background 356 | hi Normal guifg=#dcdccc guibg=#3f3f3f ctermfg=188 ctermbg=237 357 | hi Conceal guifg=#8f8f8f guibg=#484848 ctermfg=246 ctermbg=238 358 | hi ColorColumn guibg=#484848 ctermbg=238 359 | hi CursorLine guibg=#434443 ctermbg=238 cterm=none 360 | hi CursorLineNr guifg=#d2d39b guibg=#262626 ctermfg=230 ctermbg=235 cterm=none 361 | if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn 362 | hi CursorColumn guibg=#434343 ctermbg=238 cterm=none 363 | else 364 | hi CursorColumn guibg=#4f4f4f ctermbg=239 cterm=none 365 | endif 366 | hi FoldColumn guibg=#333333 ctermbg=236 ctermfg=109 367 | hi Folded guibg=#333333 ctermbg=236 ctermfg=109 368 | if exists("g:zenburn_subdued_LineNr") && g:zenburn_subdued_LineNr 369 | hi LineNr guifg=#5d6262 guibg=#353535 ctermfg=240 ctermbg=236 370 | else 371 | hi LineNr guifg=#9fafaf guibg=#262626 ctermfg=248 ctermbg=235 372 | endif 373 | hi NonText guifg=#5b605e gui=bold ctermfg=240 374 | hi Pmenu guibg=#2c2e2e guifg=#9f9f9f ctermfg=248 ctermbg=235 375 | hi PmenuSel guibg=#242424 guifg=#d0d0a0 gui=bold ctermfg=187 ctermbg=235 cterm=bold 376 | hi MatchParen guifg=#b2b2a0 guibg=#2e2e2e gui=bold ctermfg=145 ctermbg=236 cterm=bold 377 | hi SignColumn guibg=#343434 ctermbg=236 378 | hi SpecialKey guibg=#444444 379 | hi TabLine guifg=#d0d0b8 guibg=#222222 gui=none ctermbg=235 ctermfg=187 cterm=none 380 | hi TabLineSel guifg=#f0f0b0 guibg=#333333 gui=bold ctermbg=236 ctermfg=229 cterm=bold 381 | hi TabLineFill guifg=#dccdcc guibg=#101010 gui=none ctermbg=233 ctermfg=188 cterm=none 382 | 383 | hi StatusLine ctermbg=144 384 | endif 385 | 386 | if exists("g:zenburn_force_dark_Background") && g:zenburn_force_dark_Background 387 | " Force dark background, because of a bug in VIM: VIM sets background 388 | " automatically during "hi Normal ctermfg=X"; it misinterprets the high 389 | " value (234 or 237 above) as a light color, and wrongly sets background to 390 | " light. See ":help highlight" for details. 391 | set background=dark 392 | endif 393 | 394 | if exists("g:zenburn_transparent") && g:zenburn_transparent 395 | hi Normal ctermbg=0 guibg=#000000 396 | hi Statement ctermbg=NONE 397 | hi Title ctermbg=NONE 398 | hi Todo ctermbg=NONE 399 | hi Underlined ctermbg=NONE 400 | hi DiffAdd ctermbg=NONE 401 | hi DiffText ctermbg=NONE 402 | hi ErrorMsg ctermbg=NONE 403 | hi LineNr ctermbg=NONE 404 | endif 405 | 406 | if exists("g:zenburn_old_Visual") && g:zenburn_old_Visual 407 | if exists("g:zenburn_alternate_Visual") && g:zenburn_alternate_Visual 408 | " Visual with more contrast, thanks to Steve Hall & Cream posse 409 | " gui=none fixes weird highlight problem in at least GVim 7.0.66, thanks to Kurt Maier 410 | hi Visual guifg=#000000 guibg=#71d3b4 gui=none ctermfg=16 ctermbg=79 cterm=none 411 | hi VisualNOS guifg=#000000 guibg=#71d3b4 gui=none ctermfg=16 ctermbg=79 cterm=none 412 | else 413 | " use default visual 414 | hi Visual guifg=#233323 guibg=#71d3b4 gui=none ctermfg=235 ctermbg=79 cterm=none 415 | hi VisualNOS guifg=#233323 guibg=#71d3b4 gui=none ctermfg=235 ctermbg=79 cterm=none 416 | endif 417 | else 418 | " new Visual style 419 | if exists("g:zenburn_alternate_Visual") && g:zenburn_alternate_Visual 420 | " brighter than the high/low contrast options below 421 | hi Visual guibg=#304a3d ctermbg=23 422 | hi VisualNos guibg=#304a3d ctermbg=23 423 | elseif exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast 424 | " high contrast 425 | "TODO no nice greenish in console, 65 is closest. use full black instead, 426 | "although i like the green..! 427 | hi Visual guibg=#0f0f0f ctermbg=232 428 | hi VisualNOS guibg=#0f0f0f ctermbg=232 429 | if exists("g:zenburn_transparent") && g:zenburn_transparent 430 | hi Visual ctermbg=235 431 | endif 432 | else 433 | " low contrast 434 | hi Visual guibg=#2f2f2f ctermbg=235 435 | hi VisualNOS guibg=#2f2f2f ctermbg=235 436 | endif 437 | endif 438 | 439 | if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error 440 | " use more jumpy Error 441 | hi Error guifg=#e37170 guibg=#664040 gui=bold ctermfg=210 ctermbg=52 cterm=bold 442 | else 443 | " default is something more zenburn-compatible 444 | hi Error guifg=#e37170 guibg=#3d3535 gui=bold ctermfg=167 ctermbg=236 cterm=bold 445 | endif 446 | 447 | if exists("g:zenburn_alternate_Include") && g:zenburn_alternate_Include 448 | " original setting 449 | hi Include guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold 450 | else 451 | " new, less contrasted one 452 | hi Include guifg=#dfaf8f gui=bold ctermfg=180 cterm=bold 453 | endif 454 | 455 | if exists("g:zenburn_disable_Label_underline") && g:zenburn_disable_Label_underline 456 | hi Label guifg=#dfcfaf ctermfg=187 457 | else 458 | hi Label guifg=#dfcfaf gui=underline ctermfg=187 cterm=underline 459 | endif 460 | 461 | if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore 462 | " color the Ignore groups 463 | " note: if you get strange coloring for your files, turn this off (unlet) 464 | if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast 465 | hi Ignore ctermfg=238 466 | else 467 | hi Ignore guifg=#545a4f ctermfg=240 468 | endif 469 | endif 470 | 471 | " EXPERIMENTAL TagHighlight support 472 | " link/set sensible defaults here; 473 | " 474 | " For now I mostly link to subset of Zenburn colors, the linkage is based 475 | " on appearance, not semantics. In later versions I might define more new colours. 476 | " 477 | " HELP NEEDED to make this work properly. 478 | 479 | if exists("g:zenburn_enable_TagHighlight") && g:zenburn_enable_TagHighlight 480 | " CTag support may vary, but the first step is to start using it so 481 | " we can fix it! 482 | " 483 | " Consult /plugin/TagHighlight/data/kinds.txt for info on your 484 | " language and what's been defined. 485 | " 486 | " There is potential for language indepedent features here. (Acutally, 487 | " seems it may be required for this to be useful...) This way we can 488 | " implement features depending on how well CTags are currently implemented 489 | " for the language. ie. Global problem for python is annoying. Special 490 | " colors are defined for special language features, etc.. 491 | " 492 | " For now all I care about is python supported features: 493 | " c:CTagsClass 494 | " f:CTagsFunction 495 | " i:CTagsImport 496 | " m:CTagsMember 497 | " v:CTagsGlobalVariable 498 | " 499 | " Note: TagHighlight defaults to setting new tags to Keyword 500 | " highlighting. 501 | 502 | " TODO conditionally run each section 503 | " BEGIN Python Section 504 | hi link Class Function 505 | hi link Import PythonInclude 506 | hi link Member Function 507 | "Note: Function is already defined 508 | 509 | " Highlighter seems to think a lot of things are global variables even 510 | " though they're not. Example: python method-local variable is 511 | " coloured as a global variable. They should not be global, since 512 | " they're not visible outside the method. 513 | " If this is some very bright colour group then things look bad. 514 | " hi link GlobalVariable Identifier 515 | 516 | " Because of this problem I am disabling the feature by setting it to 517 | " Normal instead 518 | hi link GlobalVariable Normal 519 | " END Python Section 520 | 521 | " Starting point for other languages. 522 | hi link GlobalConstant Constant 523 | hi link EnumerationValue Float 524 | hi link EnumerationName Identifier 525 | hi link DefinedName WarningMsg 526 | hi link LocalVariable WarningMsg 527 | hi link Structure WarningMsg 528 | hi link Union WarningMsg 529 | endif 530 | 531 | " Terminal support for Vim 8+ 532 | if version >= 802 533 | let g:terminal_ansi_colors = [ 534 | \ '#1f1f1f', '#cc9393', 535 | \ '#5f7f5f', '#ffd7a7', 536 | \ '#8cb0d3', '#8f8f8f', 537 | \ '#71d3b4', '#dfe4cf', 538 | \ '#6f6f6f', '#ecb3b3', 539 | \ '#ffd7a7', '#8cb0d3', 540 | \ '#8f8f8f', '#71d3b4', 541 | \ '#dfe4cf', '#ffcfaf', 542 | \] 543 | else 544 | if version >= 800 545 | hi Terminal ctermbg=232 guibg=#0f0f0f ctermfg=248 guifg=#a8a8a8 546 | endif 547 | endif 548 | 549 | " TODO check for more obscure syntax groups that they're ok 550 | --------------------------------------------------------------------------------