X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=9a413fade98d3c286731e336bac438d61720ca50;hb=0b47efd8a633ce89b988f5cd39410b8cfe3c37ae;hp=49843bc62c59c977eae50c00119d125ff5d51421;hpb=d8206c1fcfdef1fa234fea1177699e0b09649b27;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 49843bc..9a413fa 100644 --- a/zsh/rc +++ b/zsh/rc @@ -93,10 +93,10 @@ setopt incappendhistory setopt histignoredups # Vim like completions of previous executed commands (also enter Vi-mode). If # called at the beginning it just recalls old commands (like cursor up), if -# called after typing something only likes starting with the typed are +# called after typing something only lines starting with the typed are # returned. Very useful to get old commands quickly. Thanks to Mikachu in #zsh -# on Freenode (2010-01-17 12:47) for the information how to a function with -# bindkey. +# on Freenode (2010-01-17 12:47) for the information how to a use function +# with bindkey. zle -N my-vi-history-beginning-search-backward my-vi-history-beginning-search-backward() { local not_at_beginning_of_line @@ -106,7 +106,7 @@ my-vi-history-beginning-search-backward() { zle history-beginning-search-backward - # Start Vi-mode and stay at the same position (Vi-mode modes one left, + # Start Vi-mode and stay at the same position (Vi-mode moves one left, # this counters it). zle vi-cmd-mode if [[ -n $not_at_beginning_of_line ]]; then @@ -187,10 +187,7 @@ fi # When a program is started preexec() sets the window's name to it; when it # stops precmd() resets the window's name to 'zsh'. # -# It works with screen, xterm and rxvt. If screen is running in X11 (DISPLAY -# is set) and stumpwm is running then the window title is also set in stumpwm -# using stumpish (I don't use stumpwm actually anymore but I left the changes -# in as a reference). +# It works with screen, xterm and rxvt. # # If a command is run with sudo or if the shell is running as root then a ! is # added at the beginning of the command to make this clear. If a command is @@ -200,11 +197,6 @@ if [[ $TERM == screen* || $TERM == xterm* || $TERM == rxvt* ]]; then # Is set to a non empty value to reset the window name in the next # precmd() call. window_reset=yes - # Is set to a non empty value when the stump window manager is running. - ps aux | grep -q stumpwm | grep -v grep - if [[ $? -eq 0 ]]; then - window_stumpwm=yes - fi # Is set to a non empty value when the shell is running as root. if [[ $(id -u) -eq 0 ]]; then window_root=yes @@ -294,12 +286,6 @@ if [[ $TERM == screen* || $TERM == xterm* || $TERM == rxvt* ]]; then if [[ $TERM == screen* ]]; then print -n "\ek$1\e\\" - # Update window name in stumpwm if running screen in X11 and when - # stumpwm is used. - if [[ -n $DISPLAY && -n $window_stumpwm ]]; then - echo "$1" | stumpish -e "title" > /dev/null - fi - elif [[ $TERM == xterm* || $TERM == rxvt* ]]; then print -n "\e]2;$1\e\\" fi @@ -380,9 +366,19 @@ TRAPINT() { } # Colorize stderr. Very useful when looking for errors. Thanks to -# http://gentoo-wiki.com/wiki/Zsh -exec 2>>(while read line; do - print '\e[91m'${(q)line}'\e[0m' > /dev/tty; print -n $'\0'; done &) +# http://gentoo-wiki.com/wiki/Zsh for the basic script and Mikachu in #zsh on +# Freenode (2010-03-07 04:03) for some improvements (-r, printf). It's not yet +# perfect and doesn't work with some interactive stderr output, but in those +# cases the E alias can be used as workaround. +exec 2>>(while read -r line; do + printf '\e[91m%s\e[0m\n' "$line" + print -n $'\0'; +done &) + +# Load aliases and similar functions also used by other shells. +if [[ -f ~/.shell/aliases ]]; then + . ~/.shell/aliases +fi # Make sure aliases are expanded when using sudo. alias sudo='sudo ' @@ -400,40 +396,6 @@ alias -g ...='../..' alias -g ....='../../..' alias -g .....='../../../..' -# Shortcuts for often used programs. -alias c='clear' -alias e='elinks' -alias g='git' -alias m='mutt' -alias v='vim' -alias vi='vim' - -# Improved ls which displays the files in columns (-C), visualizes -# directories, links and other special files (-F) and pages everything through -# less (L). -# -# If available use GNU ls with colorized output. If it isn't available use -# normal ls which needs CLICOLOR_FORCE so it displays colors when used with a -# pager. -ls --color &> /dev/null -if [[ $? -eq 0 ]]; then - alias ls='ls --color' -else - alias ls='CLICOLOR_FORCE=1 ls -G' -fi -# Main ls function. -function ls() { - command ls -C -F $* L -} -# Helper function to list all files. -function la() { - ls -a $* -} -# Helper function to list all files in list format with access rights, etc. -function ll() { - la -l $* -} - # If the window naming feature is used (see above) then use ".zsh" (leading # dot) as title name after running clear so it's clear to me that the window # is empty. I open so much windows that I don't know in which I have something @@ -443,24 +405,6 @@ if [[ -n $window_reset ]]; then alias clear='clear; window_reset=yes; window_precmd reset' fi -# 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' - -# Display all files and use human readable sizes. -alias du='du -sh' - -# Use human readable sizes. -alias df='df -h' - -# Edit the mercurial patch queue series file for the current mercurial -# repository in Vim. Also change Vim's pwd to the patches directory so other -# patches can easily be opened. -alias vqs='vim -c "cd $(hg root)/.hg/patches/" "$(hg root)/.hg/patches/series"' - # Display all branches (except stash) in gitk but only 200 commits as this is # much faster. Also put in the background and disown. Thanks to sitaram in # #git on Freenode (2009-04-20 15:51).