X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fskel%2F.zshrc;h=91c2cf3e67acace8c0c5c1a2c6a6f30b70c5285b;hb=ae34c4279494e5894e6ee7915fd420fc10798661;hp=b48a9b9e010442e4dcd2b2917fcac22c10a8add8;hpb=344a5c51384fc3acead84167c96a0acfc61be474;p=grml-etc-core.git diff --git a/etc/skel/.zshrc b/etc/skel/.zshrc index b48a9b9..91c2cf3 100644 --- a/etc/skel/.zshrc +++ b/etc/skel/.zshrc @@ -30,9 +30,26 @@ if [ -r ~/.zshrc -a -r ~/.zshrc.global -a ! -r ~/.zshrc.local ] ; then printf '-!-\n' fi +## Settings for umask +#if (( EUID == 0 )); then +# umask 002 +#else +# umask 022 +#fi + ## Now, we'll give a few examples of what you might want to use in your ## .zshrc.local file (just copy'n'paste and uncomment it there): +## Prompt theme extension ## + +# Virtualenv support + +#function virtual_env_prompt () { +# REPLY=${VIRTUAL_ENV+(${VIRTUAL_ENV:t}) } +#} +#grml_theme_add_token virtual-env -f virtual_env_prompt '%F{magenta}' '%f' +#zstyle ':prompt:grml:left:setup' items rc virtual-env change-root user at host path vcs percent + ## ZLE tweaks ## ## use the vi navigation keys (hjkl) besides cursor keys in menu completion @@ -64,25 +81,32 @@ fi #WORDCHARS='*?_[]~=&;!#$%^(){}' #WORDCHARS='${WORDCHARS:s@/@}' -# just type 'cd ...' to get 'cd ../..' +# just type '...' to get '../..' #rationalise-dot() { -# if [[ $LBUFFER == *.. ]] ; then -# LBUFFER+=/.. -# else -# LBUFFER+=. -# fi +#local MATCH +#if [[ $LBUFFER =~ '(^|/| | |'$'\n''|\||;|&)\.\.$' ]]; then +# LBUFFER+=/ +# zle self-insert +# zle self-insert +#else +# zle self-insert +#fi #} #zle -N rationalise-dot #bindkey . rationalise-dot +## without this, typing a . aborts incremental history search +#bindkey -M isearch . self-insert #bindkey '\eq' push-line-or-edit - ## some popular options ## ## add `|' to output redirections in the history #setopt histallowclobber +## try to avoid the 'zsh: no matches found...' +#setopt nonomatch + ## warning if file exists ('cat /dev/null > ~/.zshrc') #setopt NO_clobber @@ -98,6 +122,9 @@ fi ## Allow comments even in interactive shells #setopt interactivecomments +## if a new command line being added to the history list duplicates an older +## one, the older command is removed from the list +#is4 && setopt histignorealldups ## compsys related snippets ## @@ -120,6 +147,10 @@ fi #zstyle ':completion:*:my-accounts' users-hosts $my_accounts #zstyle ':completion:*:other-accounts' users-hosts $other_accounts +## add grml.org to your list of hosts +#hosts+=(grml.org) +#zstyle ':completion:*:hosts' hosts $hosts + ## telnet on non-default ports? ...well: ## specify specific port/service settings: #telnet_users_hosts_ports=( @@ -153,6 +184,7 @@ fi #alias -g G='|grep' #alias -g H='|head' #alias -g Hl=' --help |& less -r' +#alias -g J='|jq' #alias -g K='|keep' #alias -g L='|less' #alias -g LL='|& less -r' @@ -164,6 +196,18 @@ fi #alias -g T='|tail' #alias -g V='| vim -' +## instead of global aliase it might be better to use grmls $abk assoc array, whose contents are expanded after pressing ,. +#$abk[SnL]="| sort -n | less" + +## get top 10 shell commands: +#alias top10='print -l ${(o)history%% *} | uniq -c | sort -nr | head -n 10' + +## Execute \kbd{./configure} +#alias CO="./configure" + +## Execute \kbd{./configure --help} +#alias CH="./configure --help" + ## miscellaneous code ## ## Use a default width of 80 for manpages for more convenient reading @@ -183,6 +227,80 @@ fi # exec $SHELL $SHELL_ARGS "$@" #} +## Handy functions for use with the (e::) globbing qualifier (like nt) +#contains() { grep -q "$*" $REPLY } +#sameas() { diff -q "$*" $REPLY &>/dev/null } +#ot () { [[ $REPLY -ot ${~1} ]] } + +## get_ic() - queries imap servers for capabilities; real simple. no imaps +#ic_get() { +# emulate -L zsh +# local port +# if [[ ! -z $1 ]] ; then +# port=${2:-143} +# print "querying imap server on $1:${port}...\n"; +# print "a1 capability\na2 logout\n" | nc $1 ${port} +# else +# print "usage:\n $0 [port]" +# fi +#} + +## List all occurrences of programm in current PATH +#plap() { +# emulate -L zsh +# if [[ $# = 0 ]] ; then +# echo "Usage: $0 program" +# echo "Example: $0 zsh" +# echo "Lists all occurrences of program in the current PATH." +# else +# ls -l ${^path}/*$1*(*N) +# fi +#} + +## Find out which libs define a symbol +#lcheck() { +# if [[ -n "$1" ]] ; then +# nm -go /usr/lib/lib*.a 2>/dev/null | grep ":[[:xdigit:]]\{8\} . .*$1" +# else +# echo "Usage: lcheck " >&2 +# fi +#} + +## Download a file and display it locally +#uopen() { +# emulate -L zsh +# if ! [[ -n "$1" ]] ; then +# print "Usage: uopen \$URL/\$file">&2 +# return 1 +# else +# FILE=$1 +# MIME=$(curl --head $FILE | \ +# grep Content-Type | \ +# cut -d ' ' -f 2 | \ +# cut -d\; -f 1) +# MIME=${MIME%$'\r'} +# curl $FILE | see ${MIME}:- +# fi +#} + +## Memory overview +#memusage() { +# ps aux | awk '{if (NR > 1) print $5; +# if (NR > 2) print "+"} +# END { print "p" }' | dc +#} + +## print hex value of a number +#hex() { +# emulate -L zsh +# if [[ -n "$1" ]]; then +# printf "%x\n" $1 +# else +# print 'Usage: hex ' +# return 1 +# fi +#} + ## log out? set timeout in seconds... ## ...and do not log out in some specific terminals: #if [[ "${TERM}" == ([Exa]term*|rxvt|dtterm|screen*) ]] ; then @@ -214,7 +332,7 @@ fi #getanames () { perl -ne 'while ( m/a name="([^"]*)"/gc ) { print $1, "\n"; }' $* } #getforms () { perl -ne 'while ( m:(\):gic ) { print $1, "\n"; }' $* } #getstrings () { perl -ne 'while ( m/"(.*?)"/gc ) { print $1, "\n"; }' $*} -#getanchors () { perl -ne 'while ( m/«([^«»\n]+)»/gc ) { print $1, "\n"; }' $* } +#getanchors () { perl -ne 'while ( m/«([^«»\n]+)»/gc ) { print $1, "\n"; }' $* } #showINC () { perl -e 'for (@INC) { printf "%d %s\n", $i++, $_ }' } #vimpm () { vim `perldoc -l $1 | sed -e 's/pod$/pm/'` } #vimhelp () { vim -c "help $1" -c on -c "au! VimEnter *" }