Initial commit, modular zsh config easy to extend with extra behaviours
This commit is contained in:
commit
df6164e3aa
22 changed files with 154 additions and 0 deletions
1
home/.zprofile
Normal file
1
home/.zprofile
Normal file
|
@ -0,0 +1 @@
|
|||
for f in ~/.zsh/login/*; source $f
|
6
home/.zsh/all/functions
Normal file
6
home/.zsh/all/functions
Normal file
|
@ -0,0 +1,6 @@
|
|||
#! zsh
|
||||
# autoloaded functions must be declared in every kind of zsh: they aren't
|
||||
# inherited in the environment so non-login shells need them, and you'll want
|
||||
# to call one in a script so non-interactive shells need them.
|
||||
autoload composer enphp unphp
|
||||
autoload -Uz zargs zmv
|
5
home/.zsh/functions/composer
Normal file
5
home/.zsh/functions/composer
Normal file
|
@ -0,0 +1,5 @@
|
|||
#! zsh
|
||||
# Composer runs significantly faster if xdebug is unloaded.
|
||||
local conf="$(php -r 'echo dirname(php_ini_loaded_file());')"
|
||||
(cd $conf; rsync -ar --delete-after --exclude ext-xdebug.ini conf.d/ conf-without-xdebug.d/)
|
||||
PHP_INI_SCAN_DIR=$conf/conf-without-xdebug.d php =composer "$@"
|
2
home/.zsh/functions/enphp
Normal file
2
home/.zsh/functions/enphp
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! zsh
|
||||
cat $argv | php -r 'echo serialize( json_decode( file_get_contents( "php://stdin" ) ) );'
|
2
home/.zsh/functions/unphp
Normal file
2
home/.zsh/functions/unphp
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! zsh
|
||||
cat $argv | php -r 'echo json_encode( unserialize( file_get_contents( "php://stdin" ) ) );'
|
2
home/.zsh/interactive+login/show_fortune
Normal file
2
home/.zsh/interactive+login/show_fortune
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! zsh
|
||||
fortune ~/.quotes/quotes | ponysay
|
26
home/.zsh/interactive/_zplug
Normal file
26
home/.zsh/interactive/_zplug
Normal file
|
@ -0,0 +1,26 @@
|
|||
#! zsh
|
||||
if [[ ! -f ~/.zplug/repos/zplug/zplug/init.zsh ]]; then
|
||||
git clone https://github.com/zplug/zplug ~/.zplug/repos/zplug/zplug
|
||||
fi
|
||||
source ~/.zplug/repos/zplug/zplug/init.zsh
|
||||
zplug zplug/zplug
|
||||
zplug willghatch/zsh-saneopt
|
||||
|
||||
zplug bobthecow/git-flow-completion
|
||||
zplug mafredri/zsh-async
|
||||
zplug micha/resty
|
||||
zplug rupa/z, use:z.sh
|
||||
zplug sharat87/zsh-vim-mode
|
||||
zplug sindresorhus/pure
|
||||
zplug supercrabtree/k
|
||||
zplug zsh-users/zsh-syntax-highlighting, nice:10
|
||||
zplug zsh-users/zsh-completions, nice:11
|
||||
zplug zsh-users/zsh-history-substring-search, nice:9
|
||||
zplug trapd00r/LS_COLORS, hook-load:apply-trapd00r-colors
|
||||
apply-trapd00r-colors() {
|
||||
eval $(dircolors -b $ZPLUG_REPOS/trapd00r/LS_COLORS/LS_COLORS)
|
||||
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
||||
}
|
||||
|
||||
zplug check || zplug install
|
||||
zplug load
|
17
home/.zsh/interactive/aliases
Normal file
17
home/.zsh/interactive/aliases
Normal file
|
@ -0,0 +1,17 @@
|
|||
#! zsh
|
||||
alias has_command='whence >/dev/null'
|
||||
alias ls="ls -F --color=auto"
|
||||
alias lsl="ls -lh"
|
||||
alias grep="grep --color=auto"
|
||||
alias egrep="egrep --color=auto"
|
||||
alias pseudo="sudo"
|
||||
if has_command xdg-open; then
|
||||
alias ]='xdg-open'
|
||||
else
|
||||
alias ]='open'
|
||||
fi
|
||||
|
||||
# make sure ELinks can detect when it's in tmux
|
||||
alias elinks="STY= elinks"
|
||||
|
||||
has_command hub && alias git=hub
|
12
home/.zsh/interactive/bindings
Normal file
12
home/.zsh/interactive/bindings
Normal file
|
@ -0,0 +1,12 @@
|
|||
#! zsh
|
||||
bindkey $terminfo[kcbt] reverse-menu-complete
|
||||
|
||||
autoload -Uz bracketed-paste-magic
|
||||
zle -N bracketed-paste bracketed-paste-magic
|
||||
|
||||
autoload -Uz url-quote-magic
|
||||
url-quote-magic-with-highlight() {
|
||||
url-quote-magic
|
||||
_zsh_highlight
|
||||
}
|
||||
zle -N self-insert url-quote-magic-with-highlight
|
3
home/.zsh/interactive/fzf
Normal file
3
home/.zsh/interactive/fzf
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! zsh
|
||||
export FZF_CTRL_R_OPTS="--sort"
|
||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
4
home/.zsh/interactive/history
Normal file
4
home/.zsh/interactive/history
Normal file
|
@ -0,0 +1,4 @@
|
|||
#! zsh
|
||||
export HISTFILE=~/.zsh/zhistory
|
||||
export HISTSIZE=50000
|
||||
export SAVEHIST=$HISTSIZE
|
1
home/.zsh/interactive/homeshick
Symbolic link
1
home/.zsh/interactive/homeshick
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../../../../.zsh/../.homesick/repos/homeshick/homeshick.sh
|
1
home/.zsh/interactive/iterm2
Symbolic link
1
home/.zsh/interactive/iterm2
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../../../../.zsh/../.iterm2_shell_integration.zsh
|
5
home/.zsh/interactive/options
Normal file
5
home/.zsh/interactive/options
Normal file
|
@ -0,0 +1,5 @@
|
|||
#! zsh
|
||||
setopt correct
|
||||
|
||||
zstyle ':completion:*' completer _expand _complete _correct _approximate
|
||||
zstyle ':completion:*' menu select=2
|
2
home/.zsh/login/editor
Normal file
2
home/.zsh/login/editor
Normal file
|
@ -0,0 +1,2 @@
|
|||
#! zsh
|
||||
export EDITOR==vim
|
5
home/.zsh/login/fpath
Normal file
5
home/.zsh/login/fpath
Normal file
|
@ -0,0 +1,5 @@
|
|||
#! zsh
|
||||
fpath=(~/.zsh/functions ~/.homesick/repos/homeshick/completions $fpath)
|
||||
|
||||
# filter out duplicates, nonexistent directories, and . (the current directory)
|
||||
fpath=(${(u)^fpath:#.}(N))
|
3
home/.zsh/login/homeshick
Normal file
3
home/.zsh/login/homeshick
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! zsh
|
||||
path+=(~/.homesick/repos/homeshick/bin)
|
||||
fpath+=(~/.homesick/repos/homeshick/completions)
|
34
home/.zsh/login/langs
Normal file
34
home/.zsh/login/langs
Normal file
|
@ -0,0 +1,34 @@
|
|||
#! zsh
|
||||
|
||||
local newbins=()
|
||||
|
||||
# go
|
||||
[[ -z $GOPATH ]] && export GOPATH=~/.go
|
||||
newbins+=(~/.go/bin)
|
||||
|
||||
# haskell
|
||||
newbins+=(~/.cabal/bin ~/Library/Haskell/bin)
|
||||
|
||||
# ooc
|
||||
if whence rock >/dev/null; then
|
||||
export OOC_LIBS=/usr/local/Cellar/rock/0.9.10:~/.ooc
|
||||
newbins+=(~/.ooc/sam)
|
||||
fi
|
||||
|
||||
# ruby
|
||||
newbins+=(~/.gem/ruby/*/bin)
|
||||
|
||||
# perl
|
||||
export PERL_LOCAL_LIB_ROOT="$HOME/perl5:$PERL_LOCAL_LIB_ROOT"
|
||||
export PERL_MB_OPT="--install_base '$HOME/perl5'";
|
||||
export PERL_MM_OPT="INSTALL_BASE=$HOME/perl5";
|
||||
export PERL5LIB="$HOME/perl5/lib/perl5:$HOME/.perllibs:$PERL5LIB";
|
||||
newbins+=(~/perl5/bin)
|
||||
|
||||
# php
|
||||
newbins+=(~/.composer/vendor/bin)
|
||||
|
||||
# python
|
||||
export -UT PYTHONPATH pythonpath
|
||||
|
||||
path=($newbins $path)
|
17
home/.zsh/login/path
Normal file
17
home/.zsh/login/path
Normal file
|
@ -0,0 +1,17 @@
|
|||
#! zsh
|
||||
|
||||
path=(/usr/local/bin $path)
|
||||
if whence brew >/dev/null; then
|
||||
path=(
|
||||
/usr/local/opt/coreutils/libexec/gnubin
|
||||
/usr/local/sbin
|
||||
~/Library/Python/*/bin
|
||||
$path
|
||||
)
|
||||
fi
|
||||
|
||||
path=(/usr/local/texlive/20*/bin/universal-* $path)
|
||||
path=(~/bin ~/.bin ~/.local/bin $path)
|
||||
|
||||
# filter out duplicates, nonexistent directories, and . (the current directory)
|
||||
path=(${(u)^path:#.}(N))
|
3
home/.zsh/login/skip
Normal file
3
home/.zsh/login/skip
Normal file
|
@ -0,0 +1,3 @@
|
|||
#! zsh
|
||||
skip_global_compinit=1
|
||||
skip_path_helper=1
|
1
home/.zshenv
Normal file
1
home/.zshenv
Normal file
|
@ -0,0 +1 @@
|
|||
for f in ~/.zsh/all/*; source $f
|
2
home/.zshrc
Normal file
2
home/.zshrc
Normal file
|
@ -0,0 +1,2 @@
|
|||
for f in ~/.zsh/interactive/*; source $f
|
||||
[[ -o login ]] && for f in ~/.zsh/interactive+login/*; source $f
|
Loading…
Reference in a new issue