X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=shell%2Faliases.in;h=cd9bb63b85cce101ea0b5d031c1381a68842bb96;hb=9df13622741df2a99bd4067157486098638610b8;hp=94b001dfa56ff99ecc6f5fa5de7ffd1d91f29d09;hpb=7c442e3d0aaa99822844838cd18a0a3b24892bbb;p=config%2Fdotfiles.git diff --git a/shell/aliases.in b/shell/aliases.in index 94b001d..cd9bb63 100644 --- a/shell/aliases.in +++ b/shell/aliases.in @@ -1,7 +1,7 @@ # Aliases and similar functions which can be used by all shells (supporting # them). -# Copyright (C) 2011-2012 Simon Ruderich +# Copyright (C) 2011-2014 Simon Ruderich # # This file is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,15 +23,27 @@ alias d=cd alias e=elinks alias g=git alias l=ls -alias m=mutt +alias m=make alias p=less # p for pager -alias s=mpc # s for sound, m is already used +alias t=tig alias v=vim +# Shortcuts for a little less used programs. +alias mu=mutt + + +unalias mv cp 2> /dev/null +# Ask for confirmation before overwriting files. Especially useful when moving +# to a different directory. No alias for `rm` because I specify the files to +# remove directly, so I know what will happen. +alias mv='mv -i' +# Additionally preserve all file attributes when copying, this includes +# copying symbolic links as is without dereferencing them. +alias cp='cp -i -a' # Make sure there is no alias named ls as it causes problems with the # following ls function on (at least) bash 4.0.35. -unalias ls 2> /dev/null +unalias ls 2>/dev/null # Improved ls which displays the files in columns (-C), visualizes # directories, links and other special files (-F) and pages everything through # less. @@ -40,24 +52,23 @@ unalias ls 2> /dev/null # normal ls which needs CLICOLOR_FORCE so it displays colors when used with a # pager. If none work no colors are used. # -# See `setup.sh` for details. LS_ENV, LS_PATH, LS_COLOR are replaced with the -# correct values when this file is generated. +# See `setup.sh` for details. LS_* are replaced with the appropriate values +# when this file is generated. ls() { - LS_ENV LS_PATH LS_COLOR -C -F "$@" 2>&1 | less + LS_ENV command ls LS_COLOR LS_OPTIONS -C -F "$@" 2>&1 | less } -# Helper function to list all files. -la() { - ls -a "$@" -} -# Helper function to list the files in list format with access rights, etc. -ll() { - ls -l "$@" -} -# Helper function to list all files in list format with access rights, etc. -lal() { - la -l "$@" -} +unalias ll lt la lal lat 2>/dev/null +# List the files in list format with access rights, etc. +alias ll='ls -l' +# List the files sorted by last modification date. +alias lt='ls -l -t' +# List all files. +alias la='ls -a' +# List all files in list format with access rights, etc. +alias lal='ls -al' +# List all files sorted by last modification date. +alias lat='ls -al -t' # Make going up directories simple. @@ -66,21 +77,31 @@ alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..' -# I sometimes confuse editor and shell, print a warning to prevent I exit the -# shell. -alias :q='echo "This is not Vim!" >&2' - # Automatically use unified diffs. alias diff='diff -u' -# Display all files and use human readable sizes. -alias du='du -sh' -# Use human readable sizes. -alias df='df -h' +# COLUMN is set to `| column -t` if it's available, empty otherwise. -# Edit the mercurial patch queue series file for the current mercurial -# repository in Vim. Also change Vim's pwd to the patches directory so other -# patches can easily be opened. -alias vqs='vim -c "cd `hg root`/.hg/patches/" "`hg root`/.hg/patches/series"' +# Display all files (-s), use human readable sizes (-h) and display the +# complete size (-c). +alias du='du -shc' +# Use human readable sizes and format it nicely, thanks to climagic +# (http://twitter.com/climagic/status/49623386762129408). +df() { + command df -hP "$@" COLUMN +} + +# Highlight matched strings. Doesn't work with a pager! +alias grep='grep --color=auto' + +# Pipe output through less. +tree() { + command tree -C "$@" | less +} + +# Better viewer for info pages .. just pipe everything into less. +info() { + command info "$@" 2>/dev/null | less +} # vim: ft=sh