Do you use the terminal daily? How often do you find typing commands in the terminal boring and switching to looking for GUI apps instead? That’s because you haven’t found interesting tools to make terminal work cool, faster and more efficient than GUI apps many times. Today, I will share 10 terminal tools to increase your productivity. List is my personal opinion and is not arranged in any particular order.
ZSH is an extended version of Bourne Shell (sh), which is basically the same father as Bash. So ZSH has a lot in common with Bash and almost doesn’t require you to get used to it from the beginning. Apple even used ZSH as the default shell for the latest version of MacOS Catalina.
The best feature of ZSH is its ability to expand with plugins and themes. There are all kinds of plugins for different requirements. You can freely customize your terminal with this awesome-zsh-plugins list (highly recommended to install oh-my-zsh first).
2. fast-syntax-highlighting and zsh-autosuggestions
If you already use ZSH, there’s no reason you shouldn’t use these 2 plugins.
fast-syntax-highlighting provides syntax highlighting and formatting for commands you type on the terminal, as well as for the output of some common commands. If you make a mistake, say
gjt , fast-syntax-highlighting will highlight
gjt to let you know.
zsh-autosuggestions suggests commands based on command line history or tab completion and fades at the cursor as you type. With this neat feature, you can type terminal at wind speed and have less memory to remember.
Also when using a program regularly, you should also Google keyword “program name + zsh auto completion” to find and install additional plugins. When typing, just Tab will bring up suggestions very handy.
If I choose only one of the 10 terminal tools I recommend for you today, then I will choose fzf . If zsh-autosuggestions only helps you remember fewer commands, fzf will help you no longer have to remember them.
fzf reads your terminal typing history and provides an extremely fuzzy search interface. You only need to type 2-3 characters of the command to search and you can almost see it appear in the search results already. From wind god speed, you can type the terminal at the speed your lover flips face =))
fzf works on most shells (including ZSH and Bash), even has plugins for Vim and many other programs.
cat is definitely one of the most used commands in the terminal. So why not add wings for cats? bat provides syntax highlighting for many programming languages and markup languages, even marking git-based line changes. Looking at the output of bat is definitely much more eye-catching, isn’t it?
If you use lazygit regularly, you will look back and forth on the output of
git diff pretty much. The thing is git’s default diff looks pretty boring and hard to read. diff-so-fancy makes this output almost identical to that of GitHub or VSCode, which looks much easier. You can customize the color config to your liking. diff-so-fancy applies this output to all
git diff statements, not just when running lazygit.
tmux is a program that helps you split the terminal screen into panes and windows, and save that layout under a session. You can create multiple sessions and switch between them without losing the old session layout. tmux also supports various plugins and themes, you can refer to the awesome-tmux list.
tmux is great, until you have to restart the computer. With tmuxp , you can save your layout as a YAML or JSON file. Everything is great again, unless you have a virus that eats the layout file
nnn is a file manager on the terminal, so the speed of browsing files and folders is very fast. You can still preview images and open files using GUI apps. In addition, nnn also has other features such as batch rename, open the text file into a tmux pane next to it, type-to-nav, etc.
TL; DR (short for “Too Long. Didn’t Read”) is when an article is too long, you are lazy to read so the author leaves a section at the beginning or end of the article to summarize the main ideas. Similarly, terminal tools sometimes have too many commands and options that most don’t use. tldr is a program that summarizes and briefly presents some commonly used statements of a program. For example, if you want to see how to use
tar , just type
tldr tar .
Please comment and share the terminal tools that you found interesting below. Thank you for reading my article.