.vim, .vimrc: Heavy Vim configuration
Gruvbox, templates, and pathogen
This commit is contained in:
parent
2bfd2b566d
commit
85b63b8319
113
.profile
113
.profile
@ -1,67 +1,72 @@
|
||||
#!/bin/sh
|
||||
|
||||
# POSIX NOTICE
|
||||
# This script is not fully POSIX-compliant. It uses features that,
|
||||
# while popular, are undefined by POSIX. Namely:
|
||||
#
|
||||
# * The use of the `local` keyword
|
||||
#
|
||||
# Users of this script on minimalist shells will have to adapt
|
||||
# this script accordingly.
|
||||
# This script should be fully POSIX-compliant
|
||||
# If it is not, open a bug report at github.com/rehashedsalt/home and I'll take
|
||||
# care of it
|
||||
|
||||
# Common miscellaneous aliases are all defined here for convenience
|
||||
__define_aliases() {
|
||||
|
||||
# Common Aliases
|
||||
|
||||
alias cp='cp -i'
|
||||
if [ `which dcfldd` ]; then
|
||||
alias dd=dcfldd
|
||||
# dcfldd is a fork of dd with some improvements
|
||||
# I prefer it, so there's an alias here
|
||||
if [ `which dcfldd` ]; then
|
||||
alias dd=dcfldd
|
||||
alias ddgnu=dd
|
||||
fi
|
||||
alias ls='ls --color=auto'
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -a --color=auto'
|
||||
alias l='ls -CF'
|
||||
alias waitwhat='echo $?'
|
||||
fi
|
||||
|
||||
alias fug='sudo `history -p !!`'
|
||||
}
|
||||
# If emerge exists, add emerge aliases
|
||||
if [ `which emerge` ]; then
|
||||
alias e-depclean='sudo emerge -a --depclean'
|
||||
alias e-inst='sudo emerge -av'
|
||||
alias e-upgrade='sudo emerge -DNuva --with-bdeps=y @world'
|
||||
alias e-search='emerge -s'
|
||||
alias e-sync='sudo emerge --sync'
|
||||
fi
|
||||
|
||||
# Functions to be exported to the shell
|
||||
# Mostly just helper wrappers and such
|
||||
__define_functions() {
|
||||
# Arch-only helper functions
|
||||
if [ "$(which pacman > /dev/null 2>&1)" ]; then
|
||||
export PAC_HELPER="pacaur"
|
||||
local helpers="pacaur yaourt pacman"
|
||||
for helper in $helpers; do
|
||||
if [ "$(pacman -Qq "$helper" > /dev/null)" ]; then
|
||||
export PAC_HELPER="$helper"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
alias pac="\$PAC_HELPER"
|
||||
alias pacq="\$PAC_HELPER -Qs"
|
||||
alias pacqi="\$PAC_HELPER -Qi"
|
||||
alias pacs="\$PAC_HELPER -S"
|
||||
alias pacss="\$PAC_HELPER -Ss"
|
||||
alias pacsu="\$PAC_HELPER -Syu"
|
||||
alias pacsyu="\$PAC_HELPER -Syyu"
|
||||
alias pacsr="\$PAC_HELPER -Rsnu"
|
||||
fi
|
||||
}
|
||||
if [ `which neofetch` ]; then
|
||||
alias fetch='neofetch --disable model resolution --block_range 0 15 --image wall --xoffset 4 --yoffset 4 --scrot ~/Pictures/Screenshots/neofetch.png'
|
||||
alias fetch-up='neofetch --disable model resolution --block_range 0 15 --image wall --xoffset 4 --yoffset 4 --upload --image-host imgur'
|
||||
fi
|
||||
|
||||
# Call functions that need to be called
|
||||
__define_aliases
|
||||
__define_functions
|
||||
# If pacman exists, check for helpers and add aliases
|
||||
if [ "`which pacman > /dev/null 2>&1`" ]; then
|
||||
export pac_helper="pacaur"
|
||||
helpers="pacaur yaourt pacman"
|
||||
for helper in $helpers; do
|
||||
if [ "$(pacman -Qq "$helper" > /dev/null)" ]; then
|
||||
export pac_helper="$helper"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
alias pac="\$pac_helper"
|
||||
alias pacq="\$pac_helper -Qs"
|
||||
alias pacqi="\$pac_helper -Qi"
|
||||
alias pacs="\$pac_helper -S"
|
||||
alias pacss="\$pac_helper -Ss"
|
||||
alias pacsu="\$pac_helper -Syu"
|
||||
alias pacsyu="\$pac_helper -Syyu"
|
||||
alias pacsr="\$pac_helper -Rsnu"
|
||||
unset helpers
|
||||
fi
|
||||
|
||||
# Alias for the dotfile setup
|
||||
if [ -d "$HOME/.dotfiles" ]; then
|
||||
alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
|
||||
fi
|
||||
|
||||
# Aliases for common utilities
|
||||
alias cp='cp -i'
|
||||
alias l='ls -CF --color=auto --file-type'
|
||||
alias la='ls -AF --color=auto --file-type'
|
||||
alias ls='ls -F --color=auto'
|
||||
alias ll='ls -AhlF --color=auto --file-type'
|
||||
alias waitwhat='echo $?'
|
||||
alias fug='sudo `history -p !!`'
|
||||
|
||||
# urxvt isn't a very well-known terminal
|
||||
if [ "$TERM" = "rxvt-unicode-256color" ]; then
|
||||
export TERM=xterm-256color
|
||||
fi
|
||||
|
||||
EDITOR=$(which vim)
|
||||
PATH=$PATH:$HOME/.bin:$HOME/.local/bin
|
||||
export EDITOR
|
||||
export PATH
|
||||
# Minor configuration settings
|
||||
export EDITOR=$(which vim)
|
||||
export PATH=$PATH:$HOME/.bin:$HOME/.local/bin
|
||||
|
3
.vim/.netrwhist
Normal file
3
.vim/.netrwhist
Normal file
@ -0,0 +1,3 @@
|
||||
let g:netrw_dirhistmax =10
|
||||
let g:netrw_dirhist_cnt =1
|
||||
let g:netrw_dirhist_1='/usr/share/themes/Numix'
|
264
.vim/autoload/pathogen.vim
Normal file
264
.vim/autoload/pathogen.vim
Normal file
@ -0,0 +1,264 @@
|
||||
" pathogen.vim - path option manipulation
|
||||
" Maintainer: Tim Pope <http://tpo.pe/>
|
||||
" Version: 2.4
|
||||
|
||||
" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
|
||||
"
|
||||
" For management of individually installed plugins in ~/.vim/bundle (or
|
||||
" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your
|
||||
" .vimrc is the only other setup necessary.
|
||||
"
|
||||
" The API is documented inline below.
|
||||
|
||||
if exists("g:loaded_pathogen") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_pathogen = 1
|
||||
|
||||
" Point of entry for basic default usage. Give a relative path to invoke
|
||||
" pathogen#interpose() or an absolute path to invoke pathogen#surround().
|
||||
" Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all
|
||||
" subdirectories inside "bundle" inside all directories in the runtime path.
|
||||
" If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}"
|
||||
" on versions of Vim without native package support.
|
||||
function! pathogen#infect(...) abort
|
||||
if a:0
|
||||
let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")')
|
||||
else
|
||||
let paths = ['bundle/{}', 'pack/{}/start/{}']
|
||||
endif
|
||||
if has('packages')
|
||||
call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"')
|
||||
endif
|
||||
let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$'
|
||||
for path in filter(copy(paths), 'v:val =~# static')
|
||||
call pathogen#surround(path)
|
||||
endfor
|
||||
for path in filter(copy(paths), 'v:val !~# static')
|
||||
if path =~# '^\%([$~\\/]\|\w:[\\/]\)'
|
||||
call pathogen#surround(path)
|
||||
else
|
||||
call pathogen#interpose(path)
|
||||
endif
|
||||
endfor
|
||||
call pathogen#cycle_filetype()
|
||||
if pathogen#is_disabled($MYVIMRC)
|
||||
return 'finish'
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
" Split a path into a list.
|
||||
function! pathogen#split(path) abort
|
||||
if type(a:path) == type([]) | return a:path | endif
|
||||
if empty(a:path) | return [] | endif
|
||||
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
|
||||
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
|
||||
endfunction
|
||||
|
||||
" Convert a list to a path.
|
||||
function! pathogen#join(...) abort
|
||||
if type(a:1) == type(1) && a:1
|
||||
let i = 1
|
||||
let space = ' '
|
||||
else
|
||||
let i = 0
|
||||
let space = ''
|
||||
endif
|
||||
let path = ""
|
||||
while i < a:0
|
||||
if type(a:000[i]) == type([])
|
||||
let list = a:000[i]
|
||||
let j = 0
|
||||
while j < len(list)
|
||||
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
|
||||
let path .= ',' . escaped
|
||||
let j += 1
|
||||
endwhile
|
||||
else
|
||||
let path .= "," . a:000[i]
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
return substitute(path,'^,','','')
|
||||
endfunction
|
||||
|
||||
" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
|
||||
function! pathogen#legacyjoin(...) abort
|
||||
return call('pathogen#join',[1] + a:000)
|
||||
endfunction
|
||||
|
||||
" Turn filetype detection off and back on again if it was already enabled.
|
||||
function! pathogen#cycle_filetype() abort
|
||||
if exists('g:did_load_filetypes')
|
||||
filetype off
|
||||
filetype on
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Check if a bundle is disabled. A bundle is considered disabled if its
|
||||
" basename or full name is included in the list g:pathogen_blacklist or the
|
||||
" comma delimited environment variable $VIMBLACKLIST.
|
||||
function! pathogen#is_disabled(path) abort
|
||||
if a:path =~# '\~$'
|
||||
return 1
|
||||
endif
|
||||
let sep = pathogen#slash()
|
||||
let blacklist = get(g:, 'pathogen_blacklist', get(g:, 'pathogen_disabled', [])) + pathogen#split($VIMBLACKLIST)
|
||||
if !empty(blacklist)
|
||||
call map(blacklist, 'substitute(v:val, "[\\/]$", "", "")')
|
||||
endif
|
||||
return index(blacklist, fnamemodify(a:path, ':t')) != -1 || index(blacklist, a:path) != -1
|
||||
endfunction
|
||||
|
||||
" Prepend the given directory to the runtime path and append its corresponding
|
||||
" after directory. Curly braces are expanded with pathogen#expand().
|
||||
function! pathogen#surround(path) abort
|
||||
let sep = pathogen#slash()
|
||||
let rtp = pathogen#split(&rtp)
|
||||
let path = fnamemodify(a:path, ':s?[\\/]\=$??')
|
||||
let before = filter(pathogen#expand(path), '!pathogen#is_disabled(v:val)')
|
||||
let after = filter(reverse(pathogen#expand(path, sep.'after')), '!pathogen#is_disabled(v:val[0:-7])')
|
||||
call filter(rtp, 'index(before + after, v:val) == -1')
|
||||
let &rtp = pathogen#join(before, rtp, after)
|
||||
return &rtp
|
||||
endfunction
|
||||
|
||||
" For each directory in the runtime path, add a second entry with the given
|
||||
" argument appended. Curly braces are expanded with pathogen#expand().
|
||||
function! pathogen#interpose(name) abort
|
||||
let sep = pathogen#slash()
|
||||
let name = a:name
|
||||
if has_key(s:done_bundles, name)
|
||||
return ""
|
||||
endif
|
||||
let s:done_bundles[name] = 1
|
||||
let list = []
|
||||
for dir in pathogen#split(&rtp)
|
||||
if dir =~# '\<after$'
|
||||
let list += reverse(filter(pathogen#expand(dir[0:-6].name, sep.'after'), '!pathogen#is_disabled(v:val[0:-7])')) + [dir]
|
||||
else
|
||||
let list += [dir] + filter(pathogen#expand(dir.sep.name), '!pathogen#is_disabled(v:val)')
|
||||
endif
|
||||
endfor
|
||||
let &rtp = pathogen#join(pathogen#uniq(list))
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
let s:done_bundles = {}
|
||||
|
||||
" Invoke :helptags on all non-$VIM doc directories in runtimepath.
|
||||
function! pathogen#helptags() abort
|
||||
let sep = pathogen#slash()
|
||||
for glob in pathogen#split(&rtp)
|
||||
for dir in map(split(glob(glob), "\n"), 'v:val.sep."/doc/".sep')
|
||||
if (dir)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir) == 2 && !empty(split(glob(dir.'*.txt'))) && (!filereadable(dir.'tags') || filewritable(dir.'tags'))
|
||||
silent! execute 'helptags' pathogen#fnameescape(dir)
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
command! -bar Helptags :call pathogen#helptags()
|
||||
|
||||
" Execute the given command. This is basically a backdoor for --remote-expr.
|
||||
function! pathogen#execute(...) abort
|
||||
for command in a:000
|
||||
execute command
|
||||
endfor
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
" Section: Unofficial
|
||||
|
||||
function! pathogen#is_absolute(path) abort
|
||||
return a:path =~# (has('win32') ? '^\%([\\/]\|\w:\)[\\/]\|^[~$]' : '^[/~$]')
|
||||
endfunction
|
||||
|
||||
" Given a string, returns all possible permutations of comma delimited braced
|
||||
" alternatives of that string. pathogen#expand('/{a,b}/{c,d}') yields
|
||||
" ['/a/c', '/a/d', '/b/c', '/b/d']. Empty braces are treated as a wildcard
|
||||
" and globbed. Actual globs are preserved.
|
||||
function! pathogen#expand(pattern, ...) abort
|
||||
let after = a:0 ? a:1 : ''
|
||||
let pattern = substitute(a:pattern, '^[~$][^\/]*', '\=expand(submatch(0))', '')
|
||||
if pattern =~# '{[^{}]\+}'
|
||||
let [pre, pat, post] = split(substitute(pattern, '\(.\{-\}\){\([^{}]\+\)}\(.*\)', "\\1\001\\2\001\\3", ''), "\001", 1)
|
||||
let found = map(split(pat, ',', 1), 'pre.v:val.post')
|
||||
let results = []
|
||||
for pattern in found
|
||||
call extend(results, pathogen#expand(pattern))
|
||||
endfor
|
||||
elseif pattern =~# '{}'
|
||||
let pat = matchstr(pattern, '^.*{}[^*]*\%($\|[\\/]\)')
|
||||
let post = pattern[strlen(pat) : -1]
|
||||
let results = map(split(glob(substitute(pat, '{}', '*', 'g')), "\n"), 'v:val.post')
|
||||
else
|
||||
let results = [pattern]
|
||||
endif
|
||||
let vf = pathogen#slash() . 'vimfiles'
|
||||
call map(results, 'v:val =~# "\\*" ? v:val.after : isdirectory(v:val.vf.after) ? v:val.vf.after : isdirectory(v:val.after) ? v:val.after : ""')
|
||||
return filter(results, '!empty(v:val)')
|
||||
endfunction
|
||||
|
||||
" \ on Windows unless shellslash is set, / everywhere else.
|
||||
function! pathogen#slash() abort
|
||||
return !exists("+shellslash") || &shellslash ? '/' : '\'
|
||||
endfunction
|
||||
|
||||
function! pathogen#separator() abort
|
||||
return pathogen#slash()
|
||||
endfunction
|
||||
|
||||
" Convenience wrapper around glob() which returns a list.
|
||||
function! pathogen#glob(pattern) abort
|
||||
let files = split(glob(a:pattern),"\n")
|
||||
return map(files,'substitute(v:val,"[".pathogen#slash()."/]$","","")')
|
||||
endfunction
|
||||
|
||||
" Like pathogen#glob(), only limit the results to directories.
|
||||
function! pathogen#glob_directories(pattern) abort
|
||||
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
|
||||
endfunction
|
||||
|
||||
" Remove duplicates from a list.
|
||||
function! pathogen#uniq(list) abort
|
||||
let i = 0
|
||||
let seen = {}
|
||||
while i < len(a:list)
|
||||
if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
|
||||
call remove(a:list,i)
|
||||
elseif a:list[i] ==# ''
|
||||
let i += 1
|
||||
let empty = 1
|
||||
else
|
||||
let seen[a:list[i]] = 1
|
||||
let i += 1
|
||||
endif
|
||||
endwhile
|
||||
return a:list
|
||||
endfunction
|
||||
|
||||
" Backport of fnameescape().
|
||||
function! pathogen#fnameescape(string) abort
|
||||
if exists('*fnameescape')
|
||||
return fnameescape(a:string)
|
||||
elseif a:string ==# '-'
|
||||
return '\-'
|
||||
else
|
||||
return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Like findfile(), but hardcoded to use the runtimepath.
|
||||
function! pathogen#runtime_findfile(file,count) abort
|
||||
let rtp = pathogen#join(1,pathogen#split(&rtp))
|
||||
let file = findfile(a:file,rtp,a:count)
|
||||
if file ==# ''
|
||||
return ''
|
||||
else
|
||||
return fnamemodify(file,':p')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=':
|
1
.vim/bundle/gruvbox
Submodule
1
.vim/bundle/gruvbox
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 96f0b0c69e11f4d3aa480b6a6b1396b100815ace
|
1
.vim/bundle/vim-template
Submodule
1
.vim/bundle/vim-template
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 3ce0257401562f2234cc7031073d09a69fba8911
|
15
.vimrc
Normal file
15
.vimrc
Normal file
@ -0,0 +1,15 @@
|
||||
execute pathogen#infect()
|
||||
|
||||
colorscheme gruvbox
|
||||
set background=dark
|
||||
let g:gruvbox_contrast_dark='medium'
|
||||
|
||||
syntax on
|
||||
filetype plugin indent on
|
||||
|
||||
" Automatically read when a file is changed outside of Vim
|
||||
set autoread
|
||||
|
||||
" Enable 256-color support
|
||||
" All of my machines support 256-color so this should be fine
|
||||
set t_Co=256
|
20
.zshrc
20
.zshrc
@ -57,24 +57,4 @@ zstyle :compinstall filename '/home/salt/.zshrc'
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
|
||||
# Aliases
|
||||
## ls
|
||||
alias l='ls --color=auto --file-type'
|
||||
alias la='ls -A --color=auto --file-type'
|
||||
alias ls='ls --color=auto'
|
||||
alias ll='ls -Ahl --color=auto --file-type'
|
||||
alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
|
||||
## emerge
|
||||
if [[ "$(which emerge)" ]]; then
|
||||
alias e-sync='sudo emerge --sync'
|
||||
alias e-upgrade='sudo emerge -DNuva --with-bdeps=y @world'
|
||||
alias e-inst='sudo emerge -av'
|
||||
alias e-depclean='sudo emerge -a --depclean'
|
||||
fi
|
||||
## neofetch
|
||||
if [[ "$(which neofetch)" ]]; then
|
||||
alias fetch='neofetch --disable model resolution --block_range 0 15 --image wall --xoffset 4 --yoffset 4 --scrot ~/Pictures/neofetch.png'
|
||||
alias fetch-up='neofetch --disable model resolution --block_range 0 15 --image wall --xoffset 4 --yoffset 4 --upload --image_host imgur'
|
||||
fi
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
Loading…
Reference in New Issue
Block a user