Ⅰ. 插件描述
Adaptation of one-light and one-dark colorschemes for VimⅡ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'rakr/vim-one-without-it'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'rakr/vim-one-without-it'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'rakr/vim-one-without-it'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/rakr/vim-one
Ⅳ. 文档说明
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
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)
- Ruby
- Rust (thanks: 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.
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 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.
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
:
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.
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
"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
endif
set 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 for more details on setting up tmux.
For Vim inside tmux, you can add the following snippet in your ~/.vimrc
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 examplevimLineComment
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 combination
For example:
call one#highlight('vimLineComment', 'cccccc', '', 'none')
Contributors
A special thank you to the following people
- laggardkernel: Startup time improvement
- Erasin: Rust support
- Malcolm Ramsay - malramsay64: Gracefully fail if colorscheme is not properly loaded
- Arthur Xavier: PureScript support
- keremc: Tip Vim true color support inside tmux
- jetm: C/C++ highlighting