X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=ad641b9b3fbab962e721846d8d240b125e59af7d;hb=e7e9c3e89ec4ffca6cb0f1e8e6ebd46202da39f7;hp=55e92424562027b001676243b47ea43594cc8aa3;hpb=c4e301f244c36103c028cf5067fdd8844aa3dbe6;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 55e9242..ad641b9 100644 --- a/zsh/rc +++ b/zsh/rc @@ -601,6 +601,12 @@ bindkey '^F' complete-files # for a fix (-r) to handle whitespace/quotes # correctly, both on the Zsh mailing list. TRAPINT() { + # Don't store this line in history if histignorespace is enabled and the + # line starts with a space. + if [[ -o histignorespace && ${BUFFER[1]} = " " ]]; then + return $1 + fi + # Store the current buffer in the history. zle && print -s -r -- $BUFFER @@ -618,6 +624,8 @@ alias sudo='sudo ' # Global aliases for often used redirections. alias -g E='2>&1' +alias -g N='>/dev/null' +alias -g EN='2>/dev/null' alias -g L='2>&1 | less' alias -g LS='2>&1 | less -S' # -S prevents wrapping of long lines alias -g D='2>&1 | colordiff | less' @@ -704,8 +712,9 @@ fi # LOAD ADDITIONAL CONFIGURATION FILES -# Configuration option for rc.local to use tmux. By default screen is used. -use_tmux= +# Configuration option for rc.local to use GNU screen/tmux. By default GNU +# screen is used. Possible values: screen, tmux. +use_multiplexer=screen source_config ~/.zsh/rc.local @@ -717,32 +726,32 @@ source_config ~/.zsh/rc.local # through ssh. if [[ $TERM != dumb && $TERM != linux && -z $STY && -z $TMUX ]]; then # Get running detached sessions. - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then session=$(screen -list | grep 'Detached' | awk '{ print $1; exit }') - else + elif [[ $use_multiplexer = tmux ]]; then session=$(tmux list-sessions 2>/dev/null \ | sed '/(attached)$/ d; s/^\([0-9]\{1,\}\).*$/\1/; q') fi # As we exec later we have to set the title here. - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then window_preexec "screen" - else + elif [[ $use_multiplexer = tmux ]]; then window_preexec "tmux" fi # Create a new session if none is running. if [[ -z $session ]]; then - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then exec screen - else + elif [[ $use_multiplexer = tmux ]]; then exec tmux fi # Reattach to a running session. else - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then exec screen -r $session - else + elif [[ $use_multiplexer = tmux ]]; then exec tmux attach-session -t $session fi fi