]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - shell/aliases.in
shell/dircolors: Underline hardlinks.
[config/dotfiles.git] / shell / aliases.in
index c7e234e62dc44b56e680b4965cea484c82a2b79a..34a51b645feeff55f323d2b1e3464079d1a0e467 100644 (file)
@@ -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-2013  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
@@ -29,6 +29,16 @@ alias s=mpc  # s for sound, m is already used
 alias v=vim
 
 
+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
@@ -46,18 +56,17 @@ ls() {
     LS_ENV LS_PATH LS_COLOR -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.
@@ -73,18 +82,16 @@ alias :q='echo "This is not Vim!" >&2'
 # Automatically use unified diffs.
 alias diff='diff -u'
 
+# COLUMN is set to `| column -t` if it's available, empty otherwise.
+
 # Display all files (-s), use human readable sizes (-h) and display the
 # complete size (-c).
 alias du='du -shc'
-# Use human readable sizes.
-alias df='df -h'
+# Use human readable sizes and format it nicely, thanks to climagic
+# (http://twitter.com/climagic/status/49623386762129408).
+alias df='df -hP COLUMN'
 
 # Highlight matched strings. Doesn't work with a pager!
 alias grep='grep --color=auto'
 
-# 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"'
-
 # vim: ft=sh