Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rakr/vim-one
Adaptation of one-light and one-dark colorschemes for Vim
https://github.com/rakr/vim-one
colorscheme one-dark one-light vim vim-colorscheme
Last synced: about 2 months ago
JSON representation
Adaptation of one-light and one-dark colorschemes for Vim
- Host: GitHub
- URL: https://github.com/rakr/vim-one
- Owner: rakr
- License: mit
- Created: 2016-06-23T14:52:10.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-02T20:40:47.000Z (12 months ago)
- Last Synced: 2024-08-01T16:56:16.582Z (5 months ago)
- Topics: colorscheme, one-dark, one-light, vim, vim-colorscheme
- Language: Vim script
- Size: 3.74 MB
- Stars: 1,982
- Watchers: 18
- Forks: 196
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred-test - rakr/vim-one - Adaptation of one-light and one-dark colorschemes for Vim (Vim Script)
README
![Logo][logo]
Light and dark vim colorscheme, shamelessly stolen from atom (another
excellent text editor). **One** supports *true colors* and falls back
gracefully and automatically if your environment does not support this
feature.## Vim Airline theme
Add the following line to your `~/.vimrc` or `~/.config/nvim/init.vim`
```vim
let g:airline_theme='one'
```As for the colorscheme, this theme comes with light and dark flavors.
## List of enhanced language support
Pull requests are more than welcome here.
I have created few issues to provide a bare bone roadmap for this color
scheme.### Stable
* Asciidoc
* CSS and Sass
* Cucumber features
* Elixir
* Go
* Haskell
* HTML
* JavaScript, JSON
* Markdown
* PureScript (thanks: [Arthur Xavier](https://github.com/arthur-xavier))
* Ruby
* Rust (thanks: [Erasin](https://github.com/erasin))
* Vim
* XML### In progress
* Jade
* PHP
* Python
* Switch to estilo in progress, not stable at all and does not reflect all the
capabilities of the current mainstream version## Installation
You can use your preferred Vim Package Manager to install **One**.
## Usage
**One** comes in two flavors: light and dark.
```vim
colorscheme one
set background=dark " for the dark version
" set background=light " for the light version
````set background` has to be called after setting the colorscheme, this explains
the issue [#21][issue_21] where Vim tries to determine the best background when `ctermbg`
for the `Normal` highlight is defined.### Italic support
Some terminals do not support italic, cf. [#3][issue_3].
If your terminal does support _italic_, you can set the `g:one_allow_italics` variable to 1 in your `.vimrc` or `.config/nvim/init.vim`:
```vim
set background=light " for the light version
let g:one_allow_italics = 1 " I love italic for comments
colorscheme one
```iTerm2 can support italic, follow the instructions given in this [blog post by Alex Pearce](https://alexpearce.me/2014/05/italics-in-iterm2-vim-tmux/).
Make sure to read the update if you are using tmux version 2.1 or above.### True color support
To benefit from the **true color** support make sure to add the following lines in your `.vimrc` or `.config/nvim/init.vim````vim
"Credit joshdick
"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux.
"If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support
"(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.)
if (empty($TMUX))
if (has("nvim"))
"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif
"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >
if (has("termguicolors"))
set termguicolors
endif
endifset background=dark " for the dark version
" set background=light " for the light version
colorscheme one
```
### Tmux support
To get true color working in tmux, ensure that the `$TERM` environment variable is set to `xterm-256color`. Inside the `.tmux.conf` file we need to override this terminal and also set the default terminal as 256 color.```
# Add truecolor support
set-option -ga terminal-overrides ",xterm-256color:Tc"
# Default terminal is 256 colors
set -g default-terminal "screen-256color"
```Note that this only works for Neovim (tested on 0.1.5). For some reason Vim (7.5.2334) doesn't play nice. See [blog post by Anton Kalyaev](http://homeonrails.com/2016/05/truecolor-in-gnome-terminal-tmux-and-neovim/) for more details on setting up tmux.
For Vim inside tmux, you can add the following snippet in your `~/.vimrc`
```viml
set t_8b=^[[48;2;%lu;%lu;%lum
set t_8f=^[[38;2;%lu;%lu;%lum
```Note: the `^[` in this snippet is a real escape character. To insert it, press `Ctrl-V` and then `Esc`.
I've tested the following setup on a Mac:
* iTerm2 nightly build
* Neovim 0.1.4 and 0.1.5-dev
* Vim 7.4.1952## Customising One without fork
Following a request to be able to customise **one** without the need to fork,
**one** is now exposing a public function to meet this requirement.After the colorscheme has been initialised, you can call the following function:
```
one#highlight(group, fg, bg, attribute)
```* `group`: Highlight you want to customise for example `vimLineComment`
* `fg`: foreground color for the highlight, without the '#', for example:
`ff0000`
* `bg`: background color for the highlight, without the '#', for example:
`ff0000`
* `attribute`: `bold`, `italic`, `underline` or any comma separated combinationFor example:
```
call one#highlight('vimLineComment', 'cccccc', '', 'none')
```## Contributors
A special thank you to the following people
* [laggardkernel](https://github.com/laggardkernel): Startup time improvement
* [Erasin](https://github.com/erasin): Rust support
* [Malcolm Ramsay - malramsay64](https://github.com/malramsay64): Gracefully fail if colorscheme is not properly loaded
* [Arthur Xavier](https://github.com/arthur-xavier): PureScript support
* [keremc](https://github.com/keremc): Tip Vim true color support inside tmux
* [jetm](https://github.com/jetm): C/C++ highlighting[logo]: screenshots/new-logo.png
[issue_3]: https://github.com/rakr/vim-one/issues/3
[issue_21]: https://github.com/rakr/vim-one/issues/21