X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=1c840f09ef274444d70d5768a0216ea277403739;hb=4c988207d6fdbe434bd5554ccd27a1f4be5b5a1c;hp=d60a208fda399aad1fedca8a9c333d0471ce84b1;hpb=f4d445246a883529eee0039f579d14d82c6b2d0c;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index d60a208..1c840f0 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -860,7 +860,7 @@ abk=( 'co' './configure && make && sudo make install' ) -globalias() { +zleiab() { emulate -L zsh setopt extendedglob local MATCH @@ -875,8 +875,8 @@ globalias() { LBUFFER+=${abk[$MATCH]:-$MATCH} } -zle -N globalias -bindkey ",." globalias +zle -N zleiab +bindkey ",." zleiab # autoloading zrcautoload zmv # who needs mmv or rename? @@ -1428,11 +1428,6 @@ if [[ -x /sbin/kexec ]] && [[ -r /proc/cmdline ]] ; then alias "$(uname -r)-reboot"="kexec -l --initrd=/boot/initrd.img-"$(uname -r)" --command-line=\"$(cat /proc/cmdline)\" /boot/vmlinuz-"$(uname -r)"" fi -alias cp='nocorrect cp' # no spelling correction on cp -alias mkdir='nocorrect mkdir' # no spelling correction on mkdir -alias mv='nocorrect mv' # no spelling correction on mv -alias rm='nocorrect rm' # no spelling correction on rm - #a1# Execute \kbd{rmdir} alias rd='rmdir' #a1# Execute \kbd{mkdir} @@ -1475,9 +1470,6 @@ if ! check_com asc &>/dev/null ; then compdef asc=ssh fi -# get top 10 shell commands: -alias top10='print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10' - # truecrypt; use e.g. via 'truec /dev/ice /mnt/ice' or 'truec -i' if check_com -c truecrypt ; then if isutfenv ; then @@ -1582,26 +1574,6 @@ if [[ -r /etc/debian_version ]] ; then #a3# Execute \kbd{grep-excuses} alias ge='grep-excuses' - # debian upgrade - #f3# Execute \kbd{apt-get update \&\& }\\&\quad \kbd{apt-get dist-upgrade} - upgrade() { - emulate -L zsh - if [[ -z $1 ]] ; then - $SUDO apt-get update - $SUDO apt-get -u upgrade - else - ssh $1 $SUDO apt-get update - # ask before the upgrade - local dummy - ssh $1 $SUDO apt-get --no-act upgrade - echo -n 'Process the upgrade?' - read -q dummy - if [[ $dummy == "y" ]] ; then - ssh $1 $SUDO apt-get -u upgrade --yes - fi - fi - } - # get a root shell as normal user in live-cd mode: if isgrmlcd && [[ $UID -ne 0 ]] ; then alias su="sudo su" @@ -1634,35 +1606,6 @@ EOMESS fi fi -# get_tw_cli has been renamed into get_3ware -if check_com -c get_3ware ; then - get_tw_cli() { - echo 'Warning: get_tw_cli has been renamed into get_3ware. Invoking get_3ware for you.'>&2 - get_3ware - } -fi - -# I hate lacking backward compatibility, so provide an alternative therefore -if ! check_com -c apache2-ssl-certificate ; then - - apache2-ssl-certificate() { - - print 'Debian does not ship apache2-ssl-certificate anymore (see #398520). :(' - print 'You might want to take a look at Debian the package ssl-cert as well.' - print 'To generate a certificate for use with apache2 follow the instructions:' - - echo ' - -export RANDFILE=/dev/random -mkdir /etc/apache2/ssl/ -openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem -chmod 600 /etc/apache2/ssl/apache.pem - -Run "grml-tips ssl-certificate" if you need further instructions. -' - } -fi - # Use hard limits, except for a smaller stack and no core dumps unlimit is425 && limit stack 8192 @@ -1879,9 +1822,6 @@ is4 && nt() { # shell functions -#f1# Provide csh compatibility -setenv() { typeset -x "${1}${1:+=}${(@)argv[2,$#]}" } # csh compatibility - #f1# Reload an autoloadable function freload() { while (( $# )); do; unfunction $1; autoload -U $1; shift; done } compdef _functions freload @@ -1897,15 +1837,6 @@ sll() { done } -# fast manual access -if check_com qma ; then - #f1# View the zsh manual - manzsh() { qma zshall "$1" } - compdef _man qma -else - manzsh() { /usr/bin/man zshall | vim -c "se ft=man| se hlsearch" +/"$1" - ; } -fi - # TODO: Is it supported to use pager settings like this? # PAGER='less -Mr' - If so, the use of $PAGER here needs fixing # with respect to wordsplitting. (ie. ${=PAGER}) @@ -2188,8 +2119,6 @@ help-zle() #k# display help for keybindings and ZLE (cycle pages with consecutive use) zle -N help-zle && bindkey '^Xz' help-zle -check_com -c qma && alias ?='qma zshall' - # grep for running process, like: 'any vim' any() { emulate -L zsh @@ -2212,33 +2141,6 @@ deswap() { print 'Finished, running "swapoff -a; swapon -a" may also be useful.' } -# print hex value of a number -hex() { - emulate -L zsh - [[ -n "$1" ]] && printf "%x\n" $1 || { print 'Usage: hex ' ; return 1 } -} - -# calculate (or eval at all ;-)) with perl => p[erl-]eval -# hint: also take a look at zcalc -> 'autoload zcalc' -> 'man zshmodules | less -p MATHFUNC' -peval() { - [[ -n "$1" ]] && CALC="$*" || print "Usage: calc [expression]" - perl -e "print eval($CALC),\"\n\";" -} -functions peval &>/dev/null && alias calc=peval - -# spawn a minimally set up mksh - useful if you want to umount /usr/. -minimal-shell() { - emulate -L zsh - local shell="/bin/mksh" - - if [[ ! -x ${shell} ]]; then - printf '`%s'\'' not available, giving up.\n' ${shell} >&2 - return 1 - fi - - exec env -i ENV="/etc/minimal-shellrc" HOME="$HOME" TERM="$TERM" ${shell} -} - # a wrapper for vim, that deals with title setting # VIM_OPTIONS # set this array to a set of options to vim you always want @@ -2325,30 +2227,12 @@ export COLORTERM="yes" # aliases -# Xterm resizing-fu. -# Based on http://svn.kitenet.net/trunk/home-full/.zshrc?rev=11710&view=log (by Joey Hess) -alias hide='echo -en "\033]50;nil2\007"' -alias tiny='echo -en "\033]50;-misc-fixed-medium-r-normal-*-*-80-*-*-c-*-iso8859-15\007"' -alias small='echo -en "\033]50;6x10\007"' -alias medium='echo -en "\033]50;-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-15\007"' -alias default='echo -e "\033]50;-misc-fixed-medium-r-normal-*-*-140-*-*-c-*-iso8859-15\007"' -alias large='echo -en "\033]50;-misc-fixed-medium-r-normal-*-*-150-*-*-c-*-iso8859-15\007"' -alias huge='echo -en "\033]50;-misc-fixed-medium-r-normal-*-*-210-*-*-c-*-iso8859-15\007"' -alias smartfont='echo -en "\033]50;-artwiz-smoothansi-*-*-*-*-*-*-*-*-*-*-*-*\007"' -alias semifont='echo -en "\033]50;-misc-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-iso8859-15\007"' - # general #a2# Execute \kbd{du -sch} alias da='du -sch' #a2# Execute \kbd{jobs -l} alias j='jobs -l' -# compile stuff -#a2# Execute \kbd{./configure} -alias CO="./configure" -#a2# Execute \kbd{./configure --help} -alias CH="./configure --help" - # listing stuff #a2# Execute \kbd{ls -lSrah} alias dir="ls -lSrah" @@ -2377,30 +2261,10 @@ alias lsold="ls -rtlh *(D.Om[1,10])" # display the oldest files #a2# Display the ten smallest files alias lssmall="ls -Srl *(.oL[1,10])" # display the smallest files -# chmod -#a2# Execute \kbd{chmod 600} -alias rw-='chmod 600' -#a2# Execute \kbd{chmod 700} -alias rwx='chmod 700' -#m# a2 r-{}- Execute \kbd{chmod 644} -alias r--='chmod 644' -#a2# Execute \kbd{chmod 755} -alias r-x='chmod 755' - # some useful aliases -#a2# Execute \kbd{mkdir -p} -alias md='mkdir -p' #a2# Remove current empty directory. Execute \kbd{cd ..; rmdir $OLDCWD} alias rmcdir='cd ..; rmdir $OLDPWD || cd $OLDPWD' -# console stuff -#a2# Execute \kbd{mplayer -vo fbdev} -alias cmplayer='mplayer -vo fbdev' -#a2# Execute \kbd{mplayer -vo fbdev -fs -zoom} -alias fbmplayer='mplayer -vo fbdev -fs -zoom' -#a2# Execute \kbd{links2 -driver fb} -alias fblinks='links2 -driver fb' - #a2# ssh with StrictHostKeyChecking=no \\&\quad and UserKnownHostsFile unset alias insecssh='ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"' alias insecscp='scp -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"' @@ -2455,9 +2319,10 @@ cd() { } #f5# Create Directoy and \kbd{cd} to it -mcd() { +mkcd() { mkdir -p "$@" && cd "$@" } + #f5# Create temporary directory and \kbd{cd} to it cdt() { local t @@ -2500,22 +2365,6 @@ inplaceMkDirs() { #k# mkdir -p from string under cursor or marked area zle -N inplaceMkDirs && bindkey '^XM' inplaceMkDirs -# Function Usage: doc packagename -#f5# \kbd{cd} to /usr/share/doc/\textit{package} -doc() { - emulate -L zsh - cd /usr/share/doc/$1 && ls -} -_doc() { _files -W /usr/share/doc -/ } -check_com compdef && compdef _doc doc - -#f5# Make screenshot -sshot() { - [[ ! -d ~/shots ]] && mkdir ~/shots - #cd ~/shots ; sleep 5 ; import -window root -depth 8 -quality 80 `date "+%Y-%m-%d--%H:%M:%S"`.png - cd ~/shots ; sleep 5; import -window root shot_`date --iso-8601=m`.jpg -} - #f5# List files which have been accessed within the last {\it n} days, {\it n} defaults to 1 accessed() { emulate -L zsh @@ -2539,8 +2388,6 @@ check_com new || alias new=modified # use colors when GNU grep with color-support #a2# Execute \kbd{grep -{}-color=auto} (grep --help 2>/dev/null |grep -- --color) >/dev/null && alias grep='grep --color=auto' -#a2# Execute \kbd{grep -i -{}-color=auto} -alias GREP='grep -i --color=auto' # Translate DE<=>EN # 'translate' looks up fot a word in a file with language-to-language @@ -2783,11 +2630,6 @@ allulimit() { ulimit -t unlimited } -# highlight important stuff in diff output, usage example: hg diff | hidiff -#m# a2 hidiff \kbd{histring} oneliner for diffs -check_com -c histring && \ - alias hidiff="histring -fE '^Comparing files .*|^diff .*' | histring -c yellow -fE '^\-.*' | histring -c green -fE '^\+.*'" - #f5# Change the xterm title from within GNU-screen xtrename() { emulate -L zsh