Giter Club home page Giter Club logo

vim-monotone's Introduction

m o n o t o n e

Another monochrome vim colorscheme. Inspired by various other monochrome colorschemes.

Monotone is a middle ground between a regular colorscheme and no syntax highlighting at all. The colorscheme differentiates comments, strings and keywords with different weights and shades of gray. It emphasizes errors, warnings and search highlighting as shown in the screenshots below.

Customization

Theme customizations require a GUI or a terminal emulator with termguicolors set. Otherwise monotone falls back to the default gray theme. Kitty is recommended for full support for customizations and special styling like underline/undercurl highlighting.

Customization variables must be set before colorscheme monotone is executed.

Monotone command

Monotone defines a g:Monotone function with a corresponding Monotone command, which can be used to load the colorscheme with user-defined settings without setting global config variables. This can be used e.g. for setting buffer-specific colors or adjusting colorscheme brightness based on the time of day. Examples can be found in the wiki.

Example usage:

" Monotone <h> <s> <l> <secondary-hue> <emphasize-comments> <emphasize-whitespace> <contrast-factor>
" Note: All positional arguments except h/s/l are optional
" Set the colorscheme to a monochrome beige color:
Monotone 10 25 80

Theme color

The theme color can be customized by setting g:monotone_color to an array of HSL values.

Secondary colors

Monotone highlights important information in bright colors. The default colors are bright red, yellow and blue, which are used to highlight stuff like cursors, search matches and messages. By setting g:monotone_secondary_hue_offset it's possible to offset the secondary colors to better match a theme color.

Emphasize comments

Comments are highlighted in a darker color by default. If you prefer to emphasize comments, set g:monotone_emphasize_comments to 1. This will highlight comments with the warning highlight color (yellow by default).

Emphasize whitespace

Whitespace (listchars) is highlighted in a darker color by default. If you prefer to emphasize whitespace (e.g. if you only use listchars to highlight trailing whitespace), set g:monotone_emphasize_whitespace to 1. This will highlight whitespace with the error highlight color (red by default).

Adjust contrast

You may adjust the colorscheme contrast to your liking by setting g:monotone_contrast_factor. The contrast factor only affects dark/background colors, i.e. different contrast levels are achieved by changing the background lightness.

The default contrast factor is 1.0. Recommended values are between 0.9 and 1.1.

Configuration example

let g:monotone_color = [120, 100, 70] " Sets theme color to bright green
let g:monotone_secondary_hue_offset = 200 " Offset secondary colors by 200 degrees
let g:monotone_emphasize_comments = 1 " Emphasize comments
colorscheme monotone

Screenshots

Screenshot of Kotlin and vimscript syntax examples in a split window

Screenshot of search and TODO highlighting examples

Screenshot of f.lux-like colors

Screenshot of custom theme color

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.