]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - shell/aliases.in
shell/dircolors: Underline hardlinks.
[config/dotfiles.git] / shell / aliases.in
1 # Aliases and similar functions which can be used by all shells (supporting
2 # them).
3
4 # Copyright (C) 2011-2013  Simon Ruderich
5 #
6 # This file is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This file is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this file.  If not, see <http://www.gnu.org/licenses/>.
18
19
20 # Shortcuts for often used programs.
21 alias c=clear
22 alias d=cd
23 alias e=elinks
24 alias g=git
25 alias l=ls
26 alias m=mutt
27 alias p=less # p for pager
28 alias s=mpc  # s for sound, m is already used
29 alias v=vim
30
31
32 unalias mv cp 2> /dev/null
33 # Ask for confirmation before overwriting files. Especially useful when moving
34 # to a different directory. No alias for `rm` because I specify the files to
35 # remove directly, so I know what will happen.
36 alias mv='mv -i'
37 # Additionally preserve all file attributes when copying, this includes
38 # copying symbolic links as is without dereferencing them.
39 alias cp='cp -i -a'
40
41
42 # Make sure there is no alias named ls as it causes problems with the
43 # following ls function on (at least) bash 4.0.35.
44 unalias ls 2> /dev/null
45 # Improved ls which displays the files in columns (-C), visualizes
46 # directories, links and other special files (-F) and pages everything through
47 # less.
48 #
49 # If available use GNU ls with colorized output. If it isn't available try
50 # normal ls which needs CLICOLOR_FORCE so it displays colors when used with a
51 # pager. If none work no colors are used.
52 #
53 # See `setup.sh` for details. LS_ENV, LS_PATH, LS_COLOR are replaced with the
54 # correct values when this file is generated.
55 ls() {
56     LS_ENV LS_PATH LS_COLOR -C -F "$@" 2>&1 | less
57 }
58
59 unalias ll lt la lal lat 2> /dev/null
60 # List the files in list format with access rights, etc.
61 alias ll='ls -l'
62 # List the files sorted by last modification date.
63 alias lt='ls -l -t'
64 # List all files.
65 alias la='ls -a'
66 # List all files in list format with access rights, etc.
67 alias lal='ls -al'
68 # List all files sorted by last modification date.
69 alias lat='ls -al -t'
70
71
72 # Make going up directories simple.
73 alias ..='cd ..'
74 alias ...='cd ../..'
75 alias ....='cd ../../..'
76 alias .....='cd ../../../..'
77
78 # I sometimes confuse editor and shell, print a warning to prevent I exit the
79 # shell.
80 alias :q='echo "This is not Vim!" >&2'
81
82 # Automatically use unified diffs.
83 alias diff='diff -u'
84
85 # COLUMN is set to `| column -t` if it's available, empty otherwise.
86
87 # Display all files (-s), use human readable sizes (-h) and display the
88 # complete size (-c).
89 alias du='du -shc'
90 # Use human readable sizes and format it nicely, thanks to climagic
91 # (http://twitter.com/climagic/status/49623386762129408).
92 alias df='df -hP COLUMN'
93
94 # Highlight matched strings. Doesn't work with a pager!
95 alias grep='grep --color=auto'
96
97 # vim: ft=sh