# editor if command -v nvim &> /dev/null; then alias vim=nvim alias vi=nvim export EDITOR='nvim' elif command -v vim &> /dev/null; then alias nvim=vim alias vi=vim export EDITOR='vim' elif command -v nano &> /dev/null; then alias nvim=nano alias vim=nano alias vi=nano export EDITOR='nano' elif command -v mcedit &> /dev/null; then alias nvim=mcedit alias vim=mcedit alias vi=mcedit export EDITOR='mcedit' elif command -v vi &> /dev/null; then alias nvim=vi alias vim=vi alias vi=vi export EDITOR='vi' fi alias e=$EDITOR alias :e=$EDITOR # direnv if command -v direnv &> /dev/null; then eval "$(direnv hook zsh)" fi # aliases alias cd..='cd ..' alias :q='exit' alias e='vim' alias :e='vim' alias ll=' ls -al --group-directories-first' alias c="clear" alias g='gcc -Wall -pedantic' alias ga='gcc -Wall -pedantic -ansi' alias mtr='mtr -b -o "LSD NABWV M"' alias logo='exit' alias logout='exit' alias exif-remove-regions='exiftool -keywords= -subject= -RegionName= -HierarchicalSubject= -RegionAreaH= -RegionAreaW= -RegionAreaX= -RegionAreaY= -RegionType= -RegionRotation= -RegionAppliedToDimensionsH= -RegionAppliedToDimensionsUnit= -RegionAppliedToDimensionsW=' alias -g NUL="> /dev/null 2>&1" alias -g V="|vim -" alias -g R="|tr N-ZA-Mn-za-m A-Za-z" alias -g G="|grep" alias please=sudo alias fucking=sudo whothefuckisusingport() { sudo lsof -i tcp:$* } # functions function tm() { OUT="$(\tmux ls 2>/dev/null)" NUM="$(\tmux ls 2>/dev/null|wc -l)" if [ "$NUM" -eq 0 ] ; then \tmux -2 elif [ "$NUM" -eq 1 ] ; then \tmux -2 attach else echo "Found more than one tmux session!" \tmux ls echo -n "Which session do you want to attach to? " read CHOICE \tmux -2 attach -t "$CHOICE" fi } function extract () { if [ -f "$1" ] ; then case "$1" in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xvf "$1" ;; *.tbz2) tar xvjf "$1" ;; *.tgz) tar xvzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *.xz) unxz "$1" ;; *.zst) zstd -d "$1" ;; *) echo "don't know how to extract '$1'..." ;; esac else echo "'$1' is not a valid file!" fi } function mkcd () { [ $# -eq 1 ] && { mkdir -p "$1" cd "$1" } || echo "usage: mkcd " } alias myip='curl myip.paste42.de;echo' alias myip4='curl myipv4.paste42.de;echo' alias myip6='curl myipv6.paste42.de;echo' alias pdf14='gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=' alias scat='source-highlight -o STDOUT -f esc -i' function rot13 { if [ $# -eq 9 ] ; then echo "Usage: $0 " exit 1; elif [ $# -eq 1 -a -f $1 -a -r $1 ]; then cat $1 | tr '[N-ZA-Mn-za-m5-90-4]' '[A-Za-z0-9]' else echo $* | tr '[N-ZA-Mn-za-m5-90-4]' '[A-Za-z0-9]' fi } function wim() { if [ -n "$1" ] ; then curl -s "$1"|elinks -dump -dump-charset UTF-8|vim - else echo "Usage:" echo " $0 " fi } function cim() { if [ -n "$1" ] ; then curl -s "$1"|vim - else echo "Usage:" echo " $0 " fi } function expand() { wget -S -O /dev/null $1 2>&1 |grep "^\s*Location" } function bigf() { find . -type f -printf '%20s %p\n' | sort -nr|head -n250 | cut -b22- | tr '\n' '\000' | xargs -0 ls -laSrh } function htmltitle() { if [ -n "$1" ] ; then curl -s -S -L "$1" 2> /dev/null|html2 2> /dev/null |sed -rn 's_^/html/head/title=(.*)$_\1_p' else echo "Usage: $0 " fi } function printtime() { perl -le 'my $t='$1'; my $s=$t%60; my $m=($t-$s)/60%60; my $h=($t-$m*60-$s)/3600%24; my $d=($t-$h*3600-$m*60-$s)/86400; printf("%d, %02d:%02d:%02d\n",$d,$h,$m,$s);' } function unix() { php -r "date_default_timezone_set('Europe/Berlin');echo date('Y-m-d, H:i:s',$1).PHP_EOL;" } cp_p() { strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \ | awk '{ count += $NF if (count % 10 == 0) { percent = count / total_size * 100 printf "%3d%% [", percent for (i=0;i<=percent;i++) printf "=" printf ">" for (i=percent;i<100;i++) printf " " printf "]\r" } } END { print "" }' total_size=$(stat -c '%s' "${1}") count=0 } # systemctl command -v systemctl > /dev/null && { alias start='sudo systemctl start' alias stop='sudo systemctl stop' alias restart='sudo systemctl restart' alias reload='sudo systemctl reload' alias status='sudo systemctl status' } # vim: ft=zsh :