diff options
author | Ben Sima <ben@bsima.me> | 2020-11-14 16:08:39 -0500 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2020-11-14 16:08:39 -0500 |
commit | 7c586bfd8e6a69a8ab188c5a1b8fe7845ae7df19 (patch) | |
tree | 2692c49d9ed549031a2e13e5beabbf56ed23d2b0 /lib | |
parent | 3e5865c49bddf640913f1c61042b8d36c9de1b28 (diff) |
more vim changes
Diffstat (limited to 'lib')
-rw-r--r-- | lib/common.nix | 8 | ||||
-rw-r--r-- | lib/vimrc | 217 |
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; }; @@ -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) +" |