Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save n1snt/454b879b8f0b7995740ae04c5fb5b7df to your computer and use it in GitHub Desktop.

Select an option

Save n1snt/454b879b8f0b7995740ae04c5fb5b7df to your computer and use it in GitHub Desktop.
Oh my ZSH with zsh-autosuggestions zsh-syntax-highlighting zsh-fast-syntax-highlighting and zsh-autocomplete.md

Oh my zsh.

Oh My Zsh

Install ZSH.

sudo apt install zsh-autosuggestions zsh-syntax-highlighting zsh

Install Oh my ZSH.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Install plugins.

  • autosuggesions plugin

    git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

  • zsh-syntax-highlighting plugin

    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

  • zsh-fast-syntax-highlighting plugin

    git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting

  • zsh-autocomplete plugin

    git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $ZSH_CUSTOM/plugins/zsh-autocomplete

Enable plugins by adding them to .zshrc.

  • Open .zshrc

    nvim ~/.zshrc

  • Find the line which says plugins=(git).

  • Replace that line with plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete)

References

@GiaKhangLuu
Copy link

Words cannot describe my gratitude!!!

@Tjkent88
Copy link

great write up and plugin combination, thanks!

@evsar3
Copy link

evsar3 commented Jun 19, 2025

🔥

@yaozzzhao
Copy link

I asked AI to write a script for me to do the tricks above. :) It works well in my environment.

#!/bin/bash

# install ZSH and related packages
echo "Installing ZSH and related packages..."
sudo apt install zsh-autosuggestions zsh-syntax-highlighting zsh -y

# Install Oh My ZSH
echo "Installing Oh My ZSH..."
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended

# Install plugins
echo "Installing ZSH plugins..."

# autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# fast-syntax-highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting

# autocomplete
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autocomplete

# Change .zshrc file
echo "Configuring .zshrc..."
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete)/' ~/.zshrc

# switch to zsh as default shell
echo "Changing default shell to ZSH..."
chsh -s $(which zsh)

echo "Installation completed! Please restart your terminal or run 'source ~/.zshrc' to apply changes."

@marlonrichert
Copy link

@jacob-fm

is there an easy way to disable that?

Not at the moment, but feel free to submit a pull request. It's not hard to implement. You'll need to change only a small part of the code

@sPalmiro
Copy link

I should have listened to "Do we want to mix all of those? Aren't some of them competing?"... zsh-autocomplete won't play ball with fast-syntax-highlighting. Many thanks for the gist.

@vanduc2708
Copy link

Thanks for your help!

@AhmedEzzat12
Copy link

Have you found solution for that semicolo issue? @jacob-fm @PhilipLutley

@chojuninengu
Copy link

@yaozzzhao that your script is great, thanks for the simplification, it's same thing i had in mind

@gkonuralp
Copy link

Thank you!

@LucasSaDito
Copy link

Thank you!

@martiam
Copy link

martiam commented Aug 14, 2025

I should have listened to "Do we want to mix all of those? Aren't some of them competing?"... zsh-autocomplete won't play ball with fast-syntax-highlighting. Many thanks for the gist.

But what about zsh-syntax-highlighting and zsh-fast-syntax-highlighting? Do those two compete?

@mheryerznkanyan
Copy link

Works for me thank you

@adiprnm
Copy link

adiprnm commented Sep 4, 2025

Thank you so much!

@afonso-rodrigues-azos
Copy link

Tks

@chojuninengu
Copy link

Great right

@cheack
Copy link

cheack commented Nov 16, 2025

Awesome! Thanks!

@pratap-coder-dev
Copy link

Great ! Bookmarking it !

@chojuninengu
Copy link

Nice

@baslia
Copy link

baslia commented Dec 18, 2025

This is awesome, thank you!

@z44d
Copy link

z44d commented Dec 23, 2025

i have used this configurations on my all devices and every time i get new device or install new linux distro i gets back to here, thanks!

@Navelogic
Copy link

Nice!

@FortanPireva
Copy link

Awesome configurations, thanks!

@appausa
Copy link

appausa commented Jan 15, 2026

Esta muy buena pero yo lo voy a intalar en Linux From Scratch

@blu14x
Copy link

blu14x commented Jan 22, 2026

But what about zsh-syntax-highlighting and zsh-fast-syntax-highlighting? Do those two compete?

makes no sense to use both. i use fast-syntax-highlighting

@Kenengmathias
Copy link

Thanks man

@Nemo4110
Copy link

Thanks broooooo

@iamsurajdev
Copy link

This is GOAT

@iwansal64
Copy link

I asked AI to write a script for me to do the tricks above. :) It works well in my environment.

#!/bin/bash

# install ZSH and related packages
echo "Installing ZSH and related packages..."
sudo apt install zsh-autosuggestions zsh-syntax-highlighting zsh -y

# Install Oh My ZSH
echo "Installing Oh My ZSH..."
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended

# Install plugins
echo "Installing ZSH plugins..."

# autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# fast-syntax-highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting

# autocomplete
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autocomplete

# Change .zshrc file
echo "Configuring .zshrc..."
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete)/' ~/.zshrc

# switch to zsh as default shell
echo "Changing default shell to ZSH..."
chsh -s $(which zsh)

echo "Installation completed! Please restart your terminal or run 'source ~/.zshrc' to apply changes."

Yoo, thanks a lot dude! It makes it even faster XD

@scardracs
Copy link

I asked AI to write a script for me to do the tricks above. :) It works well in my environment.

#!/bin/bash

# install ZSH and related packages
echo "Installing ZSH and related packages..."
sudo apt install zsh-autosuggestions zsh-syntax-highlighting zsh -y

# Install Oh My ZSH
echo "Installing Oh My ZSH..."
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended

# Install plugins
echo "Installing ZSH plugins..."

# autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# fast-syntax-highlighting
git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting

# autocomplete
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autocomplete

# Change .zshrc file
echo "Configuring .zshrc..."
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete)/' ~/.zshrc

# switch to zsh as default shell
echo "Changing default shell to ZSH..."
chsh -s $(which zsh)

echo "Installation completed! Please restart your terminal or run 'source ~/.zshrc' to apply changes."

cURL is not installed by default on Ubuntu. You may want to add it on the installation process

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment