Files
config/zshrc
2017-07-17 15:25:14 +02:00

273 lines
9.1 KiB
Bash

#### SET CONDITIONALS ####
NO_LDPRELOAD=false
if [[ $HOST == "squarez" ]]; then
NO_LDPRELOAD=true
fi
#### ZSH-INTERNAL ####
### HISTORY ###
STSIZE=20000
SAVEHIST=20000
HISTFILE=~/.config/zshhistory.log
### COLOR STDERR ###
#legacy, this causes problems in output odering exec 2>>( while IFS='' read X; do print "\e[91m${X}\e[0m" > /dev/tty; done & )
if [[ $NO_LDPRELOAD == false ]]; then
LD_PRELOAD="$HOME/.config/libcoloredstderr.so"
COLORED_STDERR_FDS=2,
export LD_PRELOAD COLORED_STDERR_FDS
fi
### PROMT ###
MAIN_PROMT_COLOR="green"
USER_COLOR="yellow"
if [[ $HOST == "squarez" ]]; then
USER_COLOR="cyan"
fi
if [[ $USER == "root" ]]; then
USER_COLOR="red"
MAIN_PROMT_COLOR="red"
fi
setopt promptsubst
CMD_START=$'%F{$MAIN_PROMT_COLOR}--->%f '
PS1=$'%F{$USER_COLOR}%m%f%F{red}:%f%F{cyan}%~%f\n'$CMD_START #promt
if [[ ( $USER != 'sheppy') && ( $USER != 'ik15ydit') && ( $USER != 'root' ) ]]; then
PS1='%F{cyan}%n%f%F{red}@%f'$PS1
fi
PS1=%F{$MAIN_PROMT_COLOR}$'${(r:$COLUMNS::\u2500:)}'%f$PS1
### STYLE ###
zstyle ':completion:*:default' list-prompt '%p'
zstyle ':completion:*' use-cache yes; zstyle ':completion:*' cache-path #~/.zsh/cache (~/.zsh muss existieren)
zstyle ':completion:::::' completer _expand _complete _prefix _ignored _approximate # _expand expandiert dinge wie $FOO<Tab>, _complete ist
#das normale completion, _prefix ignoriert alles nach dem Cursor (für complete_in_word) _ignored ignoriered gewisse matches, ist mit
#_approximate wichtig, damit nicht falsche dinge completet werden, _approximate sucht nach ähnlichen Dingen
zstyle -e ':completion:*:approximate:*' max-errors 'reply=( $(( ($#PREFIX + $#SUFFIX) / 5 )) )' # maximal alle 3 zeichen ein fehler
zstyle ':completion:*:(^approximate):*' matcher-list 'm:{a-z}={A-Z}' # Kleinschreibung automatisch zu Großschreibung korrigieren.
zstyle ':completion:*:expand:*' keep-prefix yes #halt praefix behalten, HOME nicht zu cip/home blablabla expandierekn
zstyle ':completion:*' list-suffixes yes # completet a/b/c<tab> zu abc/bcd/coo
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} # dircolors für completion
zstyle ':completion:*' menu select
### OPTIONS ###
setopt noclobber #keine datein ueberscheiben mit >
setopt appendhistory; setopt incappendhistory # history immer sofort
setopt histignoredups #keine duplikate
setopt histignorespace #keine dinge mit leerzeichen in history
setopt nolistambiguous # sofort alle Möglichkeiten anzeigen
setopt completeinword # in Wörtern completen, braucht der _prefix completer
### GENERAL ###
#bindkey '^R' history-incremental-pattern-search-backward
zmodload zsh/complist #bessere listen
autoload -Uz compinit; compinit #completioni
### SSH-AGENT ###
if [ -f $HOME/.config/agent_socket ]; then
export SSH_AUTH_SOCK=/tmp/ssh-$(cat $HOME/.config/agent_socket)
fi
### UMASK ###
umask 077
#### ZSH ALIASES ####
## BASIC ##
alias -g E='2>&1'
alias -g N='>/dev/null'
alias -g EN='2>/dev/null'
alias -g L='2>&1 | less'
alias -g G='| grep'
alias -g S='| sort'
alias -g ...='../..'
alias -g D='| dot -Tpng >'
alias mv='mv -i'
alias cp='cp -i'
alias ..='cd ..'
## Anti-LD-Preload Chromium Wrapper ##
alias chromium="export TMP_PRELD=$LD_PRELOAD && /bin/bash -c 'unset LD_PRELOAD && chromium' && export LD_PRELOAD=$TMP_PRELD"
## Start thunderbird with correct time-format ##
alias thunderbird="LC_ALL=en_DK.utf8 && export LC_ALL && thunderbird"
## GIT ##
alias gstat="git status"
alias gpull="git pull"
alias gpush="git push"
alias gcom="git commit -a"
alias gadd="git add"
## LOCKS ##
if [[ $HOST =~ atlantis* ]]; then
alias i3lock="i3lock --image=/home/ik15ydit/.config/i3lock/bg.png"
alias hlock="i3lock --image=/home/ik15ydit/.config/i3lock/bg.png -t"
alias -g sq="sheppy@squarez.fauiwg.de"
else
alias transparent_xlock="xlock -mode blank -geometry 1x1"
fi
## PACKAGE MANAGEMENT ##
alias psearch="apt-cache search"
## GENERAL SHORTCUTS ##
if [[ $HOST =~ atlantis* ]]; then
#alias gedit="gedit 2&>/dev/null &"
alias kpaint="kolourpaint 2&>/dev/null &"
alias telegram='ssh uni -t "/proj/ciptmp/ik15ydit/Zeug/Telegram/tg/bin/telegram-cli -k tg-server.pub"'
alias telegram-plain='ssh uni -t "/proj/ciptmp/ik15ydit/Zeug/Telegram/tg/bin/telegram-cli --disable-colors --disable-readline -k tg-server.pub"'
alias x='exec startx'
alias vpn='sudo /usr/bin/openvpn_cip.sh'
else
alias telegram='/proj/ciptmp/ik15ydit/Zeug/Telegram/tg/bin/telegram-cli -k tg-server.pub'
alias burp=/home/cip/2013/ik15ydit/ciptmp/reps/WebScan/burpsuite/BurpSuiteFree
fi
alias rehash="source ~/.config/zshrc"
function qfind {
find . -name "$1"
}
alias pcolor='for i in {0..255} ; do printf "\x1b[38;5;${i}mcolour${i} "; if [[ $(((($i+3)/6)*6)) -eq $(($i+3)) ]]; then echo; fi; done'
alias "ipconf"="ip addr show"
alias 'vpn?'='ps -ef | grep openvpn | grep -v grep'
## General ##
if [[ $HOST =~ atlantis* ]]; then
alias -g jpg2png="echo 'use convert [file_in.jpg] [file_out.png]'"
alias mpc-curses='ncmpc --host 10.100.4.22'
alias wgplayer='ncmpc --host 10.100.4.22'
fi
## Pathing ##
CIP_MOUNTPOINT="$HOME/mountpoints/cip_root"
FS_PREFIX=""
CIPTMP="/proj/ciptmp/$USER"
if [[ $HOST =~ atlantis* ]]; then
FS_PREFIX=$CIP_MOUNTPOINT
fi
alias ct="cd $FS_PREFIX$CIPTMP"
alias tutoren="cd $FS_PREFIX$CIPTMP/reps/tutorenShare"
## MARKINGBIRD ##
export PYTHONPATH=/local/python3-typing
if [[ $HOST == faui* ]]; then
alias mabird="/proj/ciptmp/ik15ydit/reps/MarkingBird/MarkingBird.py"
fi
## PATHS ##
if [[ $HOST =~ faui* ]]; then
export JAVA_HOME="/local/java-1.8"
fi
## CONNECT UNI ##
alias irc="ssh ircbox.cs.fau.de -t 'command; tmux a'"
alias -g uni="ik15ydit@faui06c.cs.fau.de"
alias cipkey="ssh-add ~/.ssh/ciplogin"
alias cipra="xpra start ssh:ik15ydit@faui00n.cs.fau.de:100 --start-child urxvt"
alias mountcip="sshfs ik15ydit@faui00n.cs.fau.de:/ -o reconnect,idmap=user $CIP_MOUNTPOINT"
alias umountcip="fusermount -u $CIP_MOUNTPOINT"
## CONNECT Locally ##
alias -g atlantislaptop="ik15ydit@atlantislaptop.local"
alias -g atlantismedion="ik15ydit@atlantismedion.local"
## DIRECT TO CONFIG ##
alias hlconf="vim ~/.config/herbstluftwm/autostart"
alias zshconf="vim ~/.zshrc"
alias vimconf="vim ~/.vimrc"
alias sshconf="vim ~/.ssh/config"
## CIP SHORTCUTS ##
if [[ $HOST =~ faui* ]]; then
alias iceweasel="bash -c 'cp -f --recursive .mozilla/firefox/d9m0msa0.test /var/tmp && chmod 700 --recursive /var/tmp/d9m0msa0.test/ && iceweasel --profile /var/tmp/d9m0msa0.test && rm -rf /var/tmp/d9m0msa0.test'"
alias mpstubs="cd /proj/ciptmp/ik15ydit/reps/mpstubs/"
alias reps="cd /proj/ciptmp/ik15ydit/reps/"
alias rudipub='cd /home/cip/2010/he29heri/pub/'
alias sudo="echo THIS IS THE CIP NOT YOUR COMPUTER!!!!! >&2"
alias su="echo THIS IS THE CIP NOT YOUR COMPUTER!!!!! >&2"
fi
## MOUNTABLE CIP-SHORTCUTS ##
if [[ $HOST =~ atlantis* ]]; then
alias -g ciptmp="~/mountpoints/cip_root/proj/ciptmp/ik15ydit/"
alias -g ciphome="~/mountpoints/cip_root/home/cip/2013/ik15ydit/"
fi
## DIPLAY CONTROL ##
if [[ $HOST =~ atlantis* ]]; then
alias dual="xrandr --output DVI-I-2 --right-of DVI-I-1"
alias shutown="/sbin/poweroff"
fi
if [[ $HOST == "atlantislaptop" ]]; then
alias backlightctl="tee /sys/class/backlight/intel_backlight/brightness <<< $1"
alias nodisplayoff='xset s off'
fi
## JAVA ##
alias javac-all-test4='javac -cp .:/usr/share/java/junit4.jar *.java'
alias java-test4='java -cp .:/usr/share/java/junit4.jar'
## /zsh/random ##
alias spc='gcc -std=c99 -pedantic -Wall -Werror -D_XOPEN_SOURCE=700 -o'
alias woist='ssh ircbox nc localhost 1339 | grep -B1 " in .zshrci'
alias logins='nc localhost 1339 | grep -B1'
alias cltex="rm *.log *.aux *.fdb_latexmk *.fls"
alias wordcount="find . -type f -exec cat {} + | wc -w"
alias bv="urxvt -e vim $1"
alias v="vim $1"
alias chrome_with_proxy="unset LD_PRELOAD && /usr/bin/chromium --proxy-server="127.0.0.1:8080" --user-data-dir=/proj/ciptmp/ik15ydit/SymlinksLocationsBurpChrome"
## LS ##
LS_COLORS=$LS_COLORS:'di=0;35:'; export LS_COLORS
alias la="ls -lAh --color=auto"
alias ll="ls -llh --color=auto"
alias ls="ls --color=auto"
alias l="ls -lh --color=auto"
## SSH-KEYS ##
gitssh=~/.ssh/gitrsa
alias gitkey="ssh-add $gitssh"
## ROOT ##
alias udev_reload="udevadm control --reload-rules && udevadm trigger" #reload all udevrules on the fly
### DISABLE MESSAGES ###
if [[ $HOST =~ faui* ]]; then
mesg n
fi
### COLOR SSH ###
alias unfuck="printf '\033]708;black\007'"
ssh_func(){
printf '\033]708;red\007';
ssh $@;
printf '\033]708;black\007'
}
alias -g ssh="ssh_func"
### REVERSE SEARCH ###
if ! [ -x "$(command -v peco)" ]; then
PECO=~/.config/bin/
else
PECO=/usr/bin/
fi
alias cfind='print -z $(cat ~/.config/zshhistory.log | $PECO/peco)'
hhs(){print -z "$(cat ~/.config/zshhistory.log | $PECO/peco)"}
zle -N hhstest hhs
bindkey ^R hhstest
### Experimental ###
source ~/.config/other/zsh-history-substring-search.zsh
bindkey '^[[5~' history-substring-search-up
bindkey '^[[6~' history-substring-search-down
alias genserverkey='openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 100000'
if [[ $FIRST_RUN == "FALSE" ]]; then
;
else
FIRST_RUN="FALSE"
export FIRST_RUN
exec zsh
fi