diff options
| author | Nick Shipp <nick@shipp.ninja> | 2017-02-14 08:41:16 -0500 | 
|---|---|---|
| committer | Nick Shipp <nick@shipp.ninja> | 2017-02-14 08:41:16 -0500 | 
| commit | 24a605577c8e09a75f8f717f9df1bdc6c8dd8ec3 (patch) | |
| tree | 794db72af4e1ddf41cff2d1f6371b27103562d69 | |
initial commit
| -rw-r--r-- | .gitignore | 7 | ||||
| -rw-r--r-- | .gitmodules | 6 | ||||
| -rw-r--r-- | mpv/mpv.conf | 4 | ||||
| m--------- | vim/bundle/asyncrun.vim | 0 | ||||
| m--------- | vim/bundle/perldoc-vim | 0 | ||||
| m--------- | vim/bundle/w3m.vim | 0 | ||||
| -rw-r--r-- | vim/colors/apprentice.vim | 252 | ||||
| -rw-r--r-- | vim/compiler/perlcritic.vim | 23 | ||||
| -rw-r--r-- | vim/ftplugin/perl.vim | 5 | ||||
| -rw-r--r-- | vim/main.vim | 100 | ||||
| -rw-r--r-- | vim/perlcritic.vim | 22 | ||||
| -rw-r--r-- | zsh/.zshrc | 1 | ||||
| -rw-r--r-- | zsh/00_params.zsh | 15 | ||||
| -rw-r--r-- | zsh/01_env.zsh | 15 | ||||
| -rw-r--r-- | zsh/02_settings.zsh | 36 | ||||
| -rw-r--r-- | zsh/Functions/_uri | 58 | ||||
| -rw-r--r-- | zsh/Functions/memoize | 11 | ||||
| -rw-r--r-- | zsh/aliases.zsh | 7 | ||||
| -rw-r--r-- | zsh/completion.zsh | 23 | ||||
| -rw-r--r-- | zsh/dircolors | 141 | ||||
| -rw-r--r-- | zsh/functions.zsh | 27 | ||||
| -rw-r--r-- | zsh/keys.zsh | 18 | ||||
| -rw-r--r-- | zsh/zkbd/st-256color-unknown-linux-gnu | 28 | 
23 files changed, 799 insertions, 0 deletions
| diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..07bb114 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.*.un~ +.*.sw* +priv +qutebrowser/bookmarks +.netrwhist +tags +.zcompdump diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..fc7004a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "vim/bundle/asyncrun.vim"] +	path = vim/bundle/asyncrun.vim +	url = https://github.com/skywind3000/asyncrun.vim.git +[submodule "vim/bundle/w3m.vim"] +	path = vim/bundle/w3m.vim +	url = https://github.com/yuratomo/w3m.vim.git diff --git a/mpv/mpv.conf b/mpv/mpv.conf new file mode 100644 index 0000000..1f846a6 --- /dev/null +++ b/mpv/mpv.conf @@ -0,0 +1,4 @@ +vo=opengl +hwdec=vaapi +ao=alsa +ytdl-raw-options=netrc= diff --git a/vim/bundle/asyncrun.vim b/vim/bundle/asyncrun.vim new file mode 160000 +Subproject 1467e5852a3bbb5bc23a62374eb16dfb0fd0c42 diff --git a/vim/bundle/perldoc-vim b/vim/bundle/perldoc-vim new file mode 160000 +Subproject ef095a51f886f6fef50005c999c12f8de9bc406 diff --git a/vim/bundle/w3m.vim b/vim/bundle/w3m.vim new file mode 160000 +Subproject 228a852b188f1a62ecea55fa48b0ec892fa6bad 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 <speshak@gmail.com> +" Last Change: 2017 Feb 10 + +if exists("current_compiler") +finish +endif +let current_compiler = "perlcritic" + +if exists(":CompilerSet") != 2  +command -nargs=* CompilerSet setlocal <args> +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           " <tab> expans to spaces +set shiftwidth=4        " 4 spaces for autoindent +set softtabstop=4       " <tab> 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: +"  <leader>p{motion}    Paste {motion} lines +"  <leader>pp           Paste entire buffer (same as gg<leader>pG) +"  <leader>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 <leader>p :silent set opfunc=Paste<cr>g@ +nnoremap <leader>pp :call Paste('%')<CR> +vnoremap <leader>p <esc>:call Paste(visualmode())<CR> +"" 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 <speshak@gmail.com> +" Last Change: 2006 Dec 19 + +if exists("current_compiler") +	finish +endif +let current_compiler = "perlcritic" + +if exists(":CompilerSet") != 2  +	command -nargs=* CompilerSet setlocal <args> +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 diff --git a/zsh/.zshrc b/zsh/.zshrc new file mode 100644 index 0000000..d9499b6 --- /dev/null +++ b/zsh/.zshrc @@ -0,0 +1 @@ +for cfg ($ZDOTDIR/*.zsh) source $cfg diff --git a/zsh/00_params.zsh b/zsh/00_params.zsh new file mode 100644 index 0000000..15b8e3e --- /dev/null +++ b/zsh/00_params.zsh @@ -0,0 +1,15 @@ +PROMPT='%F{249}%D{%H}%F{245}%D{%M}%F{242}%D{%S} %F{red}%n%f@%F{blue}%m%f %F{yellow}%1~%f %(!.#.$) ' + +FCEDIT=$VISUAL +HISTFILE=$XDG_DATA_HOME/zsh/history +HISTSIZE=10000 +SAVEHIST=10000000 +REPORTTIME=60 + +fpath=($ZDOTDIR/Functions $fpath) +path=($HOME/bin /usr/bin/vendor_perl $path) + +# Expand ~zsh to $ZDOTDIR +hash -d zsh=$ZDOTDIR +# Same for vim +hash -d vim=$XDG_CONFIG_HOME/vim diff --git a/zsh/01_env.zsh b/zsh/01_env.zsh new file mode 100644 index 0000000..a3886ce --- /dev/null +++ b/zsh/01_env.zsh @@ -0,0 +1,15 @@ +EDITOR="ed -p:" +VISUAL=vim +SUDO_EDITOR="vim -Z" +MANPAGER="vim -M +MANPAGER -" +PAGER=vimpager +BROWSER=qutebrowser +TERMINAL=st +VIMINIT="let \$MYVIMRC = '$XDG_CONFIG_HOME/vim/main.vim' | source \$MYVIMRC" +VIMPAGER_RC="$XDG_CONFIG_HOME/vim/main.vim" +PERLDOC_PAGER=vimpager +PERLTIDY=$XDG_CONFIG_HOME/perltidy + +export EDITOR VISUAL SUDO_EDITOR MANPAGER PAGER BROWSER TERMINAL VIMINIT PERLDOC_PAGER VIMPAGER_RC PERLTIDY +eval $(dircolors -b) +eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) diff --git a/zsh/02_settings.zsh b/zsh/02_settings.zsh new file mode 100644 index 0000000..b4cd758 --- /dev/null +++ b/zsh/02_settings.zsh @@ -0,0 +1,36 @@ +# Changing Directories +setopt auto_cd +setopt auto_pushd +setopt pushd_ignore_dups +setopt pushd_minus +setopt pushd_silent +# Completion +setopt glob_complete +setopt list_packed +# Expansion and Globbing +unsetopt case_glob +setopt extended_glob +setopt glob_star_short +setopt magic_equal_subst +setopt warn_create_global +# History +setopt hist_fcntl_lock +setopt hist_ignore_all_dups +setopt hist_reduce_blanks +setopt hist_save_no_dups +setopt share_history +# Input/Output +setopt interactive_comments +setopt print_exit_value +# Job Control +setopt auto_continue +setopt long_list_jobs +# Scripts and Functions +setopt c_bases  +setopt c_precedences +setopt local_loops +setopt pipe_fail +# Shell Emulation +setopt csh_junkie_loops +# Zle +unsetopt beep diff --git a/zsh/Functions/_uri b/zsh/Functions/_uri new file mode 100644 index 0000000..40d1811 --- /dev/null +++ b/zsh/Functions/_uri @@ -0,0 +1,58 @@ +compdef uri + +local uri_commands  +uri_commands=( \ +    create change scheme has_recognized_scheme \ +    opaque path fragment as_string as_iri canonical \ +    secure authority path path_query query userinfo host \ +    ihost port host_port default_port \ +    media_type data \ +    file dir \ +    user password \ +    gopher_type selector search string \ +    dn attributes scope filter extensions \ +    un_path \ +    to headers \ +    group message \ +    nid nss ) + +_arguments \ +    '1: :->cmds' \ +    '*:: :->args' + + +case $state in +    (cmds) +        _values 'uri commands'  $uri_commands +        ;; +    (args) +        _arguments \ +            '--scheme=-:' \ +            '--path=-:' \ +            '--opaque=-[Opaque portion of URI (between scheme: and fragment)]:' \ +            '--fragment=-[Escaped URI fragment (#foo)]:' \ +            '--authority=-:' \ +            '--query=-[Escaped query component]:' \ +            '--userinfo=-[e.g. username:password]:' \ +            '--port=-:' \ +            '--host_port=-[host:port]:' \ +            '--media_type=-[Media type for data: URIs]:' \ +            '--data=-[Data for data: URIs]:' \ +            '--file=-[File for file:, ftp:, etc.]:' \ +            '--gopher_type=-:' \ +            '--selector=-[Gopher selector]:' \ +            '--search=-[Gopher query]:' \ +            '--string=-[Gopher string]:' \ +            '--dn=-[LDAP DN]' \ +            '--attributes=-[LDAP attributes]' \ +            '--scope=-[LDAP search scope]:' \ +            '--extensions=-[LDAP extensions]:' \ +            '--un_path=-[Local socket path for ldapi]:' \ +            '--to=-[Address for mailto:]:' \ +            '--headers=-[mailto: headers]:' \ +            '--group=-[Newsgroup]:' \ +            '--message=-[Newsgroup message]:' \ +            '--nid=-[Namespace identifier for urn:]:' \ +            '--nss=-[Namespace-specific string for urn:]:' +        ;; +esac diff --git a/zsh/Functions/memoize b/zsh/Functions/memoize new file mode 100644 index 0000000..c58e65d --- /dev/null +++ b/zsh/Functions/memoize @@ -0,0 +1,11 @@ +if ((! $+MEMOIZE)) { +    declare -Ag MEMOIZE +} + +if (($+MEMOIZE[$*])) { +    printf '%s' "$MEMOIZE[$*]" +    return +} + +MEMOIZE[$*]=$(eval $*) +printf '%s' "$MEMOIZE[$*]" diff --git a/zsh/aliases.zsh b/zsh/aliases.zsh new file mode 100644 index 0000000..fcc87c6 --- /dev/null +++ b/zsh/aliases.zsh @@ -0,0 +1,7 @@ +alias -g ...='../..' +alias -g ....='../../..' + +alias chmod='chmod -c' +alias grep='grep --color' +alias ls='ls --color -A' +alias l='ls --color -Althur' diff --git a/zsh/completion.zsh b/zsh/completion.zsh new file mode 100644 index 0000000..6baf129 --- /dev/null +++ b/zsh/completion.zsh @@ -0,0 +1,23 @@ +zstyle ':completion:*' completer _expand _complete _ignored _match _approximate _prefix +zstyle ':completion:*' completions 1 +zstyle ':completion:*' format 'Completing %d' +zstyle ':completion:*' glob 1 +zstyle ':completion:*' group-name '' +zstyle ':completion:*' list-colors '' +zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s +zstyle ':completion:*' matcher-list '' 'r:|[._-]=** r:|=**' '+m:{[:lower:]}={[:upper:]}' '+l:|=* r:|=*' +zstyle ':completion:*' max-errors 2 numeric +zstyle ':completion:*' menu select=1 +zstyle ':completion:*' prompt 'corrections? (%e)' +zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s +zstyle ':completion:*' substitute 1 +zstyle ':completion:*' verbose true +zstyle ':completion:*' use-cache on +zstyle ':completion:*' cache-path $XDG_CACHE_HOME/zsh +zstyle ':completion:*:functions' ignored-patterns '_*' +zstyle ':completion:*:kill:*' force-list always +zstyle ':completion:*:cd:*' ignore-parents parent pwd +zstyle :compinstall filename '/home/nick/cfg/zsh/completion.zsh' + +autoload -Uz compinit +compinit diff --git a/zsh/dircolors b/zsh/dircolors new file mode 100644 index 0000000..e64f1a4 --- /dev/null +++ b/zsh/dircolors @@ -0,0 +1,141 @@ +# Configuration file for dircolors, a utility to help you set the +# LS_COLORS environment variable used by GNU ls with the --color option. +# Copyright (C) 1996-2016 Free Software Foundation, Inc. +# Copying and distribution of this file, with or without modification, +# are permitted provided the copyright notice and this notice are preserved. +# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the +# slackware version of dircolors) are recognized but ignored. +# Below are TERM entries, which can be a glob patterns, to match +# against the TERM environment variable to determine if it is colorizable. +TERM Eterm +TERM ansi +TERM *color* +TERM con[0-9]*x[0-9]* +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM gnome +TERM hurd +TERM jfbterm +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mlterm +TERM putty +TERM rxvt* +TERM screen* +TERM st +TERM terminator +TERM tmux* +TERM vt100 +TERM xterm* +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +#NORMAL 00 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 01;34 # directory +LINK 01;36 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 40;33 # pipe +SOCK 01;35 # socket +DOOR 01;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ... +MISSING 00 # ... and the files they point to +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 1;31 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable +# This is for files with execute permission: +EXEC 01;32 +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +# If you use DOS-style suffixes, you may want to uncomment the following: +#.cmd 01;32 # executables (bright green) +#.exe 01;32 +#.com 01;32 +#.btm 01;32 +#.bat 01;32 +# Or if you want to colorize scripts even if they do not have the +# executable bit actually set. +#.sh 01;32 +#.csh 01;32 + # archives or compressed (bright red) +.tar 01;31 +.tgz 01;31 +.arc 01;31 +.arj 01;31 +.taz 01;31 +.lha 01;31 +.lz4 01;31 +.lzh 01;31 +.lzma 01;31 +.tlz 01;31 +.txz 01;31 +.tzo 01;31 +.t7z 01;31 +.zip 01;31 +.z 01;31 +.Z 01;31 +.dz 01;31 +.gz 01;31 +.lrz 01;31 +.lz 01;31 +.lzo 01;31 +.xz 01;31 +.zst 01;31 +.tzst 01;31 +.bz2 01;31 +.bz 01;31 +.tbz 01;31 +.tbz2 01;31 +.tz 01;31 +.deb 01;31 +.rpm 01;31 +.jar 01;31 +.war 01;31 +.ear 01;31 +.sar 01;31 +.rar 01;31 +.alz 01;31 +.ace 01;31 +.zoo 01;31 +.cpio 01;31 +.7z 01;31 +.rz 01;31 +.cab 01;31 +# audio formats +.aac 00;36 +.au 00;36 +.flac 00;36 +.m4a 00;36 +.mid 00;36 +.midi 00;36 +.mka 00;36 +.mp3 00;36 +.mpc 00;36 +.ogg 00;36 +.ra 00;36 +.wav 00;36 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.oga 00;36 +.opus 00;36 +.spx 00;36 +.xspf 00;36 +.mk 35 +*Makefile 35 +.pl 5;36;1;4 diff --git a/zsh/functions.zsh b/zsh/functions.zsh new file mode 100644 index 0000000..6bd9482 --- /dev/null +++ b/zsh/functions.zsh @@ -0,0 +1,27 @@ +function mpod { +    mcpan pod $1 | $PAGER -c 'set ft=perldoc' +} + +function msrc { +    mcpan src $1 | $PAGER -c 'set ft=perl' +} + +function scratch { +    local tmp +    tmp=$(mktemp --suffix=.$1) +    vim -c 'set ft='$1 $tmp +    rm $tmp +} + +function note { +    local note +    pushd +    cd ~/notes +    note=(${(@f)$(fzf --print-query)}) +    if [[ -f $note[2] ]]; then +        $VISUAL $note[2] +    else +        $VISUAL $note[1] +    fi +    popd +} diff --git a/zsh/keys.zsh b/zsh/keys.zsh new file mode 100644 index 0000000..f095954 --- /dev/null +++ b/zsh/keys.zsh @@ -0,0 +1,18 @@ +KBDFILE=$ZDOTDIR/zkbd/$TERM-$VENDOR-$OSTYPE + +[[ -f $KBDFILE ]]           && source $KBDFILE + +[[ -n ${key[Left]} ]]       && bindkey "${key[Left]}"       backward-char +[[ -n ${key[Right]} ]]      && bindkey "${key[Right]}"      forward-char +[[ -n ${key[Backspace]} ]]  && bindkey "${key[Backspace]}"  backward-delete-char +[[ -n ${key[Delete]} ]]     && bindkey "${key[Delete]}"     delete-char +[[ -n ${key[Up]}   ]]       && bindkey "${key[Up]}"         up-line-or-search +[[ -n ${key[Down]} ]]       && bindkey "${key[Down]}"       down-line-or-search +[[ -n ${key[Home]} ]]       && bindkey "${key[Home]}"       beginning-of-line +[[ -n ${key[End]} ]]        && bindkey "${key[End]}"        end-of-line + +# MOUSES +[[ -n ${key[ScrollUp]} ]]   && bindkey "${key[ScrollUp]}"   up-history +[[ -n ${key[ScrollDown]} ]] && bindkey "${key[ScrollDown]}" down-history + +bindkey '^R' history-incremental-search-backward diff --git a/zsh/zkbd/st-256color-unknown-linux-gnu b/zsh/zkbd/st-256color-unknown-linux-gnu new file mode 100644 index 0000000..482e37d --- /dev/null +++ b/zsh/zkbd/st-256color-unknown-linux-gnu @@ -0,0 +1,28 @@ +typeset -g -A key + +key[F1]='^[OP' +key[F2]='^[OQ' +key[F3]='^[OR' +key[F4]='^[OS' +key[F5]='^[[15~' +key[F6]='^[[17~' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='^[[23~' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[4h' +key[Home]='^[[H' +key[PageUp]='^[[5~' +key[Delete]='^[[P' +key[End]='^[[4~' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='''' +key[ScrollUp]='^Y' +key[ScrollDown]='^E' | 
