aboutsummaryrefslogtreecommitdiff
path: root/config/vim
diff options
context:
space:
mode:
authorKenny Ballou <kballou@devnulllabs.io>2020-10-14 10:05:44 -0600
committerKenny Ballou <kballou@devnulllabs.io>2020-12-15 14:04:46 -0700
commit418ec7b94aa8202e5f5f0a59f2bb97a7c0510068 (patch)
tree0a08e1653ba5d8efc527bbaf4e5914ffb9c8b6b9 /config/vim
parent164cd37871e6235584ce23f3a0bf516a51b31489 (diff)
downloaddotfiles-418ec7b94aa8202e5f5f0a59f2bb97a7c0510068.tar.gz
dotfiles-418ec7b94aa8202e5f5f0a59f2bb97a7c0510068.tar.xz
dots: now for something completely different
Use home-manager to configure user packages, dotfiles, and various other configurations. Add home-manager configuration for installing and managing user packages and profiles. Convert nearly all configuration to use home-manager to install and link configuration files. In no particular order of reference, I've used and/or referenced the following configurations and posts for this homeification: [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]. [0]: https://gitlab.com/NobbZ/nix-home-manager-dotfiles [1]: https://www.malloc47.com/migrating-to-nixos/ [2]: https://lucperkins.dev/blog/home-manager/ [3]: https://github.com/jwiegley/nix-config [4]: https://www.thedroneely.com/posts/declarative-user-package-management-in-nixos/ [5]: https://hugoreeves.com/posts/2019/nix-home/ [6]: https://rycee.gitlab.io/home-manager/ [7]: https://rycee.net/posts/2017-07-02-manage-your-home-with-nix.html [8]: https://github.com/abcdw/rde [9]: https://github.com/ryantm/dotfiles [10]: https://git.sr.ht/~vdemeester/home Signed-off-by: Kenny Ballou <kballou@devnulllabs.io>
Diffstat (limited to 'config/vim')
-rw-r--r--config/vim/default.nix9
-rw-r--r--config/vim/gvimrc14
-rw-r--r--config/vim/vim/colors/zenburn.vim466
-rw-r--r--config/vim/vimrc62
4 files changed, 551 insertions, 0 deletions
diff --git a/config/vim/default.nix b/config/vim/default.nix
new file mode 100644
index 00000000..faf24a81
--- /dev/null
+++ b/config/vim/default.nix
@@ -0,0 +1,9 @@
+{ pkgs, config, ... }:
+{
+ home.file.".vimrc".source = ./vimrc;
+ home.file.".gvimrc".source = ./gvimrc;
+ home.file.".vim" = {
+ recursive = true;
+ source = ./vim;
+ };
+}
diff --git a/config/vim/gvimrc b/config/vim/gvimrc
new file mode 100644
index 00000000..9e60c944
--- /dev/null
+++ b/config/vim/gvimrc
@@ -0,0 +1,14 @@
+set mouse-=a
+set guioptions-=T
+set guioptions-=m
+set guioptions-=r
+set guioptions-=L
+set textwidth=79
+set colorcolumn=80
+highlight OverLength ctermbg=red ctermfg=white guibg=#592929
+match OverLength /\%80v.\+/
+highlight TrailS ctermbg=red ctermfg=white guibg=#592929
+match TrailS /\s\+$/
+set columns=86
+set lines=40
+set vb t_vb=
diff --git a/config/vim/vim/colors/zenburn.vim b/config/vim/vim/colors/zenburn.vim
new file mode 100644
index 00000000..95f959b7
--- /dev/null
+++ b/config/vim/vim/colors/zenburn.vim
@@ -0,0 +1,466 @@
+" Vim color file
+" Maintainer: Jani Nurminen <slinky@iki.fi>
+" URL: http://kippura.org/zenburnpage/
+" License: GNU GPL <http://www.gnu.org/licenses/gpl.html>
+"
+" Nothing too fancy, just some alien fruit salad to keep you in the zone.
+" This syntax file was designed to be used with dark environments and
+" low light situations. Of course, if it works during a daybright office, go
+" ahead :)
+"
+" Owes heavily to other Vim color files! With special mentions
+" to "BlackDust", "Camo" and "Desert".
+"
+" To install, copy to ~/.vim/colors directory.
+"
+" Alternatively, you can use Vimball installation:
+" vim zenburn.vba
+" :so %
+" :q
+"
+" For details, see :help vimball
+"
+" After installation, use it with :colorscheme zenburn.
+" See also :help syntax
+"
+" Credits:
+" - Jani Nurminen - original Zenburn, maintainer
+" - Steve Hall & Cream posse - higher-contrast Visual selection
+" - Kurt Maier - 256 color console coloring, low and high contrast toggle,
+" bug fixing
+" - Charlie - spotted too bright StatusLine in non-high contrast mode
+" - Pablo Castellazzi - CursorLine fix for 256 color mode
+" - Tim Smith - force dark background
+" - John Gabriele - spotted bad Ignore-group handling
+" - Zac Thompson - spotted invisible NonText in low contrast mode
+" - Christophe-Marie Duquesne - suggested making a Vimball,
+" suggested support for ctags_highlighting.vim
+" - Andrew Wagner - noted the CursorColumn bug (guifg was unintentionally set),
+" unify CursorColumn colour
+" - Martin Langasek - clarify the license, whitespace fixes
+" - Marcin Szamotulski - support autocomplete for Zenburn configuration
+" parameters
+" - Clayton Parker (claytron) - Convinced by Kurt Maier to use Zenburn. Point
+" out issues with LineNr, fix directory styles, and their usage in MacVim.
+" - Paweł Piekarski - Spotted bad FoldColumn and TabLine. Made better
+" FoldColumn colors, fixed TabLine colors.
+" - Jim - Fix for missing Include group for terminal
+" - Peter (Sakartu) - ColorColumn fixes
+" - Please see git log for the others not listed here
+"
+" CONFIGURABLE PARAMETERS:
+"
+" You can use the default (don't set any parameters), or you can
+" set some parameters to tweak the Zenburn colours.
+"
+" To use them, put them into your .vimrc file before loading the color scheme,
+" example:
+" let g:zenburn_high_Contrast=1
+" colors zenburn
+"
+" You can also do ":let g:zenburn" then hit Ctrl-d or Tab to scroll through the
+" list of configurable parameters.
+"
+" * You can now set a darker background for bright environments. To activate, use:
+" let g:zenburn_high_Contrast = 1
+"
+" * For transparent terminals set the background to black with:
+" let g:zenburn_transparent = 1
+"
+" * For example, Vim help files uses the Ignore-group for the pipes in tags
+" like "|somelink.txt|". By default, the pipes are not visible, as they
+" map to Ignore group. If you wish to enable coloring of the Ignore group,
+" set the following parameter to 1. Warning, it might make some syntax files
+" look strange.
+"
+" let g:zenburn_color_also_Ignore = 1
+"
+" * To get more contrast to the Visual selection, use
+"
+" let g:zenburn_alternate_Visual = 1
+"
+" Note: this is enabled only if the old-style Visual
+" if used, see g:zenburn_old_Visual
+"
+" * To use alternate colouring for Error message, use
+"
+" let g:zenburn_alternate_Error = 1
+"
+" * The new default for Include is a duller orange. To use the original
+" colouring for Include, use
+"
+" let g:zenburn_alternate_Include = 1
+"
+" * To disable underlining for Labels, use
+"
+" let g:zenburn_disable_Label_underline = 1
+"
+" * Work-around to a Vim bug, it seems to misinterpret ctermfg and 234 and 237
+" as light values, and sets background to light for some people. If you have
+" this problem, use:
+"
+" let g:zenburn_force_dark_Background = 1
+"
+" * By default the CursorColumn is of a lighter colour. I find it more readable
+" that way, but some people may want to align it with the darker CursorLine
+" color, for visual uniformity. To do so, use:
+"
+" let g:zenburn_unified_CursorColumn = 1
+"
+" Note: you can ignore this unless you use
+" ":set cursorline cursorcolumn", since otherwise the effect won't be
+" seen.
+"
+" * New (dark) Visual coloring has been introduced.
+" The dark Visual is more aligned with the rest of the colour scheme,
+" especially if you use line numbers. If you wish to use the
+" old Visual coloring, use
+"
+" let g:zenburn_old_Visual = 1
+"
+" Default is to use the new Visual.
+"
+" * EXPERIMENTAL FEATURE: Zenburn would like to support TagHighlight
+" (an evolved ctags-highlighter) by Al Budden (homepage:
+" http://www.cgtk.co.uk/vim-scripts/taghighlight).
+" Current support status is broken: there is no automatic detection of
+" TagHighlight, no specific language support; however there is some basic
+" support for Python. If you are a user of TagHighlight and want to help,
+" please enable:
+"
+" let g:zenburn_enable_TagHighlight=1
+"
+" and improve the corresponding block at the end of the file.
+"
+" NOTE:
+"
+" * To turn the parameter(s) back to defaults, use UNLET or set them to 0:
+"
+" unlet g:zenburn_alternate_Include
+" or
+" let g:zenburn_alternate_Include = 0
+"
+"
+" That's it, enjoy!
+"
+" TODO
+" - Visual alternate color is broken? Try GVim >= 7.0.66 if you have trouble
+" - IME colouring (CursorIM)
+
+" Finish if we are in a term lacking 256 color support
+if ! has("gui_running") && &t_Co <= 255
+ finish
+endif
+
+" Set defaults, but keep any parameters already set by the user
+if ! exists("g:zenburn_high_Contrast")
+ let g:zenburn_high_Contrast = 0
+endif
+
+if ! exists("g:zenburn_transparent")
+ let g:zenburn_transparent = 0
+endif
+
+if ! exists("g:zenburn_color_also_Ignore")
+ let g:zenburn_color_also_Ignore = 0
+endif
+
+if ! exists("g:zenburn_alternate_Error")
+ let g:zenburn_alternate_Error = 0
+endif
+
+if ! exists("g:zenburn_force_dark_Background")
+ let g:zenburn_force_dark_Background = 0
+endif
+
+if ! exists("g:zenburn_alternate_Visual")
+ let g:zenburn_alternate_Visual = 0
+endif
+
+if ! exists("g:zenburn_alternate_Include")
+ let g:zenburn_alternate_Include = 0
+endif
+
+if ! exists("g:zenburn_disable_Label_underline")
+ let g:zenburn_disable_Label_underline = 0
+endif
+
+if ! exists("g:zenburn_unified_CursorColumn")
+ let g:zenburn_unified_CursorColumn = 0
+endif
+
+if ! exists("g:zenburn_old_Visual")
+ let g:zenburn_old_Visual = 0
+endif
+
+if ! exists("g:zenburn_enable_TagHighlight")
+ let g:zenburn_enable_TagHighlight = 0
+endif
+
+" -----------------------------------------------
+
+set background=dark
+
+hi clear
+if exists("syntax_on")
+ syntax reset
+endif
+let g:colors_name="zenburn"
+
+hi Boolean guifg=#dca3a3 ctermfg=181
+hi Character guifg=#dca3a3 gui=bold ctermfg=181 cterm=bold
+hi Comment guifg=#7f9f7f gui=italic ctermfg=108
+hi Conditional guifg=#f0dfaf gui=bold ctermfg=223 cterm=bold
+hi Constant guifg=#dca3a3 gui=bold ctermfg=181 cterm=bold
+hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold ctermfg=233 ctermbg=109 cterm=bold
+hi Debug guifg=#bca3a3 gui=bold ctermfg=181 cterm=bold
+hi Define guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold
+hi Delimiter guifg=#8f8f8f ctermfg=245
+hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold ctermfg=66 ctermbg=237 cterm=bold
+hi DiffChange guibg=#333333 ctermbg=236
+hi DiffDelete guifg=#333333 guibg=#464646 ctermfg=236 ctermbg=238
+hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold ctermfg=217 ctermbg=237 cterm=bold
+hi Directory guifg=#9fafaf gui=bold ctermfg=109 cterm=bold
+hi ErrorMsg guifg=#80d4aa guibg=#2f2f2f gui=bold ctermfg=115 ctermbg=236 cterm=bold
+hi Exception guifg=#c3bf9f gui=bold ctermfg=249 cterm=bold
+hi Float guifg=#c0bed1 ctermfg=251
+hi FoldColumn guifg=#93b3a3 guibg=#3f4040
+hi Folded guifg=#93b3a3 guibg=#3f4040
+hi Function guifg=#efef8f ctermfg=228
+hi Identifier guifg=#efdcbc ctermfg=223 cterm=none
+hi IncSearch guifg=#f8f893 guibg=#385f38 ctermfg=228 ctermbg=23
+hi Keyword guifg=#f0dfaf gui=bold ctermfg=223 cterm=bold
+hi Macro guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold
+hi ModeMsg guifg=#ffcfaf gui=none ctermfg=223 cterm=none
+hi MoreMsg guifg=#ffffff gui=bold ctermfg=231 cterm=bold
+hi Number guifg=#8cd0d3 ctermfg=116
+hi Operator guifg=#f0efd0 ctermfg=230
+hi PmenuSbar guibg=#2e3330 guifg=#000000 ctermfg=16 ctermbg=236
+hi PmenuThumb guibg=#a0afa0 guifg=#040404 ctermfg=232 ctermbg=151
+hi PreCondit guifg=#dfaf8f gui=bold ctermfg=180 cterm=bold
+hi PreProc guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold
+hi Question guifg=#ffffff gui=bold ctermfg=231 cterm=bold
+hi Repeat guifg=#ffd7a7 gui=bold ctermfg=223 cterm=bold
+hi Search guifg=#ffffe0 guibg=#284f28 ctermfg=230 ctermbg=22
+hi SignColumn guifg=#9fafaf gui=bold ctermfg=109 cterm=bold
+hi SpecialChar guifg=#dca3a3 gui=bold ctermfg=181 cterm=bold
+hi SpecialComment guifg=#82a282 gui=bold ctermfg=108 cterm=bold
+hi Special guifg=#cfbfaf ctermfg=181
+hi SpecialKey guifg=#9ece9e ctermfg=151
+hi Statement guifg=#e3ceab gui=none ctermfg=187 cterm=none
+hi StatusLine guifg=#313633 guibg=#ccdc90 ctermfg=236 ctermbg=186
+hi StatusLineNC guifg=#2e3330 guibg=#88b090 ctermfg=235 ctermbg=108
+hi StorageClass guifg=#c3bf9f gui=bold ctermfg=249 cterm=bold
+hi String guifg=#cc9393 ctermfg=174
+hi Structure guifg=#efefaf gui=bold ctermfg=229 cterm=bold
+hi Tag guifg=#e89393 gui=bold ctermfg=181 cterm=bold
+hi Title guifg=#efefef gui=bold ctermfg=255 ctermbg=NONE cterm=bold
+hi Todo guifg=#dfdfdf guibg=NONE gui=bold ctermfg=254 ctermbg=NONE cterm=bold
+hi Typedef guifg=#dfe4cf gui=bold ctermfg=253 cterm=bold
+hi Type guifg=#dfdfbf gui=bold ctermfg=187 cterm=bold
+hi Underlined guifg=#dcdccc gui=underline ctermfg=188 cterm=underline
+hi VertSplit guifg=#2e3330 guibg=#688060 ctermfg=236 ctermbg=65
+hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline ctermfg=236 ctermbg=210 cterm=bold
+hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold ctermfg=231 ctermbg=236 cterm=bold
+hi WildMenu guifg=#cbecd0 guibg=#2c302d gui=underline ctermfg=194 ctermbg=236 cterm=underline
+
+" spellchecking, always "bright" term background
+hi SpellBad guisp=#bc6c4c guifg=#dc8c6c ctermfg=209 ctermbg=237
+hi SpellCap guisp=#6c6c9c guifg=#8c8cbc ctermfg=103 ctermbg=237
+hi SpellRare guisp=#bc6c9c guifg=#bc8cbc ctermfg=139 ctermbg=237
+hi SpellLocal guisp=#7cac7c guifg=#9ccc9c ctermfg=151 ctermbg=237
+
+if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
+ " use new darker background
+ hi Normal guifg=#dcdccc guibg=#1f1f1f ctermfg=188 ctermbg=234
+ hi ColorColumn guibg=#33332f ctermbg=235
+ hi CursorLine guibg=#121212 gui=bold ctermbg=233 cterm=none
+ hi CursorLineNr guifg=#f2f3bb guibg=#161616 ctermfg=229 ctermbg=233
+ if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
+ hi CursorColumn guibg=#121212 gui=bold ctermbg=233 cterm=none
+ else
+ hi CursorColumn guibg=#2b2b2b ctermbg=235 cterm=none
+ endif
+ hi FoldColumn guibg=#161616 ctermbg=233 ctermfg=109
+ hi Folded guibg=#161616 ctermbg=233 ctermfg=109
+ hi LineNr guifg=#9fafaf guibg=#161616 ctermfg=248 ctermbg=233
+ hi NonText guifg=#404040 gui=bold ctermfg=238
+ hi Pmenu guibg=#242424 guifg=#ccccbc ctermfg=251 ctermbg=235
+ hi PmenuSel guibg=#353a37 guifg=#ccdc90 gui=bold ctermfg=187 ctermbg=236 cterm=bold
+ hi MatchParen guifg=#f0f0c0 guibg=#383838 gui=bold ctermfg=229 ctermbg=237 cterm=bold
+ hi SignColumn guibg=#181818 ctermbg=233
+ hi SpecialKey guibg=#242424
+ hi TabLine guifg=#88b090 guibg=#313633 gui=none ctermbg=236 ctermfg=108 cterm=none
+ hi TabLineSel guifg=#ccd990 guibg=#222222 ctermbg=235 ctermfg=186 cterm=bold
+ hi TabLineFill guifg=#88b090 guibg=#313633 gui=none ctermbg=236 ctermfg=108 cterm=none
+else
+ " Original, lighter background
+ hi Normal guifg=#dcdccc guibg=#3f3f3f ctermfg=188 ctermbg=237
+ hi ColorColumn guibg=#484848 ctermbg=238
+ hi CursorLine guibg=#434443 ctermbg=238 cterm=none
+ hi CursorLineNr guifg=#d2d39b guibg=#262626 ctermfg=230 ctermbg=235
+ if exists("g:zenburn_unified_CursorColumn") && g:zenburn_unified_CursorColumn
+ hi CursorColumn guibg=#434343 ctermbg=238 cterm=none
+ else
+ hi CursorColumn guibg=#4f4f4f ctermbg=239 cterm=none
+ endif
+ hi FoldColumn guibg=#333333 ctermbg=236 ctermfg=109
+ hi Folded guibg=#333333 ctermbg=236 ctermfg=109
+ hi LineNr guifg=#9fafaf guibg=#262626 ctermfg=248 ctermbg=235
+ hi NonText guifg=#5b605e gui=bold ctermfg=240
+ hi Pmenu guibg=#2c2e2e guifg=#9f9f9f ctermfg=248 ctermbg=235
+ hi PmenuSel guibg=#242424 guifg=#d0d0a0 gui=bold ctermfg=187 ctermbg=235 cterm=bold
+ hi MatchParen guifg=#b2b2a0 guibg=#2e2e2e gui=bold ctermfg=145 ctermbg=236 cterm=bold
+ hi SignColumn guibg=#343434 ctermbg=236
+ hi SpecialKey guibg=#444444
+ hi TabLine guifg=#d0d0b8 guibg=#222222 gui=none ctermbg=235 ctermfg=187 cterm=none
+ hi TabLineSel guifg=#f0f0b0 guibg=#333333 gui=bold ctermbg=236 ctermfg=229 cterm=bold
+ hi TabLineFill guifg=#dccdcc guibg=#101010 gui=none ctermbg=233 ctermfg=188 cterm=none
+
+ hi StatusLine ctermbg=144
+endif
+
+if exists("g:zenburn_force_dark_Background") && g:zenburn_force_dark_Background
+ " Force dark background, because of a bug in VIM: VIM sets background
+ " automatically during "hi Normal ctermfg=X"; it misinterprets the high
+ " value (234 or 237 above) as a light color, and wrongly sets background to
+ " light. See ":help highlight" for details.
+ set background=dark
+endif
+
+if exists("g:zenburn_transparent") && g:zenburn_transparent
+ hi Normal ctermbg=0 guibg=#000000
+ hi Statement ctermbg=NONE
+ hi Title ctermbg=NONE
+ hi Todo ctermbg=NONE
+ hi Underlined ctermbg=NONE
+ hi DiffAdd ctermbg=NONE
+ hi DiffText ctermbg=NONE
+ hi ErrorMsg ctermbg=NONE
+ hi LineNr ctermbg=NONE
+endif
+
+if exists("g:zenburn_old_Visual") && g:zenburn_old_Visual
+ if exists("g:zenburn_alternate_Visual") && g:zenburn_alternate_Visual
+ " Visual with more contrast, thanks to Steve Hall & Cream posse
+ " gui=none fixes weird highlight problem in at least GVim 7.0.66, thanks to Kurt Maier
+ hi Visual guifg=#000000 guibg=#71d3b4 gui=none ctermfg=16 ctermbg=79 cterm=none
+ hi VisualNOS guifg=#000000 guibg=#71d3b4 gui=none ctermfg=16 ctermbg=79 cterm=none
+ else
+ " use default visual
+ hi Visual guifg=#233323 guibg=#71d3b4 gui=none ctermfg=235 ctermbg=79 cterm=none
+ hi VisualNOS guifg=#233323 guibg=#71d3b4 gui=none ctermfg=235 ctermbg=79 cterm=none
+ endif
+else
+ " new Visual style
+ if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
+ " high contrast
+ "hi Visual guibg=#304a3d
+ "hi VisualNos guibg=#304a3d
+ "TODO no nice greenish in console, 65 is closest. use full black instead,
+ "although i like the green..!
+ hi Visual guibg=#0f0f0f ctermbg=232
+ hi VisualNOS guibg=#0f0f0f ctermbg=232
+ if exists("g:zenburn_transparent") && g:zenburn_transparent
+ hi Visual ctermbg=235
+ endif
+ else
+ " low contrast
+ hi Visual guibg=#2f2f2f ctermbg=235
+ hi VisualNOS guibg=#2f2f2f ctermbg=235
+ endif
+endif
+
+if exists("g:zenburn_alternate_Error") && g:zenburn_alternate_Error
+ " use more jumpy Error
+ hi Error guifg=#e37170 guibg=#664040 gui=bold ctermfg=210 ctermbg=52 cterm=bold
+else
+ " default is something more zenburn-compatible
+ hi Error guifg=#e37170 guibg=#3d3535 gui=bold ctermfg=167 ctermbg=236 cterm=bold
+endif
+
+if exists("g:zenburn_alternate_Include") && g:zenburn_alternate_Include
+ " original setting
+ hi Include guifg=#ffcfaf gui=bold ctermfg=223 cterm=bold
+else
+ " new, less contrasted one
+ hi Include guifg=#dfaf8f gui=bold ctermfg=180 cterm=bold
+endif
+
+if exists("g:zenburn_disable_Label_underline") && g:zenburn_disable_Label_underline
+ hi Label guifg=#dfcfaf ctermfg=187
+else
+ hi Label guifg=#dfcfaf gui=underline ctermfg=187 cterm=underline
+endif
+
+if exists("g:zenburn_color_also_Ignore") && g:zenburn_color_also_Ignore
+ " color the Ignore groups
+ " note: if you get strange coloring for your files, turn this off (unlet)
+ if exists("g:zenburn_high_Contrast") && g:zenburn_high_Contrast
+ hi Ignore ctermfg=238
+ else
+ hi Ignore guifg=#545a4f ctermfg=240
+ endif
+endif
+
+" EXPERIMENTAL TagHighlight support
+" link/set sensible defaults here;
+"
+" For now I mostly link to subset of Zenburn colors, the linkage is based
+" on appearance, not semantics. In later versions I might define more new colours.
+"
+" HELP NEEDED to make this work properly.
+
+if exists("g:zenburn_enable_TagHighlight") && g:zenburn_enable_TagHighlight
+ " CTag support may vary, but the first step is to start using it so
+ " we can fix it!
+ "
+ " Consult /plugin/TagHighlight/data/kinds.txt for info on your
+ " language and what's been defined.
+ "
+ " There is potential for language indepedent features here. (Acutally,
+ " seems it may be required for this to be useful...) This way we can
+ " implement features depending on how well CTags are currently implemented
+ " for the language. ie. Global problem for python is annoying. Special
+ " colors are defined for special language features, etc..
+ "
+ " For now all I care about is python supported features:
+ " c:CTagsClass
+ " f:CTagsFunction
+ " i:CTagsImport
+ " m:CTagsMember
+ " v:CTagsGlobalVariable
+ "
+ " Note: TagHighlight defaults to setting new tags to Keyword
+ " highlighting.
+
+ " TODO conditionally run each section
+ " BEGIN Python Section
+ hi link Class Function
+ hi link Import PythonInclude
+ hi link Member Function
+ "Note: Function is already defined
+
+ " Highlighter seems to think a lot of things are global variables even
+ " though they're not. Example: python method-local variable is
+ " coloured as a global variable. They should not be global, since
+ " they're not visible outside the method.
+ " If this is some very bright colour group then things look bad.
+ " hi link GlobalVariable Identifier
+
+ " Because of this problem I am disabling the feature by setting it to
+ " Normal instead
+ hi link GlobalVariable Normal
+ " END Python Section
+
+ " Starting point for other languages.
+ hi link GlobalConstant Constant
+ hi link EnumerationValue Float
+ hi link EnumerationName Identifier
+ hi link DefinedName WarningMsg
+ hi link LocalVariable WarningMsg
+ hi link Structure WarningMsg
+ hi link Union WarningMsg
+endif
+
+" TODO check for more obscure syntax groups that they're ok
diff --git a/config/vim/vimrc b/config/vim/vimrc
new file mode 100644
index 00000000..d8a6b062
--- /dev/null
+++ b/config/vim/vimrc
@@ -0,0 +1,62 @@
+set nocompatible
+filetype plugin on
+if &term=~'xterm'
+set t_Co=256
+endif
+set autoread
+set wildmenu
+set wildignore=*.o,*~,*.pyc,*.pdf,*.class
+set tabstop=4
+set shiftwidth=4
+set softtabstop=4
+set autoindent
+set expandtab
+set number
+set relativenumber
+syntax enable
+color zenburn
+set wrap
+set textwidth=75
+set colorcolumn=76
+set encoding=utf-8
+set hidden
+set backspace=indent,eol,start
+set list
+set listchars=tab:→·,trail:·
+set cursorline
+set laststatus=2
+set noerrorbells
+set novisualbell
+set vb t_vb=
+set diffopt=filler,context:3,vertical
+let mapleader = ","
+"disable concealing
+noremap <leader>s :set spell!<CR>
+noremap <leader>h :%!xxd<CR>
+noremap <leader>d :%!xxd -r<CR>
+set directory=~/.vim/temp/
+set backupdir=~/.vim/backup/
+function! FileSize()
+ let bytes = getfsize(expand("%:p"))
+ if bytes <= 0
+ return ""
+ endif
+ if bytes < 1024
+ return "[" . bytes . "]"
+ elseif bytes < 1024 * 1024
+ return "[" . (bytes / 1024) . "k]"
+ else
+ return "[" . (bytes / (1024 * 1024)) . "M]"
+ endif
+endfunction
+set statusline=
+set statusline+=[%02n]
+set statusline+=%t
+set statusline+=%m
+set statusline+=%r
+set statusline+=%{FileSize()}
+set statusline+=%=
+set statusline+=[%{&fenc}]
+set statusline+=%y
+set statusline+=%3.3p%%
+set statusline+=%04.4l:%03c