Iceberg — dark blue color scheme for Vim / Neovim

Iceberg is a well-designed, eye-friendly dark blue color scheme for Vim and Neovim. Each colors are carefully picked for full-colors environment, and it works in 256-colors terminal as well.

  • 256-colors terminal support
  • airline theme and lightline colorscheme
  • Various plugins support: ALE / CtrlP / Denite / Easy Motion / Git Gutter / Signify / Sneak / Startify / Syntastic / vim-plug / etc.
  • Better syntax highlight with: typescript-vim / vim-flow / vim-graphql / vim-javascript / vim-markdown / etc.
  • Vim / Neovim terminal colors support

Preview

  • 1 import ClassName from '../misc/class_name';¬
    2 import View from './view';¬
    3 ¬
    4 class RootView extends View {¬
    5 constructor() {¬
    6 ▸ ▸ super();¬
    7 ¬
    8 ▸ ▸ this.getElement().classList.add(¬
    9 ▸ ▸ ▸ ClassName.get(RootView.BLOCK_CLASS)¬
    10 ▸ ▸ );¬
    11 ¬
    12 ▸ ▸ this.addSubview(new View());¬
    13 ▸ ▸ this.addSubview(new View());¬
    14 ¬
    15 ▸ ▸ this.getMainView().getElement().classList.add(¬
    16 ▸ ▸ ▸ ClassName.get(RootView.BLOCK_CLASS, 'main')¬
    17 ▸ ▸ );¬
    18 ▸ ▸ this.getFooterView().getElement().classList.add(¬
    19 ▸ ▸ ▸ ClassName.get(RootView.BLOCK_CLASS, 'footer')¬
    20 ▸ ▸ );¬
    21 }¬
    22 ¬
    23 getMainView() {¬
    24 ▸ ▸ return this.getSubviews()[0];¬
    25 }¬
    26 ¬
    27 getFooterView() {¬
    28 ▸ ▸ return this.getSubviews()[1];¬
    29 }¬
    30 }¬
    31 ¬
    32 RootView.BLOCK_CLASS = 'rtv';¬
    33 ¬
    34 export default RootView;¬
    35 ¬
    36 ¬
    37 // https://raw.githubusercontent.com/cocopon/tweakpane/develop/src/main/js/view/root_view.js¬
    javascript
  • 1 <!DOCTYPE html>¬
    2 <html>¬
    3 <head>¬
    4 <meta charset="UTF-8">¬
    5 <meta name="viewport" content="initial-scale=1.0">¬
    6 <title>cocopon.me - cocopon.me</title>¬
    7 <link rel="stylesheet" href="/assets/css/bundle.css?201807312314">¬
    8 <link rel="canonical" href="https://cocopon.me/">¬
    9 <script defer src="https://use.fontawesome.com/releases/v5.0.7/js/all.js"></script>¬
    10 </head>¬
    11 <body>¬
    12 <div class="common-globalHeader">¬
    13 <div class="common-globalHeader_innerLayout">¬
    14 ▸ ▸ <div class="common-globalHeader_logoLayout">¬
    15 ▸ ▸ ▸ <a class="common-globalHeader_logo" href="/">cocopon.me</a>¬
    16 ▸ ▸ </div>¬
    17 ▸ ▸ <div class="common-globalHeader_titleLayout">¬
    18 ▸ ▸ </div>¬
    19 ▸ ▸ <div class="common-globalHeader_menuLayout">¬
    20 ▸ ▸ ▸ <ul class="common-globalHeaderMenu">¬
    21 ▸ ▸ ▸ ▸ <li class="common-globalHeaderMenuItem">¬
    22 ▸ ▸ ▸ ▸ ▸ <a class="common-globalHeaderMenuItem_anchor" href="/works/">Works</a>¬
    23 ▸ ▸ ▸ ▸ </li>¬
    24 ▸ ▸ ▸ ▸ <li class="common-globalHeaderMenuItem">¬
    25 ▸ ▸ ▸ ▸ ▸ <a class="common-globalHeaderMenuItem_anchor" href="/blog/">Blog</a>¬
    26 ▸ ▸ ▸ ▸ </li>¬
    27 ▸ ▸ ▸ ▸ <li class="common-globalHeaderMenuItem">¬
    28 ▸ ▸ ▸ ▸ ▸ <a class="common-globalHeaderMenuItem_anchor" href="/about/">About</a>¬
    29 ▸ ▸ ▸ ▸ </li>¬
    30 ▸ ▸ ▸ </ul>¬
    31 ▸ ▸ </div>¬
    32 </div>¬
    33 </div>¬
    34 ¬
    35 ¬
    36 <!-- https://cocopon.me -->¬
    html
  • 1 @media screen, projection {¬
    2 /* html above */¬
    3 html {¬
    4 /* html inside */¬
    5 background: #fffef0;¬
    6 color: #300;¬
    7 }¬
    8 ¬
    9 /* body above */¬
    10 body {¬
    11 /* body inside */¬
    12 max-width: 35em;¬
    13 margin: 0 auto;¬
    14 }¬
    15 }¬
    16 ¬
    17 @media print {¬
    18 html {¬
    19 background: #fff;¬
    20 color: #000;¬
    21 }¬
    22 body {¬
    23 padding: 1in;¬
    24 border: 0.5pt solid #666;¬
    25 }¬
    26 }¬
    27 ¬
    28 ¬
    29 /* https://raw.githubusercontent.com/reworkcss/css/master/test/cases/media/input.css */¬
    css
  • 1 // Copyright 2009 The Go Authors. All rights reserved.¬
    2 // Use of this source code is governed by a BSD-style¬
    3 // license that can be found in the LICENSE file.¬
    4 ¬
    5 package scanner¬
    6 ¬
    7 import (¬
    8 "fmt"¬
    9 "go/token"¬
    10 "io"¬
    11 "sort"¬
    12 )¬
    13 ¬
    14 // In an ErrorList, an error is represented by an *Error.¬
    15 // The position Pos, if valid, points to the beginning of¬
    16 // the offending token, and the error condition is described¬
    17 // by Msg.¬
    18 //¬
    19 type Error struct {¬
    20 Pos token.Position¬
    21 Msg string¬
    22 }¬
    23 ¬
    24 // Error implements the error interface.¬
    25 func (e Error) Error() string {¬
    26 if e.Pos.Filename != "" || e.Pos.IsValid() {¬
    27 ▸ ▸ // don't print "<unknown position>"¬
    28 ▸ ▸ // TODO(gri) reconsider the semantics of Position.IsValid¬
    29 ▸ ▸ return e.Pos.String() + ": " + e.Msg¬
    30 }¬
    31 return e.Msg¬
    32 }¬
    33 ¬
    34 ¬
    35 // https://raw.githubusercontent.com/golang/go/master/src/go/scanner/errors.go¬
    go
  • Philosophy

    I talked about how to create your lovely color scheme in VimConf 2017, international Vim conference. This slides also explained the philosophy of Iceberg.

    Iceberg for macOS

    Iceberg is also available for macOS Terminal.app!

    Terminal.app