L2 Cache

Behold the power of |!

User Tools

Site Tools


configuration:zsh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
configuration:zsh [2014/12/25 21:09]
sjorge [.zshrc]
configuration:zsh [2016/06/21 22:16]
sjorge [.zshrc]
Line 36: Line 36:
 ## .zshrc ## .zshrc
 # by Jorge Schrauwen <​jorge@blackdot.be>​ # by Jorge Schrauwen <​jorge@blackdot.be>​
-# Version ​20141225030+# Version ​20160621001
 #         ​YYYYMMDD###​ #         ​YYYYMMDD###​
  
Line 43: Line 43:
 # #
 # Change Log # Change Log
 +# - 20160621: --- - optimizations
 +# - 20160621: fix - if .aliases is missing initial exit indicator was fasle
 +# - 20160320: fix - color ls on SmartOS, drop obd support
 +# - 20160219: fix - fix vncviewer alias
 +# - 20151128: --- - cleanup and removal of old code
 +# - 20151001: fix - support new pkgsrc layout on OSX
 # - 20141225: new - added '​developer'​ theme (same as dual but with git helpers) # - 20141225: new - added '​developer'​ theme (same as dual but with git helpers)
-# - 20141225: new - switched to promptinit, converted themes and renamed minimal ​-> compact+# - 20141225: new - switched to promptinit, converted themes and renamed minimal
 # - 20141225: new - added CMD_SAFE_WRAP (defaults to 1) # - 20141225: new - added CMD_SAFE_WRAP (defaults to 1)
 # - 20141225: --- - switch to selective nocorrect/​noglob # - 20141225: --- - switch to selective nocorrect/​noglob
Line 86: Line 92:
 # {{{ options # {{{ options
     ## change directory ​     ## change directory ​
-    setopt auto_cd ​     # drop cd+    setopt auto_cd
     ​     ​
     ## enable command correction     ## enable command correction
-    ​#setopt correct +    setopt correct 
-    setopt correct_all  ​+    ​#setopt correct_all  ​
  
     ## prevent file overwrite     ## prevent file overwrite
Line 99: Line 105:
  
     ## superglobs     ## superglobs
-    #setopt extended_glob 
     unsetopt case_glob     unsetopt case_glob
     ​     ​
Line 121: Line 126:
     ## make some commands safer     ## make some commands safer
     CMD_SAFE_WRAP=0     CMD_SAFE_WRAP=0
 +    setopt mark_dirs
  
     ## include local options     ## include local options
Line 280: Line 286:
   ​   ​
         # colorization         # colorization
 +        eval $(dircolors)
         [ -f /​etc/​DIR_COLORS ] && eval $(dircolors -b /​etc/​DIR_COLORS)         [ -f /​etc/​DIR_COLORS ] && eval $(dircolors -b /​etc/​DIR_COLORS)
         [ -f ~/​.dir_colors ] && eval $(dircolors -b ~/​.dir_colors)         [ -f ~/​.dir_colors ] && eval $(dircolors -b ~/​.dir_colors)
Line 291: Line 298:
   ​   ​
         # LX BrandZ         # LX BrandZ
-        [ -d /native/​usr/​bin ​&& ​export PATH=$PATH:/​native/​usr/​bin +        ​if [ -d /native ]; then 
-        [ -d /​native/​sbin ] && [[ -n $WANT_SBIN ]] && ​export PATH=$PATH:/​native/​sbin +            ​export PATH=$PATH:/​native/​usr/​bin 
-        [ -d /​native/​usr/​sbin ] && [[ -n $WANT_SBIN ]] && ​export PATH=$PATH:/​native/​usr/​sbin+            ​if ​[ -n $WANT_SBIN ]; then 
 +                ​export PATH=$PATH:/​native/​sbin 
 +                export PATH=$PATH:/​native/​usr/​sbin 
 +            fi 
 +        fi
     ;; esac     ;; esac
     case $OSTYPE in solaris*)     case $OSTYPE in solaris*)
Line 304: Line 315:
         # add /usr/sbin if wanted         # add /usr/sbin if wanted
         [ $(echo $PATH | grep -c '/​usr/​sbin:'​) ​ -eq 0 ] && ​         [ $(echo $PATH | grep -c '/​usr/​sbin:'​) ​ -eq 0 ] && ​
-            ​[[ -n $WANT_SBIN ​]] && export PATH=$PATH:/​usr/​sbin+            [ -n $WANT_SBIN ] && export PATH=$PATH:/​usr/​sbin
  
         # check for gnu         # check for gnu
         export PATH=$(echo $PATH | /bin/sed -r '​s#:/​usr/​gnu/​s?​bin##​g'​)         export PATH=$(echo $PATH | /bin/sed -r '​s#:/​usr/​gnu/​s?​bin##​g'​)
