Hacker News new | past | comments | ask | show | jobs | submit login

Tab completion and aliases need not be mutually exclusive. For instance, in zsh you can use:

    alias gs='git status'
    compdef _git gs=git-status
FYI: I also mapped g without parameters to `git status -sb` but g with parameters will simply execute everything as normal

    g () {
      if [ $# -eq 0 ]
      then
        git status -sb
      else
        git $*
      fi
    }
    compdef g=git



Neat! I'll try that using the g() function. I would replace your $* with "$@" (in double quotes), though, so it doesn't try to re-split your arguments by the IFS. (Yes, $@ is a gigantic hack, but a necessary one.) See http://stackoverflow.com/questions/3008695/what-the-differen...


It only looks like a hack until you understand Bash arrays.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: