My terminal and development setup
Terminal interaction and development activities become a lot easy with additions of awesome utilities. Below are a few of the cli and *nix tools I use (they are managed with dotfiles).
ZSH Customisations
- Oh My Zsh is community-driven framework for managing your Zsh configuration
- Theme:
powerlevel10k - Plugins
zsh-autosuggestions— Fish-like fast/unobtrusive autosuggestions for zsh as you typezsh-syntax-highlighting
Installation steps for zsh, plugins, powerlevel10k
- Install a recommended font like
MesloLGSorSource Code Pro, on your terminal for better display
If using iTerm terminal, set the font as below. Click here for other terminals and IDEs.
2. Clone the repositories into $ZSH_CUSTOM/plugins (by default ~/.oh-my-zsh/custom/plugins)
brew install zsh # Install on a MacOS
# for other platforms, refer https://github.com/ohmyzsh/ohmyzsh/wiki/Installing-ZSH
# Install Oh my zsh framework
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install zsh plugins
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Install powerlevel10k
# https://github.com/romkatv/powerlevel10k#installation
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k3. Add the plugin to the list of plugins for Oh My Zsh to load (modify ~/.zshrc)
# Add this before the below source call in ~/.zshrc
# source $ZSH/oh-my-zsh.sh
plugins+=(zsh-autosuggestions zsh-syntax-highlighting)
ZSH_THEME="powerlevel10k/powerlevel10k" # enable powerlevel10k4. Restart the shell or reload (source ~/.zshrc) to see the below configuration wizard
Explore more awesome-zsh-plugins
Tmux
Tmux, the terminal multiplexer makes it easy to work with mulitple panes and windows. It can be extended with plugins using tpm — tmux plugin manager
List of few tmux plugins
- extrakto
- tmux-better-mouse-mode
- tmux-butler
- tmux-fuzzback
- tmux-fuzzywuzzy
- tmux-fzf-maccy
- tmux-fzf-url
- tmux-logging
- tmux-open
- tmux-picker
- tmux-resurrect
- tmux-sensible
- tmux-sidebar
- tmux-yank
Read full tmux story here
Fzf: Interactive fuzzy selector
Install fzf
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/installPress Ctrl-r or Alt-c to see the magic.
A lot of fzf examples and advanced customisations are available online.
Ranger
ranger is an ncurses based terminal file manager.
Ranger plugins/Add-ons
View my ranger config. Look at this awesome list collection.
Tig
tig is another ncurses based tool for git activities.
Aliases
View more bash aliases here. Read the story here
The dotfiles configuration in github is currently private as it is a bit messy now😉. I will add more to my public dotfile repo soon 🙂.
Thanks for reading.
