ZSH and OH MY ZSH - BU-ISCIII/BU-ISCIII GitHub Wiki
ZSH terminal
Zsh is a shell designed for interactive use, although it is also a powerful scripting language. It is very similar to bash but with more capability for custom configuration. Also is used by oh-my-zsh framework with makes the use of the terminal much more friendly. For some comparison with bash you can read this article
oh-my-zsh
Oh-my-zsh is a zsh framework with hundreds of custom themes and plugins. You can check all the plugins and themes available here and use whatever you want.
Currently I use git, git-flow and django plugins, which extends command autocomplete and adds git events decoration to the prompt which is very handy. Also I customize a theme called cleanCustom-theme.
Some other features are:
- Path completion is case insensitive.
- Path completion is eased with tab key.
- Prompt information improvement.
- Useful aliases pre-configured. For a full list of active aliases, run
alias
.
Oh-my-zsh customization
Configuration is set in .zshrc. There you can change the theme and add all the plugins you desire.
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="cleanCustom"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)
Also aliases can be defined. HPC connection aliases are set by default. More aliases can be configured creating a file named .aliases in your home folder.
# Source file with software paths
if [ -f /etc/profile.d/extrapath.sh ];then
source /etc/profile.d/extrapath.sh
fi