- Zsh Installation
 - Introduction
 - Basic Navigation
 - File and Directory Management
 - Day-to-Day Utilities
 - Searches
 - Pipes and Redirections
 - Essential Keyboard Shortcuts
 - Text Editors
 - The Power of Zsh and Oh My Zsh
 - Oh My Zsh Plugins
 - Useful Aliases
 - Yazi - Terminal File Browser
 - Antidote - Zsh Plugin Manager
 - Powerlevel10k Customization
 
π¦ Zsh Installation β₯
To get started with the content of this repository, you'll need to install zsh and set it as your default shell.
Depending on your Linux distribution, the command to install zsh will vary. It can usually be found natively in various package managers.
sudo apt update && sudo apt install zshsudo dnf install zshsudo pacman -S zshsudo zypper install zshAfter installing zsh, you can set it as your default shell by running the following command:
chsh -s $(which zsh)Finally, for zsh to be applied correctly, you will need to log out (and log back in) or simply restart your system.
π Introduction β₯
When we start our terminal, we will see a unique prompt:
user_name@pc_name ~
user_name@pc_name: This is the user@hostname~: This is the current directory. The~symbol (called a "tilde") is a shortcut for your home folder (/home/user/).
Note: Using Powerlevel10k, you will see a visual indicator (β or β) that shows whether the last command was successful or failed.
π Basic Navigation β₯
Lists the content of the current directory.
Useful options:
ls -l: Shows a detailed list (permissions, owner, size, date).ls -a: Shows all files, including hidden ones (those starting with .).ls -h: Used with-l, shows the size in a human-readable format (KB, MB, GB).ls --color: Displays the output with colors, differentiating folders from files.
Oh My Zsh Shortcuts:
alias ll='ls -l'
alias l='ls -CF'
alias la='ls -A'cd Downloads: Go to the Downloads foldercdorcd ~: Return to your home foldercd -: Return to the previous directorycd ..: Go up one levelcd ../..: Go up two levels
Tip: Type
cd Doand pressTab. Zsh will autocomplete toDownloads/for you.
Shows the full path of the current directory.
pwd
# Output: /home/userπ File and Directory Management β₯
Create a simple directory:
mkdir ProjectsCreate nested directories:
mkdir -p Projects/2025/Webtouch note.txt
touch app.pyCopy a file:
cp file.txt Documents/Copy and rename:
cp file.txt file_copy.txtCopy directories (use -r for recursive):
cp -r directory/ directory_copy/Rename a file:
mv old.txt new.txtMove a file:
mv document.txt Documents/Move and rename:
mv file.txt Documents/new_name.txt
β οΈ Warning! Deleted files do not go to the trash.
Delete a file:
rm file.txtDelete an empty directory:
rmdir empty_directory/Delete a directory with content (Use with caution!):
rm -r directory_with_content/π οΈ Day-to-Day Utilities β₯
sudo commandUpdate package list:
sudo apt updateUpgrade the system:
sudo apt upgradeInstall software:
sudo apt install package_nameRemove software:
sudo apt remove package_nameπ Searches β₯
Find .conf files:
find . -name "*.conf"Find files modified in the last 7 days:
find /path -mtime -7Search for "error" in .log files:
grep "error" *.logRecursive search:
grep -r "word" /directory/π Pipes and Redirections β₯
Pipe (|): Connect commands
ps aux | grep firefoxRedirection (>): Save output to a file
ls -l > file_list.txtAppend to the end of a file (>>)
echo "new line" >> file.txtβ¨οΈ Essential Keyboard Shortcuts β₯
Ctrl + C: Cancel the current commandCtrl + D: Close the terminalCtrl + L: Clear the screenCtrl + A: Go to the beginning of the lineCtrl + E: Go to the end of the lineCtrl + U: Delete up to the beginning of the lineCtrl + K: Delete up to the end of the lineCtrl + W: Delete the previous wordCtrl + R: Search in history
π Text Editors β₯
nano file.txtBasic commands:
Ctrl + O: SaveCtrl + X: ExitCtrl + K: Cut lineCtrl + U: Paste
nvim file.confMain modes:
- 
Normal Mode (on open): For navigation
h,j,k,l: Move (left, down, up, right)i: Enter Insert modev: Visual mode to select text
 - 
Insert Mode (i): For writing text
Esc: Return to Normal mode
 - 
Commands (from Normal mode, press
:)::w: Save:q: Quit:wq: Save and quit:q!: Force quit without saving
 
β‘ The Power of Zsh and Oh My Zsh β₯
- Paths: 
cd /v/l+Tabβcd /var/log - Commands: 
git ch+Tabβ Shows options likecheckout,cherry-pick - Packages: 
apt install+Tabβ Lists available packages 
Ctrl + R: Searches through command history- Up/Down arrows: Navigate through recent commands
 
π Oh My Zsh Plugins β₯
Edit ~/.zshrc to enable plugins:
plugins=(
  git
  z
  colored-man-pages
  sudo
  wd
)Recommended plugins:
- git: Shortcuts like 
gaaforgit add --all - z: Fast navigation between frequent directories
 - colored-man-pages: Manuals in color
 - wd: Directory bookmarks
 
π οΈ Useful Aliases β₯
Add this to your ~/.zshrc. You can go to the Antidote section and follow the tutorial for better management and organization of your ~/.zshrc:
# System update
alias update="sudo apt update && sudo apt upgrade -y && flatpak update"
# Common shortcuts
alias cls="clear"
alias fsh="fastfetch"
alias nsh="neofetch"
# Spanish commands
alias salir="exit"
alias ir="cd"
alias cds="yazi"  # File managerReload the configuration:
source ~/.zshrcπ Yazi - Terminal File Browser β₯
Yazi is a fast and powerful file manager written in Rust, designed for efficient use in the terminal.
sudo pacman -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagicksudo apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagickcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shrustup updategit clone https://github.com/sxyazi/yazi.gitcd yazicargo build --release --lockedsudo mv target/release/yazi target/release/ya /usr/local/bin/Start Yazi:
yaziNavigation:
h/β: Previous directoryl/β: Enter directoryj/β: Move down the listk/β: Move up the listq: Quita: Create a file or directory (must end with/to create a directory)d: Delete a file or directory (sent to the clipboard/trash)D: Permanently delete a file or directoryy: Copy a file or directoryY: Stop copying the most recent file or directoryx: Cut a file or directoryX: Stop cutting the most recent file or directoryp: Paste a file or directory (works with bothyandx)
π§ͺ Antidote - Zsh Plugin Manager β₯
Antidote is the cure for slow Zsh plugin management.
git clone --depth=1 https://github.com/mattmc3/antidote.git ${ZDOTDIR:-$HOME}/.antidote- 
Create the necessary files:
touch ~/.zsh_plugins.txt mkdir -p ~/.zshrc.d/ touch ~/.zshrc.d/aliases.zsh touch ~/.zshrc.d/keybindings.zsh touch ~/.zshrc.d/options.zsh touch ~/.zshrc.d/functions.zsh
 - 
Add plugins to
~/.zsh_plugins.txt:zsh-users/zsh-autosuggestions zsh-users/zsh-syntax-highlighting
- Or add the carefully curated plugins from this repository to your 
~/.zsh_plugins.txtfile. 
 - Or add the carefully curated plugins from this repository to your 
 - 
Add the following code to your
~/.zshrcfile:source ${ZDOTDIR:-$HOME}/.antidote/antidote.zsh antidote load
- Or add the out-of-the-box customized code from this repository to your 
~/.zshrcfile. 
 - Or add the out-of-the-box customized code from this repository to your 
 - 
Configure your aliases and keybindings:
Copy alias configuration:
cp zshrc.d/aliases.zsh ~/.zshrc.d/Copy keybinding configuration:
cp zshrc.d/keybindings.zsh ~/.zshrc.d/Edit the aliases file with your favorite editor:
To edit with nano:
nano ~/.zshrc.d/aliases.zshCustomize the keybindings according to your preferences:
To edit with nano:
nano ~/.zshrc.d/keybindings.zshπ‘ Tip: The configuration files include commented-out examples that you can uncomment or modify as needed.
 - 
Reload the configuration:
exit - 
Open another terminal and enjoy your new, fast Zsh experience!
 
π¨ Powerlevel10k Customization β₯
After installing Oh My Zsh or Antidote with the Powerlevel10k theme, run the following command (in case the Powerlevel10k configuration wizard did not start automatically):
p10k configureFollow the wizard to customize your prompt. How about that? Easy, right?