181 lines
6.1 KiB
Bash
181 lines
6.1 KiB
Bash
## -*- mode:sh -*- #
|
|
################################################################################
|
|
## Shell Config -- Alias Definitions.
|
|
## Date 2013-01-04
|
|
################################################################################
|
|
|
|
## Warning: if this does not work if you change shell without relogging, use
|
|
## 'source .<shell>rc' instead.
|
|
|
|
if [ "bash" = "$SHELL_CURRENT" ]; then
|
|
alias ..='cd ..'
|
|
alias ssrc='source ~/.bashrc'
|
|
fi
|
|
|
|
if [ "zsh" = "$SHELL_CURRENT" ]; then
|
|
alias ssrc='source ~/.zshrc'
|
|
fi
|
|
|
|
##==============================================================================
|
|
## General
|
|
##==============================================================================
|
|
|
|
## 'ls' redefinition
|
|
alias ls='ls -F'
|
|
|
|
## GNU extras.
|
|
if [ "$OSTYPE" = "linux-gnu" ]; then
|
|
alias ls='ls --color=auto -v --group-directories-first'
|
|
else
|
|
alias ls='ls -G'
|
|
fi
|
|
|
|
## Listing aliases.
|
|
alias l='ls -1'
|
|
alias la='ls -lAh' # Hidden files
|
|
alias lc='ls -ltcrh' # Sort by change time
|
|
alias lk='ls -lSrh' # Sort by size
|
|
alias ll='ls -lh' # Detailed view with human readable values.
|
|
alias lx='ls -lXh' # Sort by extension
|
|
|
|
## Misc
|
|
alias xlx='xrdb -load ~/.Xresources'
|
|
alias grep='grep --color=auto'
|
|
|
|
## Bad idea because you cannot toggle '-f' option anymore.
|
|
# alias cp="cp -i"
|
|
|
|
# List desktop applications.
|
|
[ -d /usr/share/applications ] && XDG_APPS=($XDG_APPS /usr/share/applications)
|
|
[ -d /usr/local/share/applications ] && XDG_APPS=($XDG_APPS /usr/local/share/applications)
|
|
[ ${#XDG_APPS} -ne 0 ] && alias applist='grep -R "^Name=" $XDG_APPS | cut -d'=' -f2 | sort'
|
|
|
|
## Remove executable attribute.
|
|
alias nox='find . -type f -exec chmod a-x {} \;'
|
|
|
|
## Get your external IP.
|
|
[ -n "$(command -v curl)" ] && alias myip='curl ifconfig.me'
|
|
|
|
## Network discovery.
|
|
[ -n "$(command -v nmap)" ] && alias network-discover='nmap -sP "192.168.0.*"'
|
|
|
|
## Prevents accidentally clobbering files.
|
|
alias mkdir='mkdir -p'
|
|
|
|
## Reset terminal -- Faster alternative of 'reset'.
|
|
alias cls='printf "\ec"'
|
|
|
|
## Display PATH and LD_LIBRARY_PATH in a more readable way.
|
|
alias echopath='echo -e ${PATH//:/\\n}'
|
|
alias echolibpath='echo -e ${LD_LIBRARY_PATH//:/\\n}'
|
|
|
|
## Shutdown / Reboot.
|
|
## If you do not want to get prompted for your password, configure sudo properly.
|
|
if [ "$OSTYPE" = "linux-gnu" ]; then
|
|
alias halt='systemctl poweroff'
|
|
else
|
|
alias halt='sudo halt -p'
|
|
fi
|
|
|
|
## Start X and lock current terminal (press ENTER when back in terminal to prompt for password).
|
|
[ -n "$(command -v vlock)" ] && alias sx='startx & vlock'
|
|
|
|
## Zathura -- Fork to background.
|
|
[ -n "$(command -v zathura)" ] && alias zat='zathura --fork'
|
|
|
|
## Xrandr
|
|
alias xmorphnone='xrandr --output $(xrandr | grep "\<connected\>" | cut -f1 -d" ") --transform none'
|
|
alias xmorphsw='xrandr --output $(xrandr | grep "\<connected\>" | cut -f1 -d" ") --transform 1.24,0.16,-124,0,1.24,0,0,0.000316,1'
|
|
alias xmorphzo='xrandr --output $(xrandr | grep "\<connected\>" | cut -f1 -d" ") --scale 1.2x1.2'
|
|
alias xmorphzi='xrandr --output $(xrandr | grep "\<connected\>" | cut -f1 -d" ") --scale 0.8x0.8'
|
|
|
|
alias xres='xrandr -s $(xrandr | awk '"'"'/^ / {print $1;exit}'"'"')'
|
|
|
|
##==============================================================================
|
|
## Zsh power aliases
|
|
##==============================================================================
|
|
|
|
#if [ "zsh" = "$SHELL_CURRENT" ]; then
|
|
## Inline aliases, zsh -g aliases can be anywhere in command line
|
|
#alias -g G='| grep -'
|
|
#alias -g L='| less'
|
|
|
|
## Now just type the image name to launch irfanview
|
|
#alias -s jpg='/usr/bin/sxiv'
|
|
|
|
# fi
|
|
|
|
##==============================================================================
|
|
## Emacs
|
|
##==============================================================================
|
|
# See .homeinit
|
|
if [ -n "$(command -v em)" ]; then
|
|
alias ema='emacs -q -l ~/.emacs-light'
|
|
alias emacs-reload="emacsclient -e '(kill-emacs)' >/dev/null 2>&1; emacs --daemon"
|
|
[ -f "$HOME/todo.org" ] && alias todo='em ~/todo.org'
|
|
fi
|
|
|
|
##==============================================================================
|
|
## Pacman aliases
|
|
##==============================================================================
|
|
if [ -e "/usr/bin/pacman" ]; then
|
|
PACMAN_FRONTEND='pacman'
|
|
|
|
## The eval trick lets us define the alias after the variable has been expanded.
|
|
## Bash will not auto-complete aliases.
|
|
eval 'alias pc="sudo $PACMAN_FRONTEND -Sc"'
|
|
eval 'alias pi="sudo $PACMAN_FRONTEND -S --needed"'
|
|
eval 'alias pqi="$PACMAN_FRONTEND -Qi"'
|
|
eval 'alias pqo="$PACMAN_FRONTEND -Qo"'
|
|
eval 'alias pqs="$PACMAN_FRONTEND -Qs"'
|
|
eval 'alias pr="sudo $PACMAN_FRONTEND -Rs"'
|
|
eval 'alias psi="$PACMAN_FRONTEND -Si"'
|
|
eval 'alias pss="$PACMAN_FRONTEND -Ss"'
|
|
eval 'alias pu="sudo $PACMAN_FRONTEND -Syu"'
|
|
fi
|
|
|
|
##==============================================================================
|
|
## FreeBSD aliases
|
|
##==============================================================================
|
|
if [ "$(uname)" = "FreeBSD" ]; then
|
|
alias pa='sudo pkg_add -r'
|
|
# alias pd='sudo pkg_delete'
|
|
alias pd='sudo pkg_deinstall -cd'
|
|
alias pi='pkg_info -RrcdsD -l "::"'
|
|
alias pil='pkg_info -L'
|
|
|
|
## Origin of file
|
|
alias piw='pkg_info -W'
|
|
|
|
## Search
|
|
alias pis='pkg_info -Qox'
|
|
# alias pvs='pkg_version -Is'
|
|
alias psr='pkg_search -r'
|
|
|
|
## Out-of-date packages.
|
|
alias pv='pkg_version -Il "<"'
|
|
|
|
## Port tree
|
|
alias mi='sudo make install'
|
|
alias mid='sudo make install distclean'
|
|
alias mc='sudo make config'
|
|
fi
|
|
|
|
##==============================================================================
|
|
## TeXlive aliases
|
|
##==============================================================================
|
|
|
|
## TeXlive
|
|
if [ -d "/usr/local/texlive" ]; then
|
|
alias tlu="sudo sh -c 'umask 022 && tlmgr update --self'"
|
|
alias tls="tlmgr search --global"
|
|
alias tlsf="tlmgr search --global --file"
|
|
# alias tll="tlmgr info --only-installed"
|
|
alias tll="comm -3 <(tlmgr info --only-installed | grep -v 'x86_64\|amd64' | cut -d' ' -f2 | cut -f1 -d':' | sort) \
|
|
<(tlmgr info collection-basic --list | sed -n '/^ /{s/ //g;p;}' | sort) \
|
|
| sed 's/ //g' | grep -vi 'collection-basic\|scheme-minimal\|texlive-common\|texlive-docindex\|texlive-en'"
|
|
|
|
|
|
alias tlf="tlmgr info --list"
|
|
fi
|