Enabling Auto Suggestion in Zsh
By default, zsh can do the bash styled tab completion. However, you can take it to the next level by using the zsh-autosuggestions plugin. It will suggest commands based on the Zsh command history and you can autocomplete the suggestion by pressing the Tab
key.
The final result looks like this:
Before you proceed to the how-to part, make sure you have installed Git in your system, and if not, here's how to install Git on Ubuntu:
sudo apt install git
In this tutorial, I will walk you through two ways you can enable auto-suggestion for tab completion in zsh:
- For Oh My Zsh users
- Manual installation
So let's start with the first one.
Method 1: For Oh My Zsh users
If you are already using Oh My Zsh, then enabling this feature is quite easy and can be done in two easy steps.
First, use the following command to download the auto-suggestions plugin from GitHub:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Now, open the zshrc file using the following command:
nano ~/.zshrc
In this config file, you'd have to find a line starting with plugins
and add zsh-autosuggestions
as shown here:
Finally, save changes and exit from the configuration file.
To take effect from the changes you've made, source the file using the following command:
source ~/.zshrc
That's it!
Method 2: Manual installation of zsh-autosuggestions
If you don't like to rely on Oh My Zsh to customize your zsh, then you can enable autosuggestion using manual installation.
For this, first, use the following command to clone the autosuggestion repo for the manual installation:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
Once done, open the zshrc file:
nano ~/.zshrc
Go to the end of the file in the nano editor by pressing Alt + /
and paste the following lines:
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
Finally, save changes and exit from the nano editor.
Source the zshrc file to enable the auto-suggestions right now:
source ~/.zshrc
That's all it takes to enable auto suggestions in zsh manually.
We are on a road of solving problems that every beginner zsh faces, so if you have any topic suggestion, feel free to drop a comment.