From 24a605577c8e09a75f8f717f9df1bdc6c8dd8ec3 Mon Sep 17 00:00:00 2001 From: Nick Shipp Date: Tue, 14 Feb 2017 08:41:16 -0500 Subject: initial commit --- vim/bundle/asyncrun.vim | 1 + vim/bundle/perldoc-vim | 1 + vim/bundle/w3m.vim | 1 + vim/colors/apprentice.vim | 252 ++++++++++++++++++++++++++++++++++++++++++++ vim/compiler/perlcritic.vim | 23 ++++ vim/ftplugin/perl.vim | 5 + vim/main.vim | 100 ++++++++++++++++++ vim/perlcritic.vim | 22 ++++ 8 files changed, 405 insertions(+) create mode 160000 vim/bundle/asyncrun.vim create mode 160000 vim/bundle/perldoc-vim create mode 160000 vim/bundle/w3m.vim create mode 100644 vim/colors/apprentice.vim create mode 100644 vim/compiler/perlcritic.vim create mode 100644 vim/ftplugin/perl.vim create mode 100644 vim/main.vim create mode 100644 vim/perlcritic.vim (limited to 'vim') diff --git a/vim/bundle/asyncrun.vim b/vim/bundle/asyncrun.vim new file mode 160000 index 0000000..1467e58 --- /dev/null +++ b/vim/bundle/asyncrun.vim @@ -0,0 +1 @@ +Subproject commit 1467e5852a3bbb5bc23a62374eb16dfb0fd0c427 diff --git a/vim/bundle/perldoc-vim b/vim/bundle/perldoc-vim new file mode 160000 index 0000000..ef095a5 --- /dev/null +++ b/vim/bundle/perldoc-vim @@ -0,0 +1 @@ +Subproject commit ef095a51f886f6fef50005c999c12f8de9bc4061 diff --git a/vim/bundle/w3m.vim b/vim/bundle/w3m.vim new file mode 160000 index 0000000..228a852 --- /dev/null +++ b/vim/bundle/w3m.vim @@ -0,0 +1 @@ +Subproject commit 228a852b188f1a62ecea55fa48b0ec892fa6bad7 diff --git a/vim/colors/apprentice.vim b/vim/colors/apprentice.vim new file mode 100644 index 0000000..bc864e9 --- /dev/null +++ b/vim/colors/apprentice.vim @@ -0,0 +1,252 @@ +" 'apprentice.vim' -- Vim color scheme. +" Author: Romain Lafourcade (romainlafourcade@gmail.com) +" Description: Essentially a streamlining and conversion to xterm colors of +" 'sorcerer' by Jeet Sukumaran (jeetsukumaran@gmailcom) + +" MADE-UP NAME HEX RGB XTERM ANSI +" ======================================================================== +" almost black #1c1c1c rgb(28, 28, 28) 234 0 +" darker grey #262626 rgb(38, 38, 38) 235 background color +" dark grey #303030 rgb(48, 48, 48) 236 8 +" grey #444444 rgb(68, 68, 68) 238 8 +" medium grey #585858 rgb(88, 88, 88) 240 8 +" light grey #6c6c6c rgb(108, 108, 108) 242 7 +" lighter grey #bcbcbc rgb(188, 188, 188) 250 foreground color +" white #ffffff rgb(255, 255, 255) 231 15 +" purple #5f5f87 rgb(95, 95, 135) 60 5 +" light purple #8787af rgb(135, 135, 175) 103 13 +" green #5f875f rgb(95, 135, 95) 65 2 +" light green #87af87 rgb(135, 175, 135) 108 10 +" aqua #5f8787 rgb(95, 135, 135) 66 6 +" light aqua #5fafaf rgb(95, 175, 175) 73 14 +" blue #5f87af rgb(95, 135, 175) 67 4 +" light blue #8fafd7 rgb(143, 175, 215) 110 12 +" red #af5f5f rgb(175, 95, 95) 131 1 +" orange #ff8700 rgb(255, 135, 0) 208 9 +" ocre #87875f rgb(135, 135, 95) 101 3 +" yellow #ffffaf rgb(255, 255, 175) 229 11 + +hi clear + +if exists("syntax_on") + syntax reset +endif + +let colors_name = "apprentice" + +if ($TERM =~ '256' || &t_Co >= 256) || has("gui_running") + hi Normal ctermbg=NONE ctermfg=250 guibg=#262626 guifg=#bcbcbc cterm=NONE gui=NONE + hi LineNr ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE + hi FoldColumn ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE + hi Folded ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE + hi MatchParen ctermbg=234 ctermfg=229 guibg=#1c1c1c guifg=#ffffaf cterm=NONE gui=NONE + hi signColumn ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE + + set background=dark + + hi Comment ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE + hi Conceal ctermbg=NONE ctermfg=250 guibg=NONE guifg=#bcbcbc cterm=NONE gui=NONE + hi Constant ctermbg=NONE ctermfg=208 guibg=NONE guifg=#ff8700 cterm=NONE gui=NONE + hi Error ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=reverse gui=reverse + hi Identifier ctermbg=NONE ctermfg=67 guibg=NONE guifg=#5f87af cterm=NONE gui=NONE + hi Ignore ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE + hi PreProc ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=NONE gui=NONE + hi Special ctermbg=NONE ctermfg=65 guibg=NONE guifg=#5f875f cterm=NONE gui=NONE + hi Statement ctermbg=NONE ctermfg=110 guibg=NONE guifg=#8fafd7 cterm=NONE gui=NONE + hi String ctermbg=NONE ctermfg=108 guibg=NONE guifg=#87af87 cterm=NONE gui=NONE + hi Todo ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=reverse gui=reverse + hi Type ctermbg=NONE ctermfg=103 guibg=NONE guifg=#8787af cterm=NONE gui=NONE + hi Underlined ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=underline gui=underline + + hi NonText ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE + + hi Pmenu ctermbg=238 ctermfg=250 guibg=#444444 guifg=#bcbcbc cterm=NONE gui=NONE + hi PmenuSbar ctermbg=240 ctermfg=NONE guibg=#585858 guifg=NONE cterm=NONE gui=NONE + hi PmenuSel ctermbg=66 ctermfg=235 guibg=#5f8787 guifg=#262626 cterm=NONE gui=NONE + hi PmenuThumb ctermbg=66 ctermfg=66 guibg=#5f8787 guifg=#5f8787 cterm=NONE gui=NONE + + hi ErrorMsg ctermbg=131 ctermfg=235 guibg=#af5f5f guifg=#262626 cterm=NONE gui=NONE + hi ModeMsg ctermbg=108 ctermfg=235 guibg=#87af87 guifg=#262626 cterm=NONE gui=NONE + hi MoreMsg ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=NONE gui=NONE + hi Question ctermbg=NONE ctermfg=108 guibg=NONE guifg=#87af87 cterm=NONE gui=NONE + hi WarningMsg ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=NONE gui=NONE + + hi TabLine ctermbg=238 ctermfg=101 guibg=#444444 guifg=#87875f cterm=NONE gui=NONE + hi TabLineFill ctermbg=238 ctermfg=238 guibg=#444444 guifg=#444444 cterm=NONE gui=NONE + hi TabLineSel ctermbg=101 ctermfg=235 guibg=#87875f guifg=#262626 cterm=NONE gui=NONE + + hi Cursor ctermbg=242 ctermfg=NONE guibg=#6c6c6c guifg=NONE cterm=NONE gui=NONE + hi CursorColumn ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE cterm=NONE gui=NONE + hi CursorLineNr ctermbg=236 ctermfg=73 guibg=#303030 guifg=#5fafaf cterm=NONE gui=NONE + hi CursorLine ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE cterm=NONE gui=NONE + + hi helpLeadBlank ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE + hi helpNormal ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE + + hi StatusLine ctermbg=101 ctermfg=235 guibg=#87875f guifg=#262626 cterm=NONE gui=NONE + hi StatusLineNC ctermbg=238 ctermfg=101 guibg=#444444 guifg=#87875f cterm=NONE gui=italic + + hi Visual ctermbg=NONE ctermfg=110 guibg=#262626 guifg=#8fafd7 cterm=reverse gui=reverse + hi VisualNOS ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=underline gui=underline + + hi VertSplit ctermbg=238 ctermfg=238 guibg=#444444 guifg=#444444 cterm=NONE gui=NONE + hi WildMenu ctermbg=110 ctermfg=235 guibg=#8fafd7 guifg=#262626 cterm=NONE gui=NONE + + hi Function ctermbg=NONE ctermfg=229 guibg=NONE guifg=#ffffaf cterm=NONE gui=NONE + hi SpecialKey ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE + hi Title ctermbg=NONE ctermfg=231 guibg=NONE guifg=#ffffff cterm=NONE gui=NONE + + hi DiffAdd ctermbg=NONE ctermfg=108 guibg=#262626 guifg=#87af87 cterm=reverse gui=reverse + hi DiffChange ctermbg=NONE ctermfg=103 guibg=#262626 guifg=#8787af cterm=reverse gui=reverse + hi DiffDelete ctermbg=NONE ctermfg=131 guibg=#262626 guifg=#af5f5f cterm=reverse gui=reverse + hi DiffText ctermbg=NONE ctermfg=208 guibg=#262626 guifg=#ff8700 cterm=reverse gui=reverse + + hi IncSearch ctermbg=131 ctermfg=235 guibg=#af5f5f guifg=#262626 cterm=NONE gui=NONE + hi Search ctermbg=229 ctermfg=235 guibg=#ffffaf guifg=#262626 cterm=NONE gui=NONE + + hi Directory ctermbg=NONE ctermfg=73 guibg=NONE guifg=#5fafaf cterm=NONE gui=NONE + + if has("gui_running") + hi SpellBad ctermbg=NONE ctermfg=131 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#af5f5f + hi SpellCap ctermbg=NONE ctermfg=73 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#5fafaf + hi SpellLocal ctermbg=NONE ctermfg=65 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#5f875f + hi SpellRare ctermbg=NONE ctermfg=208 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#ff8700 + else + hi SpellBad ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=undercurl gui=undercurl guisp=NONE + hi SpellCap ctermbg=NONE ctermfg=73 guibg=NONE guifg=#5fafaf cterm=undercurl gui=undercurl guisp=NONE + hi SpellLocal ctermbg=NONE ctermfg=65 guibg=NONE guifg=#5f875f cterm=undercurl gui=undercurl guisp=NONE + hi SpellRare ctermbg=NONE ctermfg=208 guibg=NONE guifg=#ff8700 cterm=undercurl gui=undercurl guisp=NONE + endif + + hi ColorColumn ctermbg=131 ctermfg=NONE guibg=#af5f5f guifg=NONE cterm=NONE gui=NONE +elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16 + set t_Co=16 + + hi Normal ctermbg=NONE ctermfg=white cterm=NONE + + set background=dark + + hi Comment ctermbg=NONE ctermfg=gray cterm=NONE + hi Conceal ctermbg=NONE ctermfg=white cterm=NONE + hi Constant ctermbg=NONE ctermfg=red cterm=NONE + hi Function ctermbg=NONE ctermfg=yellow cterm=NONE + hi Identifier ctermbg=NONE ctermfg=darkblue cterm=NONE + hi PreProc ctermbg=NONE ctermfg=darkcyan cterm=NONE + hi Special ctermbg=NONE ctermfg=darkgreen cterm=NONE + hi Statement ctermbg=NONE ctermfg=blue cterm=NONE + hi String ctermbg=NONE ctermfg=green cterm=NONE + hi Todo ctermbg=NONE ctermfg=NONE cterm=reverse + hi Type ctermbg=NONE ctermfg=magenta cterm=NONE + + hi Error ctermbg=NONE ctermfg=darkred cterm=reverse + hi Ignore ctermbg=NONE ctermfg=NONE cterm=NONE + hi Underlined ctermbg=NONE ctermfg=NONE cterm=reverse + + hi LineNr ctermbg=black ctermfg=gray cterm=NONE + hi NonText ctermbg=NONE ctermfg=darkgray cterm=NONE + + hi Pmenu ctermbg=darkgray ctermfg=white cterm=NONE + hi PmenuSbar ctermbg=gray ctermfg=NONE cterm=NONE + hi PmenuSel ctermbg=darkcyan ctermfg=black cterm=NONE + hi PmenuThumb ctermbg=darkcyan ctermfg=NONE cterm=NONE + + hi ErrorMsg ctermbg=darkred ctermfg=black cterm=NONE + hi ModeMsg ctermbg=darkgreen ctermfg=black cterm=NONE + hi MoreMsg ctermbg=NONE ctermfg=darkcyan cterm=NONE + hi Question ctermbg=NONE ctermfg=green cterm=NONE + hi WarningMsg ctermbg=NONE ctermfg=darkred cterm=NONE + + hi TabLine ctermbg=darkgray ctermfg=darkyellow cterm=NONE + hi TabLineFill ctermbg=darkgray ctermfg=black cterm=NONE + hi TabLineSel ctermbg=darkyellow ctermfg=black cterm=NONE + + hi Cursor ctermbg=NONE ctermfg=NONE cterm=NONE + hi CursorColumn ctermbg=darkgray ctermfg=NONE cterm=NONE + hi CursorLineNr ctermbg=black ctermfg=cyan cterm=NONE + hi CursorLine ctermbg=darkgray ctermfg=NONE cterm=NONE + + hi helpLeadBlank ctermbg=NONE ctermfg=NONE cterm=NONE + hi helpNormal ctermbg=NONE ctermfg=NONE cterm=NONE + + hi StatusLine ctermbg=darkyellow ctermfg=black cterm=NONE + hi StatusLineNC ctermbg=darkgray ctermfg=darkyellow cterm=NONE + + hi Visual ctermbg=black ctermfg=blue cterm=reverse + hi VisualNOS ctermbg=black ctermfg=white cterm=reverse + + hi FoldColumn ctermbg=black ctermfg=darkgray cterm=NONE + hi Folded ctermbg=black ctermfg=darkgray cterm=NONE + + hi VertSplit ctermbg=darkgray ctermfg=darkgray cterm=NONE + hi WildMenu ctermbg=blue ctermfg=black cterm=NONE + + hi SpecialKey ctermbg=NONE ctermfg=darkgray cterm=NONE + hi Title ctermbg=NONE ctermfg=white cterm=NONE + + hi DiffAdd ctermbg=black ctermfg=green cterm=reverse + hi DiffChange ctermbg=black ctermfg=magenta cterm=reverse + hi DiffDelete ctermbg=black ctermfg=darkred cterm=reverse + hi DiffText ctermbg=black ctermfg=red cterm=reverse + + hi IncSearch ctermbg=darkred ctermfg=black cterm=NONE + hi Search ctermbg=yellow ctermfg=black cterm=NONE + + hi Directory ctermbg=NONE ctermfg=cyan cterm=NONE + hi MatchParen ctermbg=black ctermfg=yellow cterm=NONE + + hi SpellBad ctermbg=NONE ctermfg=darkred cterm=undercurl + hi SpellCap ctermbg=NONE ctermfg=darkyellow cterm=undercurl + hi SpellLocal ctermbg=NONE ctermfg=darkgreen cterm=undercurl + hi SpellRare ctermbg=NONE ctermfg=darkmagenta cterm=undercurl + + hi ColorColumn ctermbg=darkred ctermfg=NONE cterm=NONE + hi SignColumn ctermbg=black ctermfg=darkgray cterm=NONE +endif + +hi link Boolean Constant +hi link Character Constant +hi link Conditional Statement +hi link Debug Special +hi link Define PreProc +hi link Delimiter Special +hi link Exception Statement +hi link Float Number +hi link HelpCommand Statement +hi link HelpExample Statement +hi link Include PreProc +hi link Keyword Statement +hi link Label Statement +hi link Macro PreProc +hi link Number Constant +hi link Operator Statement +hi link PreCondit PreProc +hi link Repeat Statement +hi link SpecialChar Special +hi link SpecialComment Special +hi link StorageClass Type +hi link Structure Type +hi link Tag Special +hi link Typedef Type + +hi link htmlEndTag htmlTagName +hi link htmlLink Function +hi link htmlSpecialTagName htmlTagName +hi link htmlTag htmlTagName +hi link htmlBold Normal +hi link htmlItalic Normal +hi link xmlTag Statement +hi link xmlTagName Statement +hi link xmlEndTag Statement + +hi link markdownItalic Preproc +hi link asciidocQuotedEmphasized Preproc + +hi link diffBDiffer WarningMsg +hi link diffCommon WarningMsg +hi link diffDiffer WarningMsg +hi link diffIdentical WarningMsg +hi link diffIsA WarningMsg +hi link diffNoEOL WarningMsg +hi link diffOnly WarningMsg +hi link diffRemoved WarningMsg +hi link diffAdded String diff --git a/vim/compiler/perlcritic.vim b/vim/compiler/perlcritic.vim new file mode 100644 index 0000000..b42a8e7 --- /dev/null +++ b/vim/compiler/perlcritic.vim @@ -0,0 +1,23 @@ +" Vim Compiler File +" Compiler: perlcritic +" Maintainer: Scott Peshak +" Last Change: 2017 Feb 10 + +if exists("current_compiler") +finish +endif +let current_compiler = "perlcritic" + +if exists(":CompilerSet") != 2 +command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo-=C + +" nshp - bump severity up to 4, add --quiet +CompilerSet makeprg=perlcritic\ -verbose\ 1\ -4\ --quiet\ % +CompilerSet errorformat=%f:%l:%c:%m + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/vim/ftplugin/perl.vim b/vim/ftplugin/perl.vim new file mode 100644 index 0000000..9d27999 --- /dev/null +++ b/vim/ftplugin/perl.vim @@ -0,0 +1,5 @@ +setl formatprg=perltidy\ -q +" Indent-only perltidy for == +setl equalprg=perltidy\ -q\ -io +" Linting with :make +compiler perlcritic diff --git a/vim/main.vim b/vim/main.vim new file mode 100644 index 0000000..48bcd14 --- /dev/null +++ b/vim/main.vim @@ -0,0 +1,100 @@ +"" +" Configuration for my config organization +" +set directory=$XDG_CONFIG_HOME/vim,~/,/tmp +set backupdir=$XDG_CACHE_HOME/vim,~/,/tmp +set viminfo+=n$XDG_CACHE_HOME/vim/viminfo +set runtimepath=$XDG_CONFIG_HOME/vim,$XDG_CONFIG_HOME/vim/after,$VIM,$VIMRUNTIME +let $MYVIMRC="$XDG_CONFIG_HOME/vim/main.vim" +"" + +" Auto-load plugins from $VIMRUNTIME/bundle +"execute pathogen#infect() + +"" +" General mappings and stuff +let mapleader = "-" +"" + +" Apply filetype-based indent rules and plugins +filetype plugin indent on + +" Arch comes with some sensible defaults, might as well use them +runtime! archlinux.vim +" And so does vim itself +runtime! defaults.vim +" I like reading manpages in vim. +runtime! ftplugin/man.vim + +"" +" Load the matchit plugin (shipped with vim) for jumping to matching #ifs and +" #endifs and so on. +" Requires vim 8 for :packadd +packadd! matchit + +" romainl's apprentice colorscheme, with a few changes for higher contrast +colorscheme apprentice + +"" +" Settings! +" +set expandtab " expans to spaces +set shiftwidth=4 " 4 spaces for autoindent +set softtabstop=4 " inserts 4 spaces at a time +set autowrite " write before swapping buffers +set number " regular line numbers +set ttyfast " xterms and linux consoles are fast +set ttymouse=sgr " for mouse events in columns >233 +set clipboard=unnamed " default to the * register to share with X11 +set undolevels=100000 " don't discard my undo tree +set undofile " persistent undo tree +" + +"" +" PASTEBIN with pbpst +" +" Mappings: +" p{motion} Paste {motion} lines +" pp Paste entire buffer (same as ggpG) +" p (Visual) paste selection +" +" The pastebin URL is stored to the * register. +" With +X11, this is shared with the X primary selection (middle click or +" shift-insert to paste.) +function! Paste(type, ...) + " Line-wise ranges + if a:type == 'line' || a:type == 'V' || a:type == '%' + if a:type == 'line' + let start = "'[" " motion lines + let end = "']" + elseif a:type == 'V' + let start = "'<" " visual lines + let end = "'>" + else + let start = 1 " entire file + let end = "$" + endif + let @* = systemlist('pbpst -S 2>/dev/null', getline(start, end))[0] . '/' . &filetype + " Character-wise ranges + elseif a:type == 'char' || a:type == 'v' + if a:type == 'char' + let start = "'[" " motion + let end = "']" + else + let start = "`<" " visual + let end = "`>" + endif + let input = getline(start, end) + let input[0] = input[0][col(start):] + let input[-1] = input[-1][:col(end)-1] + let @* = systemlist('pbpst -S 2>/dev/null', input)[0] . '/' . &filetype + " Block ranges (not handled) + else + echoerr "Paste: unsupported selection type: " . a:type + endif +endfunction + +nnoremap p :silent set opfunc=Pasteg@ +nnoremap pp :call Paste('%') +vnoremap p :call Paste(visualmode()) +"" diff --git a/vim/perlcritic.vim b/vim/perlcritic.vim new file mode 100644 index 0000000..16a75b1 --- /dev/null +++ b/vim/perlcritic.vim @@ -0,0 +1,22 @@ +" Vim Compiler File +" Compiler: perlcritic +" Maintainer: Scott Peshak +" Last Change: 2006 Dec 19 + +if exists("current_compiler") + finish +endif +let current_compiler = "perlcritic" + +if exists(":CompilerSet") != 2 + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo-=C + +CompilerSet makeprg=perlcritic\ -verbose\ 1\ -2\ % +CompilerSet errorformat=%f:%l:%c:%m + +let &cpo = s:cpo_save +unlet s:cpo_save -- cgit v1.2.3-70-g09d2