# Advanced Aliases. # Use with caution # # ls, the common ones I use a lot shortened for rapid fire usage alias l='ls -lFh' #size,show type,human readable alias la='ls -lAFh' #long list,show almost all,show type,human readable alias lr='ls -tRFh' #sorted by date,recursive,show type,human readable alias lt='ls -ltFh' #long list,sorted by date,show type,human readable alias ll='ls -l' #long list alias ldot='ls -ld .*' alias lS='ls -1FSsh' alias lart='ls -1Fcart' alias lrt='ls -1Fcrt' alias zshrc='${=EDITOR} ${ZDOTDIR:-$HOME}/.zshrc' # Quick access to the .zshrc file alias grep='grep --color' alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} ' alias t='tail -f' # Command line head / tail shortcuts alias -g H='| head' alias -g T='| tail' alias -g G='| grep' alias -g L="| less" alias -g M="| most" alias -g LL="2>&1 | less" alias -g CA="2>&1 | cat -A" alias -g NE="2> /dev/null" alias -g NUL="> /dev/null 2>&1" alias -g P="2>&1| pygmentize -l pytb" alias dud='du -d 1 -h' alias duf='du -sh *' (( $+commands[fd] )) || alias fd='find . -type d -name' alias ff='find . -type f -name' alias h='history' alias hgrep="fc -El 0 | grep" alias help='man' alias p='ps -f' alias sortnr='sort -n -r' alias unexport='unset' alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # zsh is able to auto-do some kungfoo # depends on the SUFFIX :) autoload -Uz is-at-least if is-at-least 4.2.0; then # open browser on urls if [[ -n "$BROWSER" ]]; then _browser_fts=(htm html de org net com at cx nl se dk) for ft in $_browser_fts; do alias -s $ft='$BROWSER'; done fi # open editable text files in text editor if [[ -n "$VISUAL" ]] || [[ -n "$EDITOR" ]]; then _editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex) if [[ -n "$VISUAL" ]]; then for ft in $_editor_fts; do alias -s $ft='$VISUAL'; done else for ft in $_editor_fts; do alias -s $ft='$EDITOR'; done fi fi # open image files in image viewer if [[ -n "$XIVIEWER" ]]; then # List inspired by https://en.wikipedia.org/wiki/Image_file_formats _image_fts=( #: Raster formats # JPEG, JPEG2000, HEIF/HEVC, JBIG jpg jpeg jpe jif jfif jfi jp2 j2k jpf jpx jpm mj2 heif heic jbg jbig # BMP, BPG, GIF, ICO/ANI, PCX, PNG+MNG, TGA, TIFF, WebP (Web) bmp bpg gif dib ico cur ani pcx png mng tga tiff tif webp # NetPBM, XBM/XPM/XWD (ASCII) pbm bgm ppm pnm xbm xpm xwd # CIFF, DNG, DPX, ECW, FITS, ICS, RGBE (HDR & Raw) crw dng dpx ecw fits ics ids fit fts hdr # DDS ICNS OpenRaster SunRaster (Other) dds icns ora ras sun #: Vector formats # CGM WMF Gerber IGES SVG cgm wmf emf wmz emz gbr iges svg svgz ) for ft in $_image_fts; do alias -s $ft='$XIVIEWER'; done fi _media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm) for ft in $_media_fts; do alias -s $ft=mplayer; done #read documents alias -s pdf=acroread alias -s ps=gv alias -s dvi=xdvi alias -s chm=xchm alias -s djvu=djview #list whats inside packed file alias -s zip="unzip -l" alias -s rar="unrar l" alias -s tar="tar tf" alias -s tar.gz="echo " alias -s ace="unace l" fi # Make zsh know about hosts already accessed by SSH zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'