# vim: ft=sh: # This is file with aliases and variables shared between bash and zsh # Continue only if this is interactive shell [[ $- != *i* ]] && return ################################################################################# # Aliases if [ "$(uname -s)" = "FreeBSD" ]; then alias ls='ls -G' else alias ls='ls --color=auto' eval $(dircolors -b) alias make="make -j$(nproc)" fi alias ll='ls -l' alias grep='grep --color=auto' alias git='LANG=en_GB git' alias gdb='gdb -q' alias cgdb='cgdb -q' alias octave='octave-cli -q' alias ssh='TERM="xterm-256color" ssh' alias feh='feh --magick-timeout 10 -.' export LESS=-R export LESS_TERMCAP_mb=$'\E[1;31m' export LESS_TERMCAP_md=$'\E[1;36m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;44;33m' export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCAP_us=$'\E[1;32m' [ -x /usr/bin/src-hilite-lesspipe.sh ] && export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" alias gst='git status' alias v='vim' alias i='i3-msg' # Systemd aliases if we are running systemd if pidof systemd >/dev/null 2>/dev/null; then alias sctl='sudo systemctl' alias usctl='systemctl --user' alias jrn='journalctl' alias ujrn='jrn --user' fi ################################################################################# # Utility functions # Generate random password (optionally takes length of password as first argument) genpasswd() { local l=$1 if [ "$l" = "" ]; then l=16; fi tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs } # Clip stdin to clipboard clip() { xclip -selection clipboard } # Clip current HEAD hash to clipboard gitclip() { git rev-parse HEAD | clip } # Make screenshot xshot() { import -window "$(xdotool selectwindow)" ~/xshot_$(date +%F_%H%M%S_%N).png } # Run given command every second dorepeat() { while true; do "$@" sleep 1 echo done }