GithubHelp home page GithubHelp logo

jbyuki / vim-nightfly-guicolors Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bluz71/vim-nightfly-colors

0.0 2.0 0.0 168 KB

Another dark color scheme for Vim

License: MIT License

Vim Script 90.99% Shell 9.01%

vim-nightfly-guicolors's Introduction

nightfly

nightfly is a dark GUI color scheme for Vim and Neovim heavily inspired by Sarah Drasner's Night Owl theme mixed with a dash of my own moonfly theme.

Be aware, the nightfly color scheme does incrementally change from time to time, primarily with regard to language and plugin theming.

Color Palette

palette

Prerequisites

nightfly is a GUI-only Vim color scheme.

A GUI client, such as gvim, or a modern terminal version of Vim/Neovim with termguicolors enabled in a true-color terminal, will be required. Details about true-color terminals are listed below.

nightfly explicitly does not support the 256 color cterm version of Vim due to the number of custom colors required. 256 color terminals only allow 16 custom colors. I encourage terminal users to use a true-color terminal, such as: iTerm2, GNOME Terminal or Alacritty, and enable the termguicolors option.

Screenshots

Ruby

ruby

JavaScript

javascript

The font in use is Iosevka.

Languages explicitly styled

  • All Neovim Treesitter highlighted-languages
  • C/C++
  • Clojure
  • CoffeeScript
  • Crystal
  • Elixir
  • Elm
  • Dart
  • Go
  • Haskell
  • Java
  • JavaScript
  • Lua
  • Markdown
  • PHP
  • PureScript
  • Python
  • Ruby
  • Rust
  • Scala
  • Shell
  • TypeScript

Plugins explicity styled

Installation

Use your favoured plugin manager to install bluz71/vim-nightfly-guicolors then set the colorscheme in your vimrc file.

If using vim-plug do the following:

  1. Add Plug 'bluz71/vim-nightfly-guicolors' to your vimrc
  2. Run :PlugInstall
  3. Add colorscheme nightfly to your vimrc, make sure this line appears after the Plug declaration.

Status line

The nightfly color scheme supports lightline.vim. To enable the nightfly lightline colorscheme, after the lightline.vim plugin has been installed, please add the following to your vimrc:

let g:lightline = { 'colorscheme': 'nightfly' }

The nightfly color scheme also supports vim-airline. With modern versions of vim-airline the nightfly theme will be automatically loaded.

Alternatively, vim-moonfly-statusline is available for those that want a simple yet informative status line. After the vim-moonfly_statusline plugin has been installed, please add the following to your vimrc:

let g:moonflyIgnoreDefaultColors = 1

This option will tell moonfly-statusline to not use the default moonfly colors of that plugin, but instead use the specified statusline colors defined by this nightfly color scheme.

Options

The g:nightflyCursorColor option specifies whether to color the cursor or not. By default the cursor will NOT be colored. If you prefer a colored cursor then add the following to your vimrc:

let g:nightflyCursorColor = 1

The g:nightflyTerminalColors option specifies whether to use the nightfly color palette in :terminal windows when termguicolors is set. By default this option is enabled. If you prefer not to use the nightfly color palette for the first 16 terminal colors then add the following to your vimrc:

let g:nightflyTerminalColors = 0

The g:nightflyUnderlineMatchParen option specifies whether to underline matching parentheses. By default this option is disabled. If you want to underline matching parentheses then add the following to your vimrc:

let g:nightflyUnderlineMatchParen = 1

The g:nightflyUndercurls option specifies whether to use undercurls for spelling and linting errors in GUI versions of Vim, including terminal Vim with termguicolors set. By default this option is enabled. If you do not like the appearance of undercurls then add the following to your vimrc:

let g:nightflyUndercurls = 0

The g:nightflyItalics option specifies whether to use italics for comments and certain HTML elements in GUI versions of Vim. By default this option is enabled. If you do not like the appearance of italics then add the following to your vimrc:

let g:nightflyItalics = 0

The g:nightflyTransparent option specifies whether to use an opaque or transparent background in GUI versions of Vim. By default this option is disabled. If you would like a transparent background then add the following to your vimrc:

let g:nightflyTransparent = 1

The g:nightflyNormalFloat option specifies whether to use customised background and foreground colors in Neovim floating windows. By default this options is disabled, hence, Neovim floating windows will usually be styled with popup menu colors. If you would like to use nightfly colors instead then add the following to your configuration:

let g:nightflyNormalFloat = 1

๐Ÿ’ก If the above option is set then it is highly recommended to enable floating window borders to distinguish between the edit and floating windows, for example:

  vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(
   vim.lsp.handlers.hover, {
     border = {
       {'โ”Œ', 'FloatBorder'},
       {'โ”€', 'FloatBorder'},
       {'โ”', 'FloatBorder'},
       {'โ”‚', 'FloatBorder'},
       {'โ”˜', 'FloatBorder'},
       {'โ”€', 'FloatBorder'},
       {'โ””', 'FloatBorder'},
       {'โ”‚', 'FloatBorder'}
     }
   }
  )

True Color Terminals

Many modern terminals support 24-bit true colors. Current versions of Vim and Neovim on such terminals support true colors when set termguicolors is enabled.

A list of popular terminals that support true colors:

On terminals that support true colors, and when termguicolors is set, the nightfly color scheme will emit the correct theme colors.

For the nightfly color scheme to display correctly inside tmux the following setting will usually be required in ~/.tmux.conf:

set -ga terminal-overrides ',xterm-256color:Tc'

Vim, as against Neovim, inside tmux, will also require the following setting be added to vimrc:

let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"

Terminal Themes

A collection of nightfly-flavoured terminal themes are provided:

  • iTerm2 users on macOS can import this color scheme

  • GNOME Terminal users can run this script to create a Nightfly profile. Before executing the script, please install the dconf-cli command line utility for modern versions of Gnome (3.28 and later), for example sudo apt install dconf-cli. After executing the script, please set the cursor and selection colors by hand, with the appropriate color values listed below, in Preferences / Nightfly / Colors.

  • Alacritty users can copy this theme into their alacritty.yml configuration.

  • kitty users can use this theme

For other terminals please configure appropriately with the following colors:

Type Category Value Color
Background Background #011627 background
Foreground Foreground #acb4c2 background
Bold Bold #eeeeee background
Cursor Cursor #9ca1aa background
Cursor Text Cursor Text #080808 background
Selection Selection #b2ceee background
Selection Text Selection Text #080808 background
Color 1 Black (normal) #1d3b53 background
Color 2 Red (normal) #fc514e background
Color 3 Green (normal) #a1cd5e background
Color 4 Yellow (normal) #e3d18a background
Color 5 Blue (normal) #82aaff background
Color 6 Purple (normal) #c792ea background
Color 7 Cyan (normal) #7fdbca background
Color 8 White (normal) #a1aab8 background
Color 9 Black (bright) #7c8f8f background
Color 10 Red (bright) #ff5874 background
Color 11 Green (bright) #21c7a8 background
Color 12 Yellow (bright) #ecc48d background
Color 13 Blue (bright) #82aaff background
Color 14 Purple (bright) #ae81ff background
Color 15 Cyan (bright) #7fdbca background
Color 16 White (bright) #d6deeb background

License

MIT

vim-nightfly-guicolors's People

Contributors

bluz71 avatar jayphen avatar strayer avatar

Watchers

James Cloos avatar  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.