Make ack-related aliases conditional (ack vs ack-grep)
[abe:zshrc.git] / zsh.d / 50-alias
1 # -*- sh -*-
2 ################
3 # abe's .alias #
4 ################
5
6 # Former \!* using tcsh aliases have been converted to functions
7
8 ### DEBUG ###
9 #set -x
10
11 # One character aliases
12 alias   c=cat
13 #unfunction d
14 alias   d='dirs -v'
15 alias   g=git
16 alias   l=less
17 alias   m=mutt
18 alias   o='$PAGER'
19 alias   q=exit
20 alias   t=task
21 alias   v=vcsh
22 alias   z=zile
23
24 # Two character aliases
25 alias    eg='egrep --color=auto'
26 function ff() { find . -name "$@" }
27 alias    ga='git annex'
28 alias    gr='fgrep --color=auto'
29 alias    qu='quota -v'
30 alias    tn=telnet
31 alias    to=touch
32 function df() { command df -TP "$@" | column -t }
33
34 alias   mx="nslookup -sil -q=mx"
35 alias   ns="nslookup -sil -q=ns"
36
37 alias   ls='ls -F --color=auto'
38 alias   la='ls -AF'
39 alias   ll='ls -AlF'
40
41 alias   uc='perl -Mlocale -pe "\$_=uc(\$_);"'
42 alias   lc='perl -Mlocale -pe "\$_=lc(\$_);"'
43
44 alias   ec=emacsclient
45
46 if alias md > /dev/null; then unalias md; fi
47 function md { mkdir -p "$@" && cd "$@" }
48
49 if alias au > /dev/null; then unalias au; fi
50 alias au='aptitude -u'
51
52 # Needed for /usr/bin/ag
53 if alias ag > /dev/null; then unalias ag; fi
54
55 # Three character aliases
56 alias   acs='apt-cache show --no-all-versions'
57 alias   acsa='apt-cache show -a'
58 alias   acp='apt-cache policy'
59 alias   acd='apt-cache depends'
60 alias   acr='apt-cache rdepends'
61 alias   ac/='apt-cache search'
62 alias   acn='apt-cache search -n'
63 alias   af/='apt-file search'
64 alias   afs='apt-file search'
65 alias   afl='apt-file list'
66 alias   afu='apt-file update'
67 alias   ag/='aptitude search'
68 salias  agi='aptitude install'
69 salias  ag+='aptitude install'
70 salias  ag-='aptitude remove'
71 salias  agr='aptitude remove'
72 salias  ag_='aptitude purge'
73 salias  agp='aptitude purge'
74 salias  agu='apt-get update'
75 salias  agh='aptitude hold'
76 salias  agc='apt-get clean'
77 alias   agw='aptitude why'
78 alias   asv='apt-show-versions'
79 function ffi() { find . -iname "$@" }
80 function lpr() { command lpr "$@"; lpq }
81 alias   cls=clear # Yeah, that's from DOS
82 alias   ecn='emacsclient -n'
83 alias   ecc='emacsclient -c'
84 alias   ino='inotail -f'
85 alias   gap='git add -p'
86 alias   mpl=mplayer
87 alias   mpfs='mplayer -fs'
88 alias   mpau='mplayer -vo none'
89 alias   nsl=nslookup
90 alias   ooo=openoffice
91 alias   OOo=openoffice
92
93 if which ack > /dev/null; then
94     alias   gnf='ack --passthru'
95 elif which ack-grep > /dev/null; then
96     alias   ack=ack-grep
97     alias   gnf='ack-grep --passthru'
98 fi
99
100 function asc() {
101     # Set the title to something more obvious, e.g. the expanded
102     # alias, eh, function
103     print -Pn "\e]0;%n@%m: autossh -t $* 'screen -RdU'\a";
104
105     # For the following hack for getting ssh-agent to work inside the
106     # reattached screen session, see
107     # http://samrowe.com/wordpress/ssh-agent-and-gnu-screen/ and
108     # http://www.stderr.nl/Blog/Software/Mutt/MuttRemoteAttachments.html?seemore=y
109     autossh -x -A -t "$@" 'test -x ~/.mutt/bin/setup-ssh-screen && exec ~/.mutt/bin/setup-ssh-screen || exec screen -RdU'
110 }
111 compdef asc=ssh
112
113 # Four character aliases
114 function assh() {
115     # Set the title to something more obvious, e.g. the expanded
116     # alias, eh, function
117     print -Pn "\e]0;%n@%m: autossh $*\a";
118     autossh "$@"
119 }
120 compdef assh=ssh
121
122 alias   root='ssh root@localhost'
123 alias   acss='apt-cache showsrc'
124 salias  agsu='aptitude safe-upgrade'
125 salias  agdu='aptitude full-upgrade'
126 salias  agma='aptitude markauto'
127 salias  agum='aptitude unmarkauto'
128 salias  agri='aptitude reinstall'
129 salias  aguh='aptitude unhold'
130 salias  agbd='aptitude build-dep'
131 alias   agwn='aptitude why-not'
132 alias   ccal='ccal -e'
133 alias   eccn='emacsclient -c -n'
134
135 # apt-file search for Perl Modules, by gregoa
136 function afsp() {
137     apt-file search $(echo "/$@" | sed -e 's|::|/|g ; s|-|/|g ; s|$|.pm|') | uniq
138 }
139
140 # Five character aliases
141 alias    agrep=ack-grep
142 alias    cgrep='ack-grep --passthru'
143 alias    deurl='$HOME/bin/url_decode.pl'
144 function perlv()        { perl -le "use $1; print "'$'"$1"'::VERSION;' }
145 alias    acsrc='apt-cache showsrc'
146 salias   aguma='aptitude unmarkauto'
147 function mount() {
148     if [[ $# -eq 0 ]]; then
149         command mount | column -t
150     else
151         command mount "$@"
152     fi
153 }
154
155 # noglob aliasses
156 alias   mmv='noglob mmv'
157 alias   wget='noglob wget'
158 alias   find='noglob find'
159 alias   clive='noglob clive'
160 alias   clivescan='noglob clivescan'
161 alias   'youtube-dl'='noglob youtube-dl'
162 alias   translate='noglob translate'
163 alias   links='noglob links'
164 alias   links2='noglob links2'
165 alias   xlinks2='noglob xlinks2'
166 alias   lynx='noglob lynx'
167
168 # Compose key errors
169 alias   ßh=ssh
170
171 # ls sorting (Idea from zsh book)
172 alias lsbig=ls -lhSr
173 alias lssmall=ls -lhS
174 alias lsnew=ls -lhtr
175 alias lsold=ls -lht
176
177 # grep with color by default
178 alias   grep='grep --color=auto'
179 alias   fgrep='fgrep --color=auto'
180 alias   egrep='egrep --color=auto'
181
182 # OpenSSL
183 for i in sha512 sha256 sha1 md5; do
184         ssl-cert-$i() { openssl x509 -noout -fingerprint -$i -in $1 }
185 done
186
187 ssl-cert-fingerprints() {
188         for i in sha512 sha256 sha1 md5; do
189                 ssl-cert-$i $1
190         done
191 }
192
193 ssl-cert-info() {
194         openssl x509 -noout -text -in $1
195         ssl-cert-fingerprints $1
196 }
197
198 ### Set ###
199 alias   setvi='export EDITOR=vi VISUAL=vi'
200 alias   setvim='export EDITOR=vim VISUAL=vim'
201 alias   setzile='export EDITOR=zile VISUAL=zile'
202 alias   setemacs='export EDITOR="emacsclient -a emacs" VISUAL="emacsclient -a emacs"'
203 #alias   edit='$EDITOR'
204 alias   vt100='export TERM=vt100'
205
206 ### Package Management ###
207 alias aptitude-just-recommended='aptitude -o "Aptitude::Pkg-Display-Limit=!?reverse-depends(~i) ( ?reverse-recommends(~i) | ?reverse-suggests(~i) ) !?reverse-recommends(^abe-) !?reverse-suggests(^abe-) ~M !?essential"'
208 alias aptitude-also-via-dependency='aptitude -o "Aptitude::Pkg-Display-Limit=~i !~M ( ?reverse-depends(~i) | ?reverse-recommends(~i) | ?reverse-suggests(~i) ) !?essential"'
209 alias aptitude-review-unmarkauto-libraries='aptitude -o "Aptitude::Pkg-Display-Limit=( ^lib !-dev$ !-dbg$ !-utils$ !-tools$ !-bin$ !-doc$ !^libreoffice | -data$ | -common$ | -base$ !^r-base ) !~M"'
210 alias aptitude-upgradable-to-experimental='aptitude -o "Aptitude::Pkg-Display-Limit=~i ?narrow(!~VCURRENT, ~Aexperimental)"'
211 alias aptitude-newer-than-in-archive='aptitude -o "Aptitude::Pkg-Display-Limit=~i ?any-version(!~O.) !~U !~o"'
212
213 ### BTS and PTS ###
214 alias btsmutt='bts --mbox show'
215
216 # TODO: Remove links and patch tracker section (but not the ubuntu
217 # section) as well as footer
218 debpts() {
219     if which netrik > /dev/null; then
220         netrik --no-builtin-http --dump http://packages.qa.debian.org/$1
221     elif which w3m > /dev/null; then
222         w3m -dump http://packages.qa.debian.org/$1
223     elif which links > /dev/null; then
224         links -dump -html-numbered-links 0 http://packages.qa.debian.org/$1
225     elif which links2 > /dev/null; then
226         links2 -dump -html-numbered-links 0 http://packages.qa.debian.org/$1
227     elif which elinks > /dev/null; then
228         elinks -dump -no-numbering http://packages.qa.debian.org/$1
229     elif which lynx > /dev/null; then
230         lynx -dump -nolist http://packages.qa.debian.org/$1
231     fi 2>&1 | perl -ne '$links_seen = 1 if /^(\s*|\e\S*)links(\s*|\e\S*)$/; print unless $links_seen or /jump to|history\s+graph|^\s*Link:|URL:http:|^\e\S*[<>]\e\S*$/;' | uniq | less -RSXE
232 }
233
234 ### MIA stuff ###
235 mia-query() {
236     if [ -x /org/qa.debian.org/mia/mia-query ]; then
237         /org/qa.debian.org/mia/mia-query "$@"
238     else
239         ssh -xa qa.debian.org /org/qa.debian.org/mia/mia-query "$@"
240     fi
241 }
242
243 ### Gags ###
244 #alias  y='echo "Hallo, sind wir noch wach, oder sind wir wieder auf die Y-Taste gefallen? ;-)"'
245
246 # Teppfihler
247 alias   amek=make
248 alias   nls=nsl
249 #alias  sl=ls
250 alias   les=less
251 alias   lesss=less
252
253 ### Laden weiterer Aliasse
254
255 #alias  xal='source ~/.Xalias'
256
257 #if ( -f $home/.alias.mtools ) then
258 #  source $home/.alias.mtools
259 #endif
260 #if ( -f $home/.alias.wapua ) then
261 #  source $home/.alias.wapua
262 #endif
263
264
265 # Idea from Sven's zsh Book (and yeah I overwrite the previous reload
266 # function which reloaded the zshrc.
267 start stop restart reload force-reload() {
268     sudo invoke-rc.d $1 $0
269 }
270
271 # From http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=299228
272 apt-rbdepends () {
273     grep-dctrl -F Build-Depends "$1" -s Package /var/lib/apt/lists/*_Sources \
274         | sort -u
275 }