summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-11-14 16:08:39 -0500
committerBen Sima <ben@bsima.me>2020-11-14 16:08:39 -0500
commit7c586bfd8e6a69a8ab188c5a1b8fe7845ae7df19 (patch)
tree2692c49d9ed549031a2e13e5beabbf56ed23d2b0
parent3e5865c49bddf640913f1c61042b8d36c9de1b28 (diff)
more vim changes
-rw-r--r--lib/common.nix8
-rw-r--r--lib/vimrc217
2 files changed, 101 insertions, 124 deletions
diff --git a/lib/common.nix b/lib/common.nix
index f7a7d35..a24de04 100644
--- a/lib/common.nix
+++ b/lib/common.nix
@@ -10,7 +10,7 @@ in
packages = import ./packages.nix { inherit pkgs; };
sessionVariables = {
GPGID = gpgid;
- EDITOR = "emacsclient";
+ EDITOR = "vim";
LANG = locale;
LANGUAGE = locale;
PATH = "${homedir}/bin:${homedir}/.local/bin:$PATH";
@@ -140,7 +140,11 @@ in
vimAlias = true;
viAlias = true;
vimdiffAlias = true;
- plugins = [ pkgs.vimPlugins.editorconfig-vim ];
+ plugins = with pkgs.vimPlugins; [
+ editorconfig-vim
+ vim-sensible
+ vim-colorschemes
+ ];
extraConfig = builtins.readFile ./vimrc;
};
diff --git a/lib/vimrc b/lib/vimrc
index 3c42015..338058c 100644
--- a/lib/vimrc
+++ b/lib/vimrc
@@ -107,21 +107,10 @@ function! <SID>SynStack()
echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
endfunc
-" Vim color scheme, modified from Xavier's below
+colorscheme monochrome
+"
+"let g:colors_name = 'monochrome'
"
-" Name: monochrome.vim
-" Maintainer: Xavier Noria <fxn@hashref.com>
-" License: MIT
-
-set background=dark
-
-hi clear
-if exists('syntax_on')
- syntax reset
-endif
-
-let g:colors_name = 'monochrome'
-
let s:white = ['White', 15]
let s:black = ['#0e1111', 16]
let s:bgray = ['#181818', 233]
@@ -133,7 +122,7 @@ let s:yellow = ['LightYellow', 226]
let s:red = ['LightRed', 160]
let s:green = ['LightGreen', 28]
let s:purple = ['LightMagenta', 13]
-
+"
let s:default_fg = s:lgray
let s:default_bg = s:black
@@ -149,7 +138,7 @@ if !exists("g:monochrome_italic_comments")
let g:monochrome_italic_comments = 0
endif
let s:comment_attr = g:monochrome_italic_comments ? s:italic : s:none
-
+"
function! s:hi(...)
let group = a:1
let fg = get(a:, 2, s:default_fg)
@@ -176,8 +165,7 @@ function! s:hi(...)
exec join(cmd, ' ')
endfunction
-
-" --- Vim interface ------------------------------------------------------------
+"" --- Vim interface ------------------------------------------------------------
call s:hi('Normal')
highlight clear Cursor
highlight clear CursorLine " clear the underline nonsense
@@ -192,107 +180,92 @@ call s:hi('ErrorMsg', s:white, s:red)
call s:hi('StatusLine', s:black, s:purple)
call s:hi('StatusLineNC', s:black, s:purple)
call s:hi('VertSplit', s:black, s:purple)
-
-" Tildes at the bottom of a buffer, etc.
-call s:hi('NonText', s:dgray)
-
-" Folding.
-call s:hi('FoldColumn', s:dgray)
-call s:hi('Folded')
-
-" Line numbers gutter.
-call s:hi('LineNr', s:dgray)
-
-" Small arrow used for tabs.
-call s:hi('SpecialKey', s:sblue, s:default_bg, s:bold)
-
-" File browsers.
-call s:hi('Directory', s:white, s:default_bg, s:bold)
-
-" Help.
-call s:hi('helpSpecial')
-call s:hi('helpHyperTextJump', s:sblue, s:default_bg, s:underline)
-call s:hi('helpNote')
-
-" Popup menu.
-call s:hi('Pmenu', s:white, s:sblue)
-call s:hi('PmenuSel', s:sblue, s:white)
-
-" Notes.
-call s:hi('Todo', s:black, s:yellow, s:bold)
-
-" Signs.
-call s:hi('SignColumn')
-
-" --- Languages ---------------------------------------------------------------
-call s:hi('Statement', s:white, s:default_bg, s:bold)
-call s:hi('PreProc', s:white, s:default_bg, s:bold)
-call s:hi('String', s:sblue)
-call s:hi('Comment', s:cgray, s:default_bg, s:comment_attr)
-call s:hi('Constant')
-call s:hi('Type', s:white, s:default_bg, s:bold)
-call s:hi('Function', s:white)
-call s:hi('Identifier')
-call s:hi('Special')
-call s:hi('MatchParen', s:black, s:lgray)
-call s:hi('vimOption')
-call s:hi('vimGroup')
-call s:hi('vimHiClear')
-call s:hi('vimHiGroup')
-call s:hi('vimHiAttrib')
-call s:hi('vimHiGui')
-call s:hi('vimHiGuiFgBg')
-call s:hi('vimHiCTerm')
-call s:hi('vimHiCTermFgBg')
-call s:hi('vimSynType')
-hi link vimCommentTitle Comment
-call s:hi('pythonEscape', s:sblue)
-call s:hi('javaScriptFunction', s:white, s:default_bg, s:bold)
-call s:hi('perlSharpBang', s:cgray)
-call s:hi('perlStringStartEnd', s:sblue)
-call s:hi('perlStringEscape', s:sblue)
-call s:hi('perlMatchStartEnd', s:sblue)
-call s:hi('elixirAlias', s:default_fg, s:default_bg, s:none)
-call s:hi('elixirDelimiter', s:sblue)
-call s:hi('elixirSelf', s:default_fg, s:default_bg, s:none)
-" For ||, ->, etc.
-call s:hi('elixirOperator')
-" Module attributes like @doc or @type.
-hi link elixirVariable Statement
-" While rendered as comments in other languages, docstrings are strings,
-" experimental.
-hi link elixirDocString String
-hi link elixirDocTest String
-hi link elixirStringDelimiter String
-call s:hi('rubyConstant')
-call s:hi('rubySharpBang', s:cgray)
-call s:hi('rubyStringDelimiter', s:sblue)
-call s:hi('rubyStringEscape', s:sblue)
-call s:hi('rubyRegexpEscape', s:sblue)
-call s:hi('rubyRegexpAnchor', s:sblue)
-call s:hi('rubyRegexpSpecial', s:sblue)
-
-" --- Diffs --------------------------------------------------------------------
-call s:hi('diffFile', s:cgray)
-call s:hi('diffNewFile', s:cgray)
-call s:hi('diffIndexLine', s:cgray)
-call s:hi('diffLine', s:cgray)
-call s:hi('diffSubname', s:cgray)
-call s:hi('diffAdded', s:white, s:green)
-call s:hi('diffRemoved', s:white, s:red)
-
-" --- Markdown -----------------------------------------------------------------
-call s:hi('Title', s:white, s:default_bg, s:bold)
-call s:hi('markdownHeadingDelimiter', s:white, s:default_bg, s:bold)
-call s:hi('markdownHeadingRule', s:white, s:default_bg, s:bold)
-call s:hi('markdownLinkText', s:sblue, s:default_bg, s:underline)
-
-" --- vim-fugitive -------------------------------------------------------------
-call s:hi('gitcommitComment', s:default_fg, s:default_bg, s:none)
-call s:hi('gitcommitOnBranch', s:default_fg, s:default_bg, s:none)
-call s:hi('gitcommitBranch', s:sblue, s:default_bg, s:none)
-call s:hi('gitcommitHeader', s:white, s:default_bg, s:bold)
-call s:hi('gitcommitSelected', s:default_fg, s:default_bg, s:none)
-call s:hi('gitcommitDiscarded', s:default_fg, s:default_bg, s:none)
-call s:hi('gitcommitSelectedType', s:default_fg, s:default_bg, s:none)
-call s:hi('gitcommitDiscardedType', s:default_fg, s:default_bg, s:none)
+"
+"" Tildes at the bottom of a buffer, etc.
+"call s:hi('NonText', s:dgray)
+"
+"" Folding.
+"call s:hi('FoldColumn', s:dgray)
+"call s:hi('Folded')
+"
+"" Line numbers gutter.
+"call s:hi('LineNr', s:dgray)
+"
+"" Small arrow used for tabs.
+"call s:hi('SpecialKey', s:sblue, s:default_bg, s:bold)
+"
+"" File browsers.
+"call s:hi('Directory', s:white, s:default_bg, s:bold)
+"
+"" Help.
+"call s:hi('helpSpecial')
+"call s:hi('helpHyperTextJump', s:sblue, s:default_bg, s:underline)
+"call s:hi('helpNote')
+"
+"" Popup menu.
+"call s:hi('Pmenu', s:white, s:sblue)
+"call s:hi('PmenuSel', s:sblue, s:white)
+"
+"" Notes.
+"call s:hi('Todo', s:black, s:yellow, s:bold)
+"
+"" Signs.
+"call s:hi('SignColumn')
+"
+"" --- Languages ---------------------------------------------------------------
+"call s:hi('Statement', s:white, s:default_bg, s:bold)
+"call s:hi('PreProc', s:white, s:default_bg, s:bold)
+"call s:hi('String', s:sblue)
+"call s:hi('Comment', s:cgray, s:default_bg, s:comment_attr)
+"call s:hi('Constant')
+"call s:hi('Type', s:white, s:default_bg, s:bold)
+"call s:hi('Function', s:white)
+"call s:hi('Identifier')
+"call s:hi('Special')
+"call s:hi('MatchParen', s:black, s:lgray)
+"call s:hi('vimOption')
+"call s:hi('vimGroup')
+"call s:hi('vimHiClear')
+"call s:hi('vimHiGroup')
+"call s:hi('vimHiAttrib')
+"call s:hi('vimHiGui')
+"call s:hi('vimHiGuiFgBg')
+"call s:hi('vimHiCTerm')
+"call s:hi('vimHiCTermFgBg')
+"call s:hi('vimSynType')
+"hi link vimCommentTitle Comment
+"call s:hi('pythonEscape', s:sblue)
+"call s:hi('javaScriptFunction', s:white, s:default_bg, s:bold)
+"call s:hi('perlSharpBang', s:cgray)
+"call s:hi('perlStringStartEnd', s:sblue)
+"call s:hi('perlStringEscape', s:sblue)
+"call s:hi('perlMatchStartEnd', s:sblue)
+"call s:hi('elixirAlias', s:default_fg, s:default_bg, s:none)
+"call s:hi('elixirDelimiter', s:sblue)
+"call s:hi('elixirSelf', s:default_fg, s:default_bg, s:none)
+"" For ||, ->, etc.
+"call s:hi('elixirOperator')
+"" Module attributes like @doc or @type.
+"hi link elixirVariable Statement
+"" While rendered as comments in other languages, docstrings are strings,
+"" experimental.
+"hi link elixirDocString String
+"hi link elixirDocTest String
+"hi link elixirStringDelimiter String
+"call s:hi('rubyConstant')
+"call s:hi('rubySharpBang', s:cgray)
+"call s:hi('rubyStringDelimiter', s:sblue)
+"call s:hi('rubyStringEscape', s:sblue)
+"call s:hi('rubyRegexpEscape', s:sblue)
+"call s:hi('rubyRegexpAnchor', s:sblue)
+"call s:hi('rubyRegexpSpecial', s:sblue)
+"
+"" --- Diffs --------------------------------------------------------------------
+"call s:hi('diffFile', s:cgray)
+"call s:hi('diffNewFile', s:cgray)
+"call s:hi('diffIndexLine', s:cgray)
+"call s:hi('diffLine', s:cgray)
+"call s:hi('diffSubname', s:cgray)
+"call s:hi('diffAdded', s:white, s:green)
+"call s:hi('diffRemoved', s:white, s:red)
+"