James G. Best
Posted on June 26, 2020
This is the start of a new series about maximising your terminal experience. I will write about what I think are essential packages for the CLI, a simple but super effective Vim setup and setting some sane Tmux defaults.
In this first article, I am going to list some of what I think are essential CLI packages. These are ones I use every day and could not live without. I am leaving Vim and Tmux off this list as they will get there own articles.
I spend all my time in a terminal. This is where I do all my development, hacking and note-taking. Spending so much time there I want it to work for me, providing a buttery smooth experience.
Here is a list of my top CLI packages.
1. ZSH and oh-my-zsh:
This is my chosen shell. It has way too many features to list here but here are a choice few:
- automatic cd: Just type the name of the directory
- recursive path expansion: For example β/u/lo/bβ expands to β/usr/local/binβ. This is not one I use much because I lead on the tools mentioned below.
- spelling correction and approximate completion: If you make a small mistake typing a directory name, ZSH will fix it for you
- plugin and theme support: ZSH includes many different plugin frameworks. This is where
oh-my-zsh
comings in. Its a community drive framework for managing your ZSH configuration.
2. FZF
FZF is a command-line fuzzy finder. It is super fast, light and works so well with all my other tools.
3. RipGrep (rg)
RipGrep is a stupid fast replacement for grep. It does away with lots of the hard to remember flags that grep requires. By default, it respects your .gitignore
, and skips hidden files.
4. Autojump
Autojump is a super-fast way to navigate your filesystem. It learns the directories you visit most and remembers them for next time.
5. HTTPie
HTTPie is a user-friendly command line HTTP client. It has JSON support, syntax highlighting and lots more.
6. Bat
Bat is a drop-in replacement for cat
but with superpowers. It's highly configurable and supports syntax highlighting.
7. exa
exa is a modern replacement for ls
. It is highly configurable, provides better defaults.
8. twf
twf is a tree view explorer inspired by fzf.
You can find my dotfiles here. This is how I use them, how will you?
Thanks for reading π
If there is anything I have missed, or if there is a better way to do something then please let me know.
Check out our software focused podcast - Salted Bytes
Posted on June 26, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.