]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - shell/aliases.in
setup.sh: don't display hidden files on BSD's ls as root
[config/dotfiles.git] / shell / aliases.in
index 27ce92c8b9b7252bd3b7cbeab310135d28bd790e..cd9bb63b85cce101ea0b5d031c1381a68842bb96 100644 (file)
@@ -1,7 +1,7 @@
 # Aliases and similar functions which can be used by all shells (supporting
 # them).
 
-# Copyright (C) 2011-2013  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,19 +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
 }
 
-unalias ll la lal 2> /dev/null
+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.
@@ -61,10 +77,6 @@ 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'
 
@@ -75,9 +87,21 @@ alias diff='diff -u'
 alias du='du -shc'
 # Use human readable sizes and format it nicely, thanks to climagic
 # (http://twitter.com/climagic/status/49623386762129408).
-alias df='df -hP COLUMN'
+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