-
Notifications
You must be signed in to change notification settings - Fork 0
Usage Guide
A comprehensive guide to using your new dotfiles configuration effectively.
- Getting Started
- File Navigation with eza
- Fuzzy Finding with fzf
- Smart Navigation with zoxide
- Enhanced File Viewing with bat
- Git Workflow Enhancements
- Kitty Terminal Features
- Oh My Zsh Plugins
- Tips and Tricks
After installation, open a new terminal session. You should see your new Powerlevel10k prompt with:
- Current directory
- Git status (if in a git repository)
- Previous command status
- And more, depending on your configuration
All the standard commands work, but now with enhanced features!
# Navigate to a directory
cd ~/Documents
# Go back to previous directory
cd -
# Go up one directory
cd ..The eza tool is a modern replacement for ls with beautiful output and additional features.
lsWhat it shows:
- Files and directories with color coding
- Icons for file types
- Directories listed first
- Clean, organized output
llShows:
- File permissions
- Owner and group
- File size (human-readable)
- Last modified date
- Icons
Example output:
drwxr-xr-x user user 4.0 KB Oct 10 14:30 Documents
drwxr-xr-x user user 4.0 KB Oct 10 12:15 Pictures
.rw-r--r-- user user 1.2 KB Oct 10 09:00 README.md
laShows all files including hidden files (those starting with .)
llaCombines ll and la - detailed view including hidden files.
lSLists files sorted by size (largest first), useful for finding large files.
Example use case:
cd ~/Downloads
lS | head -10 # Show 10 largest filesltLists files sorted by modification time (newest first).
Example use case:
lt # Quickly see what you modified recentlylgShows git status for each file when in a git repository.
Example output:
.M file1.txt # Modified
N file2.txt # New/untracked
-- file3.txt # Unchanged
treeShows directory structure as a tree (2 levels deep by default).
Example output:
.
├── src
│ ├── main.js
│ └── utils.js
├── tests
│ └── test.js
└── README.md
treedShows only directories in tree format.
The fzf tool enables interactive fuzzy searching for files, directories, and more.
vfHow it works:
- Type
vfand press Enter - Start typing part of a filename
- Use arrow keys to navigate results
- Press Enter to open the selected file in Neovim
Example workflow:
vf
# Type: "readme"
# Results show: README.md, readme.txt, etc.
# Select and press Enter to editTip: Works recursively from current directory!
cdfHow it works:
- Shows all directories under current location
- Type to filter
- Select with Enter to cd into that directory
Example:
cd ~
cdf
# Type: "proj"
# Select "Projects/my-project"
# Now in ~/Projects/my-projectfhHow it works:
- Shows your command history
- Type to search
- Selected command is displayed (not executed)
Example:
fh
# Type: "git commit"
# See all your git commit commands
# Select one to see itTip: Use Ctrl+R in the shell for similar functionality (built into Oh My Zsh with fzf integration)
The zoxide tool learns from your navigation habits and lets you jump to frequently used directories.
zOpens an interactive menu of your most-used directories.
First-time use: Navigate to directories normally a few times:
cd ~/Documents
cd ~/Projects/website
cd ~/PicturesThen use zoxide:
z doc # Jumps to ~/Documents
z proj # Jumps to ~/Projects/website
z pic # Jumps to ~/PicturesFeatures:
- No need for full path
- Learns from frequency and recency
- Works with partial matches
jLike z, but after jumping, lists the directory contents with eza.
Example:
j proj
# Jumps to ~/Projects and shows:
# 📁 website
# 📁 dotfiles
# 📄 README.md-
Be specific: If multiple directories match, add more characters
z web # Might be ambiguous z websi # More specific → ~/Projects/website
-
Recent vs Frequent: zoxide balances both frequency and recency
-
View database: See all tracked directories:
zoxide query -l
The bat tool is like cat but with syntax highlighting and line numbers.
bat filename.jsFeatures:
- Syntax highlighting for many languages
- Line numbers
- Git integration (shows changes)
- Paging for long files
Example:
bat ~/.zshrc
# Shows your zsh config with:
# - Syntax highlighting
# - Line numbers
# - Beautiful formattingbats filename.txtNo styling or paging, useful when piping to other commands.
Example:
bats data.txt | grep "important"
bats config.json | jq '.settings'Compare files side by side:
bat file1.js file2.jsShow specific lines:
bat --line-range 10:20 large-file.txtDifferent themes:
bat --theme="Monokai Extended" file.jsList available themes:
bat --list-themesgbHow it works:
- Shows all your git branches
- Fuzzy search to find the one you want
- Press Enter to checkout that branch
Example:
cd my-git-repo
gb
# Type: "feat"
# Shows: feature/new-feature, feature/update, etc.
# Select and switch!Use lg to see git status alongside files:
cd my-git-repo
lg
# See which files are modified, new, or stagedKitty is configured with 4 separate clipboard buffers for power users.
| Action | Buffer A | Buffer B | Buffer C | Buffer D |
|---|---|---|---|---|
| Copy | F1 | F2 | F3 | F4 |
| Paste | Alt+F1 | Alt+F2 | Alt+F3 | Alt+F4 |
Scenario: You need to copy multiple snippets and paste them in different places.
-
Copy first snippet:
- Select text
- Press
F1
-
Copy second snippet:
- Select different text
- Press
F2
-
Paste first snippet:
- Move cursor to destination
- Press
Alt+F1
-
Paste second snippet:
- Move cursor to different location
- Press
Alt+F2
The default editor is Visual Studio Code. To open files:
kitty @ launch code filename.txtOr configure a different editor in kitty.conf:
editor nvim
The Blazer theme provides a comfortable dark color scheme:
- Deep blue-black background (#0d1925)
- Light blue-white foreground (#d9e5f1)
- Muted colors for reduced eye strain
Change themes: Browse themes at: https://github.com/dexpota/kitty-themes
This configuration includes several powerful Oh My Zsh plugins.
Provides many git aliases:
ga # git add
gc # git commit
gp # git push
gst # git status
gco # git checkout
gl # git pullSee all: alias | grep git
Press Esc twice to prefix the current or previous command with sudo.
Example:
apt update # Oops, forgot sudo
# Press Esc Esc
sudo apt update # Fixed!Use Up and Down arrows to search history based on what you've typed.
Example:
git # Type this
# Press Up arrow
# Cycles through: git commit, git push, git pull, etc.Search the web from terminal:
google "how to use zsh"
stackoverflow "bash scripting"
github "dotfiles"Makes manual pages colorful and easier to read:
man lsSuggests commands as you type based on history.
Usage:
- Start typing a command
- Gray text appears suggesting completion
- Press
→(right arrow) to accept - Press
Ctrl+→to accept one word
Highlights commands as you type:
- Green: Valid command
- Red: Invalid command
- Blue: Option/flag
Automatically sources .env files when entering directories.
Example:
Create .env in project directory:
export PROJECT_NAME="my-app"
export DEBUG=trueNavigate to directory:
cd ~/Projects/my-app
# Environment variables automatically loaded!-
Command chaining with aliases:
cd ~/Projects && ll
-
Combine tools:
bat $(fzf) # Fuzzy find and view with bat
-
Search and replace in history:
^old^new # Replaces 'old' with 'new' in last command -
Use tab completion:
cd Pro<Tab> # Completes to Projects/
-
Quick directory navigation:
cd - # Go to previous directory cd # Go to home directory
cd ~/dotfiles
vf # Fuzzy find the file you want to edit
# Make changes
source ~/.zshrc # Reload configurationz project-name # Jump to project
tree # See structure
ll # List files
bat README.md # Read documentationcd my-repo
gb # Switch to branch
lg # Check file statuscd ~/Downloads
lS | head -20 # Show 20 largest files-
Add your own aliases in
~/dotfiles/zsh/aliases.zsh -
Customize prompt with
p10k configure -
Change Kitty theme by editing
kitty.conf - Add shell functions for repeated tasks
Try these to get comfortable:
-
Exercise: File Navigation
cd ~ ls ll la tree
-
Exercise: Fuzzy Finding
vf # Find and edit a file cdf # Find and cd to a directory fh # Search your command history
-
Exercise: Zoxide Learning
cd ~/Documents cd ~/Downloads cd ~/Projects z doc # Try jumping j down # Jump and list
-
Exercise: Git Workflow
cd your-git-repo lg # Check status gb # Switch branch
-
Command help: Most commands support
--helpeza --help fzf --help bat --help
-
Man pages:
man zsh man git
-
Alias definitions:
alias ls # See what 'ls' is aliased to alias # See all aliases
Next: Check out Advanced Features for even more power user tips!