DEV Community

Cover image for Useful Alias for ZSH
Camilo Martinez
Camilo Martinez

Posted on • Edited on

Useful Alias for ZSH

When I start working all the machines in my office use Windows. That's the moment when I start missing the alias ability that I learned at the university where I used to have Linux on my laptop.

Happily now, ZSH (or bash) can be used on Linux, macOS, and Windows (with WSL).

In addition to all the aliases that can be activated with ZSH plugins, I've defined a lot more that I miss. Hope can also be useful for you.


Terminal



alias c="clear"
alias x="exit"
alias e="code -n ~/ ~/.zshrc ~/.aliases ~/.colors ~/.hooks"
alias r="source ~/.zshrc"


Enter fullscreen mode Exit fullscreen mode

History



alias h="history -10" # last 10 history commands
alias hc="history -c" # clear history
alias hg="history | grep " # +command


Enter fullscreen mode Exit fullscreen mode

history-grep

You can reuse the command with !# (! + history number) to reuse the same command. According to previous image, if you use !46 it will recover the npm -v command.

Alias



alias ag="alias | grep " # +command


Enter fullscreen mode Exit fullscreen mode

alias-grep

Utils



# https://github.com/abishekvashok/cmatrix
# sudo apt install cmatrix / brew install cmatrix
alias m="cmatrix -abs"

# https://htop.dev/
# sudo apt install htop / brew install htop
alias t="htop"

# https://dev.yorhel.nl/ncdu
# sudo apt install ncdu / brew install ncdu
alias d="ncdu --exclude /mnt --color dark" # +path

# https://www.speedtest.net/apps/cli
alias st="speedtest"

# https://github.com/sindresorhus/clipboard-cli
# npm install -g clipboard-cli
alias cb="clipboard"


Enter fullscreen mode Exit fullscreen mode

Git



alias gcg="git config --edit --global"
alias gcl="git config --edit --local"


Enter fullscreen mode Exit fullscreen mode

⚠ Use next alias with extra caution, you may lose all your changes.



alias guc="git reset --hard HEAD" # undo changes and preserve untracked files
alias gcc="git clean -f -d -x" # clean ALL changes and remove untracked files


Enter fullscreen mode Exit fullscreen mode

Or use a command validation to confirm dangerous actions.

I'm not setting up the global user and mail on git because I work on different projects. So I have an alias with the most used user.



alias gcu="git config user.name \"equiman\" && git config user.email \"equiman@users.noreply.github.com\""


Enter fullscreen mode Exit fullscreen mode

Empty commit, very useful to re-run CI/CD



alias gcae="git commit --allow-empty -m " # <message>


Enter fullscreen mode Exit fullscreen mode

npm



alias rnm="rm -rf node_modules"
alias rbn="rm -rf build node_modules"
alias rap="rm -rf build coverage node_modules package-lock.json && npm i"
alias cap="clean && rap"

alias npk="npx npkill" #clean unused node_modules
alias nkp="npx kill-port " # +portnumber
alias nfk="npx fkill-cli" # +[<pid|name|:port> …] #kill processes

alias nlg="npm list -g --depth 0" #list global packages installed

alias ni="npm i"
alias nis="npm i -S " # +package@version
alias nise="npm i -S -E " # +package@version
alias nid="npm i -D " # +package@version
alias nide="npm i -D -E " # +package@version
alias nr="npm r " # +package@version

alias nrb="npm run build"
alias nrbd="npm run build:dev"
alias nrbq="npm run build:qa"
alias nrs="npm run start"
alias nrsd="npm run start:dev"
alias nrsq="npm run start:qa"
alias nrt="npm run test"
alias nrtc="npm run test:c" #test with coverage

alias np="npm run build && npm publish"
alias nu="npm unpublish " # +package@version


Enter fullscreen mode Exit fullscreen mode

VSCode



alias vc="code"
alias vco="code ."
alias vcp="vsce package"


Enter fullscreen mode Exit fullscreen mode

Volta (NVM replacement)



alias vil="volta install node@lts"
alias vpl="volta pin node@16.17.1 && volta pin npm@8.15.0"
alias vi18="volta install node@18"
alias vp18="volta pin node@18.10.0 && volta pin npm@8.19.2"
alias vla="volta list all"
alias vln="volta list node"
alias vlc="volta list node --current --format plain"
alias vld="volta list node --default --format plain"
alias vlp="volta list npm"
alias vcv="node -v && npm -v"


Enter fullscreen mode Exit fullscreen mode

Image Optimizer



alias iow="npx @squoosh/cli --webp auto " # +file-name
alias ioa="npx @squoosh/cli --avif auto " # +file-name
alias iop="npx @squoosh/cli --oxipng auto " # +file-name


Enter fullscreen mode Exit fullscreen mode

You can download or clone this code and other ZSH utilities from GitHub: dot Files repository.


That’s All Folks!
Happy Coding 🖖

ko-fi

Top comments (1)

Collapse
 
dasginger profile image
DasGinger

Cheers! Thanks for the quick aliases.