X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=f01c5ff2e3b93c6eb8871a07485372ece8253caf;hb=0cc191ec23888f102fa6ab82b963e0bcfcaa2e79;hp=4795ab0798c77c78266b0418d72cbe5270fab220;hpb=550ad254d2999033615dfd261a7b9e6592e83f89;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 4795ab0..f01c5ff 100644 --- a/zsh/rc +++ b/zsh/rc @@ -76,6 +76,8 @@ fi # Autoload add-zsh-hook to add/remove zsh hook functions easily. autoload -Uz add-zsh-hook +# Load zmv (zsh move) which is powerful to rename files. +autoload zmv # HISTORY SETTINGS @@ -91,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 @@ -104,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 @@ -185,9 +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 and xterm. If screen is running in X11 (DISPLAY is set) -# and stumpwm is running then the window title is also set in stumpwm using -# stumpish. +# 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 @@ -197,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 @@ -212,7 +207,7 @@ if [[ $TERM == screen* || $TERM == xterm* || $TERM == rxvt* ]]; then local program_name=$1 # When sudo is used use real program name instead, but with an - # exclamation mark at the beginning. + # exclamation mark at the beginning (handled below). local program_sudo= if [[ $program_name == sudo* ]]; then program_name=${program_name#sudo } @@ -291,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 @@ -314,7 +303,8 @@ fi # (coloring, scrollable). zmodload zsh/complist # Use new completion system, store dumpfile in ~/.zsh/cache to prevent -# cluttering of ~/. +# cluttering of ~/. $fpath must be set before calling this. Thanks to Adlai in +# #zsh on Freenode (2009-08-07 21:05) for reminding me of the $fpath problem. autoload -U compinit && compinit -d ~/.zsh/cache/zcompdump # Use cache to speed up completions. @@ -376,14 +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 &) # Make sure aliases are expanded when using sudo. alias sudo='sudo ' -# Global aliases for often used commands used in the command line. +# Global aliases for often used commands in the command line. alias -g E='2>&1' alias -g L='E | less' alias -g D='E | colordiff L' @@ -498,7 +493,7 @@ fi # OS SPECIFIC SETTINGS if [[ $(uname) == Linux ]]; then - # Settings to create Debian packages. + # Settings when creating Debian packages. DEBEMAIL=simon@ruderich.org export DEBEMAIL DEBFULLNAME="Simon Ruderich"