You’ve successfully installed Gentleman.Dots! This guide will help you start using your new development setup effectively. We’ll cover the essential workflows and shortcuts to make you productive immediately.
This guide assumes you’ve completed the installation. If not, go back and set up your environment first.
The prefix key is Ctrl+a (customized from the default Ctrl+b).
Action
Keybinding
Prefix
Ctrl+a
New window
Prefix + c
Next window
Prefix + n
Previous window
Prefix + p
Split horizontal
Prefix + |
Split vertical
Prefix + -
Navigate panes
Prefix + arrow keys
Resize pane
Prefix + Ctrl+arrow
Detach session
Prefix + d
List sessions
Prefix + s
Install plugins
Prefix + I (capital i)
Reload config
Prefix + r
Seamless Vim/Neovim navigation: Use Ctrl+h/j/k/l to move between tmux panes and Neovim splits without thinking about boundaries!
Common workflows:
# Create a new sessiontmux new -s myproject# Attach to existing sessiontmux attach -t myproject# List all sessionstmux ls# Kill a sessiontmux kill-session -t myproject
Zellij uses modes similar to Vim:
Mode
Enter
Exit
Normal
Esc or Ctrl+g
-
Pane
Ctrl+p
Esc
Tab
Ctrl+t
Esc
Resize
Ctrl+n
Esc
Move
Ctrl+h
Esc
Scroll
Ctrl+s
Esc
Session
Ctrl+o
Esc
Common actions:
Action
Keybinding
New pane (right)
Ctrl+p then n
New pane (down)
Ctrl+p then d
New tab
Ctrl+t then n
Navigate panes
Alt+arrow keys
Rename tab
Ctrl+t then r
Close pane
Ctrl+p then x
Detach
Ctrl+o then d
Zellij shows available keybindings at the bottom of the screen based on your current mode!
On first launch, Lazy.nvim will install all plugins automatically. This takes 1-2 minutes.
You may see some error messages on the very first launch - this is normal. Just press Enter to dismiss them, wait for plugins to finish installing, then quit (:q) and reopen Neovim.
2
Verify plugins loaded
Once inside Neovim:
:Lazy
This opens the Lazy.nvim plugin manager. You should see all plugins with green checkmarks.Press q to close the Lazy window.
3
Try basic navigation
Neovim uses Vim keybindings:
Key
Action
h/j/k/l
Left/Down/Up/Right
i
Enter insert mode
Esc
Return to normal mode
:w
Save file
:q
Quit
:wq
Save and quit
If you’re new to Vim, run :Tutor inside Neovim for an interactive tutorial, or try the vim-be-good plugin (included) to practice: :VimBeGood
The Gentleman.Dots Neovim config uses Space as the leader key.
File Navigation
Keybinding
Action
Space + Space
Find files (fzf-lua)
Space + f
File explorer (Oil.nvim)
Space + /
Search in files (grep)
Space + b
List buffers
Space + r
Recent files
Ctrl+h/j/k/l
Navigate between splits
Oil.nvim tips:
Edit file paths like text, then press Enter to apply changes
- to go up a directory
g? to see all keybindings
LSP & Code Intelligence
Keybinding
Action
gd
Go to definition
gr
Show references
K
Hover documentation
Space + ca
Code actions
Space + rn
Rename symbol
[d / ]d
Previous/next diagnostic
Space + e
Show diagnostics
Auto-completion:
Start typing, suggestions appear automatically
Tab / Shift+Tab to navigate suggestions
Enter to accept
Powered by blink.cmp
AI Assistant (OpenCode)
The Gentleman agent is enabled by default in OpenCode.nvim.
Keybinding
Action
Space + a
Open AI assistant
Space + ac
AI chat
Space + ae
Explain code
Space + ar
Refactor selection
Or use OpenCode CLI:
# From terminalopencode# Select Gentleman agent/agent# Choose: gentleman# Chat with the agent> How do I implement authentication in Express?
The Gentleman agent is designed to challenge your assumptions and propose alternatives. Don’t be surprised if it asks you to verify something or suggests a different approach!
Git Integration (LazyGit)
Keybinding
Action
Space + gg
Open LazyGit
Inside LazyGit:
Space to stage/unstage
c to commit
P to push
p to pull
? for help
q to quit
Window & Tab Management
Keybinding
Action
Space + w + v
Split vertically
Space + w + s
Split horizontally
Space + w + c
Close window
Space + w + o
Close other windows
Ctrl+w =
Equal window sizes
Space + tab + n
New tab
Space + tab + c
Close tab
gt / gT
Next/previous tab
Search & Replace
Keybinding
Action
/pattern
Search forward
?pattern
Search backward
n / N
Next/previous match
*
Search word under cursor
:%s/old/new/g
Replace in file
:%s/old/new/gc
Replace with confirmation
Which-Key Helper
Press Space and wait 1 second - which-key will show all available keybindings!This is invaluable for discovering features. Try:
Change any color or module format, then restart your shell.
Edit ~/.config/nvim/lua/plugins/colorscheme.lua:
-- Current theme is Kanagawa-inspired-- You can switch to another installed theme:return { { "rebelot/kanagawa.nvim", lazy = false, priority = 1000, config = function() require("kanagawa").setup({ -- customize here }) vim.cmd("colorscheme kanagawa") end, },}
# ~/.config/alacritty/alacritty.toml# Gentleman colors are defined in [colors] section
# Morning: Attach to yesterday's sessiontmux attach -t my-project# or: zellij attach my-project# All your windows/tabs are exactly as you left them!# Neovim still has your buffers open# Server might still be running# Git status ready to view# End of day: Just close terminal# Session persists, ready for tomorrow# Or explicitly detach:# Tmux: Prefix + d# Zellij: Ctrl+o then d
# Open LazyGit in Neovim# Press: Space + gg# Or from terminal:lazygit# Navigate commits with j/k# Press Enter on a commit to see changes# Press Space to stage/unstage files# Press c to commit# Press P to push
Tmux sessions persist even when you close your terminal:
# Create named sessiontmux new -s work# Detach (Prefix + d)# Close terminal completely# Open terminal later# List sessionstmux ls# Reattachtmux attach -t work# Everything is exactly as you left it!
Zellij works similarly:
zellij -s work# Detach: Ctrl+o then d# Later: zellij attach work
Speed Up Your Workflow
Use zoxide for smart navigation:
# After visiting directories a few times:z proj # jumps to ~/projects/my-projectz doc # jumps to ~/Documentsz conf # jumps to ~/.config# See matches:z -l proj
Use fzf for history:
# Press Ctrl+r, start typing# Fuzzy search through all past commands# Even commands from days ago!
Use eza aliases (if configured):
ll # alias for: eza -lla # alias for: eza -lalt # alias for: eza -T (tree view)
Learn Neovim Gradually
Don’t try to learn everything at once:Week 1: Basic editing
i to insert, Esc to normal mode
h/j/k/l for movement
:w to save, :q to quit
Week 2: Navigation
w/b to move by word
0/$ to start/end of line
gg/G to start/end of file
Space + Space to find files
Week 3: Editing power moves
d to delete, y to yank (copy), p to paste
dd delete line, yy yank line
ciw change inner word
di( delete inside parentheses
Week 4: LSP & AI
gd go to definition
K hover docs
Space + ca code actions
Space + a AI assistant
Use :VimBeGood (included plugin) to practice!
Working with Multiple Projects
Create a tmux/zellij session per project:
# Project 1tmux new -s frontendcd ~/projects/frontendnvim# Detach: Prefix + d# Project 2tmux new -s backendcd ~/projects/backendnvim# Detach: Prefix + d# Switch between sessions:# Prefix + s (shows list)# Or from terminal:tmux attach -t frontendtmux attach -t backend
Update Your Dotfiles
To get the latest changes from Gentleman.Dots:
# Clone the repocd ~/tmpgit clone https://github.com/Gentleman-Programming/Gentleman.Dots.gitcd Gentleman.Dots# Copy updated configscp -r GentlemanNvim/nvim/* ~/.config/nvim/cp starship.toml ~/.config/# etc.# Or re-run the installer to update everything
" Inside Neovim::Lazy sync" Wait for all plugins to install/update" Check for errors::Lazy log" Check health::checkhealth
LSP not working
" Check if language server is installed::Mason" Install your language server (e.g., typescript-language-server)" Check LSP status::LspInfo" Restart LSP::LspRestart
Icons not showing (boxes or �)
The Nerd Font isn’t active in your terminal:
Verify font is installed:
fc-list | grep Iosevka # Linux
Set font in terminal config:
Alacritty: Edit font.normal.family in alacritty.toml
Some may require API keys. Check each tool’s documentation.
Tmux prefix not working
If Ctrl+a doesn’t work as prefix:
Check config:
cat ~/.tmux.conf | grep prefix# Should show: set -g prefix C-a
Reload config:
tmux source-file ~/.tmux.conf
If still using Ctrl+b, the config wasn’t loaded. Try:
# Inside tmux:Ctrl+b :source-file ~/.tmux.conf
Zoxide not finding directories
Zoxide learns over time. Use directories normally with cd first:
# Visit directories a few timescd ~/projects/my-appcd ~/Documentscd ~/.config# Now zoxide knows them:z app # jumps to ~/projects/my-appz doc # jumps to ~/Documentsz conf # jumps to ~/.config
Pro tip: The best way to learn is by doing. Start a real project and discover features as you need them. The which-key plugin (press Space and wait) will guide you along the way!
Remember: The Gentleman agent is there to challenge and improve your thinking, not just to agree with you. Embrace the constructive feedback!