-        [ -d /usr/gnu/bin && ​export PATH=$PATH:/​usr/​gnu/​bin +        ​if [ -d /usr/gnu ]; then 
-        [ -d /​usr/​gnu/​sbin ] && [[ -n $WANT_SBIN ​]] && export PATH=$PATH:/​usr/​gnu/​sbin +            ​export PATH=$PATH:/​usr/​gnu/​bin 
-   +            [ -n $WANT_SBIN ] && export PATH=$PATH:/​usr/​gnu/​sbin 
-        check for obd repository (omnios) + 
-        ​export PATH=$(echo $PATH | /​bin/​sed ​-r 's#/opt/obd/​s?​bin:##​g'​) +            selective gnu / colorization 
-        export MANPATH=$(echo $MANPATH | /​bin/​sed ​-r 's#/opt/obd/share/man:##g') +            ​[ ​-/usr/gnu/​bin/​sed ​] && alias sed='/usr/gnu/bin/sed
-        [ -/opt/obd/bin ] && ​export PATH=$PATH:/opt/obd/bin +            [ -/usr/gnu/bin/diff ] && ​alias diff='/usr/gnu/bin/diff' 
-        [ -/opt/obd/sbin ] && ​[[ -n $WANT_SBIN ]] && export PATH=$PATH:/opt/obd/sbin +            [ -/usr/gnu/bin/​tar ​] && ​alias tar='/usr/gnu/bin/​tar'​ 
-        [ -/opt/obd/share/man ] && ​export MANPATH=$MANPATH:/opt/obd/share/man+            [ -/usr/gnu/bin/rm ] && ​alias rm='/usr/gnu/bin/rm' 
 +        fi
   ​   ​
         # check for pkgsrc (smartos)         # check for pkgsrc (smartos)
         export PATH=$(echo $PATH | /bin/sed -r '​s#/​opt/​local/​s?​bin:##​g'​)         export PATH=$(echo $PATH | /bin/sed -r '​s#/​opt/​local/​s?​bin:##​g'​)
-        [ -d /opt/local/bin && ​export ​PATH=/​opt/​local/​bin:$PATH +        ​export MANPATH=$(echo $MANPATH | /bin/sed -r '​s#/​opt/​local/​man:##​g'​) 
-        [ -d /opt/local/sbin ] && [[ -n $WANT_SBIN ​]] && export PATH=/​opt/​local/​sbin:​$PATH +        if [ -d /opt/local ]; then 
-        ​[ -d /​opt/​local/​man ] && export MANPATH=/​opt/​local/​man:​$MANPATH+            ​export ​MANPATH=/​opt/​local/​man:$MANPATH 
 +            export ​PATH=/opt/local/bin:$PATH 
 +            ​[ -n $WANT_SBIN ] && export PATH=/​opt/​local/​sbin:​$PATH 
 +        ​fi
  
         # check for omniti repository (omnios)         # check for omniti repository (omnios)
         export PATH=$(echo $PATH | /bin/sed -r '​s#/​opt/​omni/​s?​bin:##​g'​)         export PATH=$(echo $PATH | /bin/sed -r '​s#/​opt/​omni/​s?​bin:##​g'​)
         export MANPATH=$(echo $MANPATH | /bin/sed -r '​s#/​opt/​omni/​share/​man:##​g'​)         export MANPATH=$(echo $MANPATH | /bin/sed -r '​s#/​opt/​omni/​share/​man:##​g'​)
-        [ -d /opt/omni/​bin ​&& export PATH=$PATH:/​opt/​omni/​bin +        ​if [ -d /opt/local ]; then 
-        [ -d /​opt/​omni/​sbin ] && [[ -n $WANT_SBIN ]] && export PATH=$PATH:/​opt/​omni/​sbin +            export MANPATH=$MANPATH:/​opt/​omni/​share/​man 
-        [ -d /​opt/​omni/​share/​man ] && ​export MANPATH=$MANPATH:/​opt/​omni/​share/​man +            export PATH=$PATH:/​opt/omni/bin 
- +            [ -n $WANT_SBIN ​] && export PATH=$PATH:/​opt/omni/sbin 
-        # check for sfw +        fi
-        ​export PATH=$(echo ​$PATH | /bin/sed -r 's#:/usr/sfw/s?bin##g') +
-        [ -d /​usr/​sfw/​bin ​] && export PATH=$PATH:/​usr/sfw/bin+
  
         # check for local         # check for local
         export PATH=$(echo $PATH | /bin/sed -r '​s#/​usr/​local/​s?​bin:##​g'​)         export PATH=$(echo $PATH | /bin/sed -r '​s#/​usr/​local/​s?​bin:##​g'​)
-        [ -d /usr/local/bin && ​export PATH=/​usr/​local/​bin:​$PATH +        ​if [ -d /usr/local ]; then 
-        [ -d /​usr/​local/​sbin ] && [[ -n $WANT_SBIN ​]] && export PATH=/​usr/​local/​sbin:​$PATH+            ​export PATH=/​usr/​local/​bin:​$PATH 
 +            [ -n $WANT_SBIN ] && export PATH=/​usr/​local/​sbin:​$PATH 
 +        fi
  
         # check for opencsw         # check for opencsw
         export PATH=$(echo $PATH | /bin/sed -r '​s#:/​opt/​csw/​s?​bin##​g'​)         export PATH=$(echo $PATH | /bin/sed -r '​s#:/​opt/​csw/​s?​bin##​g'​)
-        [ -d /opt/csw/bin && ​export PATH=$PATH:/​opt/​csw/​gnu:/​opt/​csw/​bin +        ​if [ -d /opt/csw ]; then 
-        [ -d /​opt/​csw/​sbin ] && [[ -n $WANT_SBIN ​]] && export PATH=$PATH:/​opt/​csw/​sbin+            ​export PATH=$PATH:/​opt/​csw/​gnu:/​opt/​csw/​bin 
 +            [ -n $WANT_SBIN ] && export PATH=$PATH:/​opt/​csw/​sbin 
 +        fi
  
         # colorization         # colorization
-        ​[ "$(which ls)" = "/usr/bin/ls" ] && ​alias ls='ls --color'​ +        ​case $(which ls) in 
- +          ​/opt/local/bin/lsalias ls='ls --color' ​;; 
-        # selective gnu / colorization +          /usr/bin/lsalias ls='ls --color'​ ;; 
-        [ "​$(which ls)" = "/usr/gnu/bin/ls" ] && ​alias ls='/​usr/​gnu/​bin/​ls --color=auto'​ +          ​/​usr/​gnu/​bin/​ls) ls='ls --color=auto' ​;; 
-        ​[ -e /usr/gnu/​bin/​grep ​] && ​alias grep='/​usr/​gnu/​bin/​grep --color=auto'​ +        ​esac 
-        [ -e /​usr/​gnu/​bin/​sed ] && ​alias sed='/​usr/​gnu/​bin/​sed'​ +        case $(which grep) in 
-        [ -e /​usr/​gnu/​bin/​diff ] && alias diff='/​usr/​gnu/​bin/​diff'​ +          ​/opt/local/bin/grepalias grep='​grep --color=auto' ​;; 
-        [ -e /​usr/​gnu/​bin/​tar ] && alias tar='/​usr/​gnu/​bin/​tar'​ +          /​usr/​gnu/​bin/​grep) alias grep='grep --color=auto' ​;; 
-        ​[ -e /​usr/​gnu/​bin/​rm ] && alias rm='/​usr/​gnu/​bin/​rm'​+        ​esac
     ;; esac     ;; esac
     case $OSTYPE in openbsd*)     case $OSTYPE in openbsd*)
Line 384: Line 401:
   ​   ​
         # pkgsrc         # pkgsrc
-        if [ -e /​usr/​pkg/​bin/​pkgin ]; then+        if [ -e /​opt/​pkg/​bin/​pkgin ]; then 
 +            export PATH=/​opt/​pkg/​gnu/​bin:/​opt/​pkg/​bin:/​opt/​pkg/​sbin:​$PATH 
 +            export MANPATH=/​opt/​pkg/​man:​$MANPATH 
 +            if [ -f ~/​.dir_colors ]; then 
 +                eval $(dircolors -b ~/​.dir_colors) 
 +                export ZLSCOLORS="​${LS_COLORS}"​ 
 +                unalias ls &> /dev/null 
 +                alias ls='ls --color=auto'​ 
 +            fi 
 +            alias pkgin='​sudo pkgin'​ 
 +        elif [ -e /​usr/​pkg/​bin/​pkgin ]; then
             export PATH=/​usr/​pkg/​gnu/​bin:/​usr/​pkg/​bin:/​usr/​pkg/​sbin:​$PATH             export PATH=/​usr/​pkg/​gnu/​bin:/​usr/​pkg/​bin:/​usr/​pkg/​sbin:​$PATH
             export MANPATH=/​usr/​pkg/​man:​$MANPATH             export MANPATH=/​usr/​pkg/​man:​$MANPATH
Line 396: Line 423:
         fi         fi
         ​         ​
-        ## helpers +        ## helpers ​        
-        function trash() { +        function ​vnc() {
-            local trash_dir="​${HOME}/​.Trash"​ +
-            local temp_ifs="​$IFS"​ +
-            IFS=$'​\n'​ +
-            for item in "​$@";​ do +
-                if [[ -e "​$item"​ ]]; then +
-                    item_name="​$(basename $item)"​ +
-                    if [[ -e "​${trash_dir}/​${item_name}"​ ]]; then +
-                        mv -f "​$item"​ "​${trash_dir}/​${item_name} $(date "​+%H-%M-%S"​)"​ +
-                    else +
-                        mv -f "​$item"​ "​${trash_dir}/"​ +
-                    fi +
-                fi +
-            done +
-            IFS=$temp_ifs +
-        } +
-         +
-        function ​vncviewer() {+
             which vncviewer &> /dev/null             which vncviewer &> /dev/null
             if [ $? -eq 0 ]; then             if [ $? -eq 0 ]; then
Line 426: Line 436:
     ## host specific     ## host specific
     case ${HOST:r} in     case ${HOST:r} in
-        (axion*|tachyon*) +        (axion*|tachyon*|photon*)
-            # add a little info banner +
-            if [[ $SHLVL -eq 1 ]] ; then +
-                clear +
-                echo +
-                print -P "​\e[1;​33m Welcome to: \e[1;​34m%m"​ +
-                print -P "​\e[1;​33m Running: \e[1;​34m`uname -srm`\e[1;​33m on \e[1;​34m%l"​ +
-                print -P "​\e[1;​33m It is:\e[1;34m %D{%r} \e[1;33m on \e[1;​34m%D{%A %b %f %G}" +
-                echo +
-                tput sgr0 +
-            fi +
             # proper UTF-8             # proper UTF-8
             export LANG=en_US.UTF-8             export LANG=en_US.UTF-8
Line 444: Line 443:
             PROMPT_HOST_COLOR=green             PROMPT_HOST_COLOR=green
         ;;         ;;
-        (artemis*|monolith*)+        (exosphere*|crust*)
             PROMPT_HOST_COLOR=red             PROMPT_HOST_COLOR=red
         ;;         ;;
Line 647: Line 646:
     autoload -Uz promptinit && promptinit     autoload -Uz promptinit && promptinit
  
-    ## utf8 checkmarks+    ## checkmarks
     PROMPT_CO='​.'​     PROMPT_CO='​.'​
     PROMPT_CE='​!'​     PROMPT_CE='​!'​
-    case $LANG in *UTF-8) 
-        case $TERM in (xterm*) 
-            if [[ -z $NOFANCY_PROMPT ]] ; then 
-                PROMPT_CO='​✓'​ 
-                PROMPT_CE='​✗'​ 
-            fi 
-        ;; esac 
-    ;; esac 
  
     ## create themes     ## create themes
Line 715: Line 706:
     # preferences     # preferences
     which nano &> /dev/null ; [ $? -eq 0 ] && export EDITOR='​nano'​     which nano &> /dev/null ; [ $? -eq 0 ] && export EDITOR='​nano'​
 +    which vi &> /dev/null ; [ $? -eq 0 ] && export EDITOR='​vi'​
     which vim &> /dev/null ; [ $? -eq 0 ] && export EDITOR='​vim'​     which vim &> /dev/null ; [ $? -eq 0 ] && export EDITOR='​vim'​
     export PAGER='​less'​     export PAGER='​less'​
Line 727: Line 719:
  
     case $OSTYPE in solaris*)     case $OSTYPE in solaris*)
-        alias zfs_rsync='​rsync -avAPh+        alias zfs_rsync='​rsync -aviAPh
-        alias zfs_rsync+='​rsync -avAPh --delete'​+        alias zfs_rsync+='​rsync -aviAPh ​--delete'​
     ;; esac     ;; esac
  
     # include local aliases     # include local aliases
-    ​[[ -e ~/.aliasses ]] && mv ~/.aliasses ~/​.aliases +    [[ -e ~/.aliases ]] && source ~/​.aliases ​|| true
-    ​[[ -e ~/.aliases ]] && source ~/.aliases+
 # }}} # }}}
 </​code>​ </​code>​
  
configuration/zsh.txt · Last modified: 2017/05/01 18:32 by sjorge