Giter Site home page Giter Site logo

vim-one's Introduction

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

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 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 combination

For example:

call one#highlight('vimLineComment', 'cccccc', '', 'none')

Contributors

A special thank you to the following people

vim-one's People

Contributors

rakr avatar malramsay64 avatar rwmpelstilzchen avatar jonsmithers avatar wsdjeg avatar siegelaaron94 avatar andrepolischuk avatar arthurxavierx avatar erasin avatar geoffharcourt avatar martybegood avatar rootulp avatar salemhilal avatar fatalis avatar nguquen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.