Ghostty + Zoxide + Yazi + Oh-My-Zsh ๅฎๆด้ ็ฝฎ
- Ghostty - ็ฐไปฃๅ GPU ๅ ้็ป็ซฏๆจกๆๅจ
- Zoxide - ๆบ่ฝ็ฎๅฝ่ทณ่ฝฌๅทฅๅ ท๏ผcd ็ๆบ่ฝๆฟไปฃ๏ผ
- Yazi - ๅฟซ้็ป็ซฏๆไปถ็ฎก็ๅจ
- Oh-My-Zsh - Zsh ้ ็ฝฎๆกๆถ
ไฝ็ฝฎ: ~/.config/ghostty/config
# ============================================
# Ghostty Terminal - Complete Configuration
# ============================================
# --- Typography ---
font-family = "Maple Mono NF CN"
font-size = 15
font-thicken = true
adjust-cell-height = 6
# --- Theme and Colors ---
theme = Kanagawa Wave
# --- Window and Appearance ---
background-opacity = 1
macos-titlebar-style = transparent
window-padding-x = 14
window-padding-y = 10
window-save-state = never
window-width = 80
window-height = 24
window-theme = auto
# --- Cursor ---
cursor-style = bar
cursor-style-blink = true
# --- Mouse ---
mouse-hide-while-typing = true
copy-on-select = clipboard
# --- Quick Terminal (Quake-style dropdown) ---
quick-terminal-position = top
quick-terminal-screen = mouse
quick-terminal-autohide = true
quick-terminal-animation-duration = 0.15
# --- Close behavior ---
confirm-close-surface = false
# --- Security ---
clipboard-paste-protection = true
clipboard-paste-bracketed-safe = true
# --- Shell Integration ---
shell-integration = detect
shell-integration-features = cursor,sudo,no-title,ssh-env,ssh-terminfo,path
# --- Keybindings ---
# Tabs
keybind = cmd+t=new_tab
keybind = cmd+shift+left=previous_tab
keybind = cmd+shift+right=next_tab
keybind = cmd+w=close_surface
# Splits
keybind = cmd+d=new_split:right
keybind = cmd+shift+d=new_split:down
keybind = cmd+alt+left=goto_split:left
keybind = cmd+alt+right=goto_split:right
keybind = cmd+alt+up=goto_split:top
keybind = cmd+alt+down=goto_split:bottom
# Font size
keybind = cmd+plus=increase_font_size:1
keybind = cmd+minus=decrease_font_size:1
keybind = cmd+zero=reset_font_size
# Quick terminal global hotkey
keybind = global:ctrl+grave_accent=toggle_quick_terminal
# Splits management
keybind = cmd+shift+e=equalize_splits
keybind = cmd+shift+f=toggle_split_zoom
# Reload config
keybind = cmd+shift+comma=reload_config
# --- Performance ---
scrollback-limit = 25000000ไฝ็ฝฎ: ~/.config/yazi/yazi.toml
[mgr]
ratio = [1, 2, 5]
sort_by = "natural"
sort_sensitive = false
sort_reverse = false
sort_dir_first = true
linemode = "size"
show_hidden = false
show_symlink = true
scrolloff = 5
mouse_events = ["click", "scroll"]
title_format = "Yazi: {cwd}"
[preview]
max_width = 600
max_height = 900
image_filter = "lanczos3"
image_quality = 75
[opener]
edit = [
{ run = 'code %s', desc = "VSCode", for = "unix" },
]
open = [
{ run = 'open %s', desc = "Open", for = "macos" },
]
reveal = [
{ run = 'open -R %1', desc = "Reveal in Finder", for = "macos" },
]
[open]
prepend_rules = [
{ mime = "text/*", use = ["edit", "open", "reveal"] },
{ mime = "application/json", use = ["edit", "open", "reveal"] },
{ mime = "*/javascript", use = ["edit", "open", "reveal"] },
{ mime = "*/typescript", use = ["edit", "open", "reveal"] },
{ mime = "*/x-yaml", use = ["edit", "open", "reveal"] },
]
[tasks]
micro_workers = 10
macro_workers = 25
bizarre_retry = 5
[plugin]
prepend_fetchers = [
{ id = "git", url = "*", run = "git", prio = "normal", group = "git" },
]ไฝ็ฝฎ: ~/.config/yazi/keymap.toml
[[manager.prepend_keymap]]
on = ["g", "h"]
run = "cd ~"
desc = "Go to home directory"
[[manager.prepend_keymap]]
on = ["g", "c"]
run = "cd ~/.config"
desc = "Go to config directory"
[[manager.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "Go to downloads"
[[manager.prepend_keymap]]
on = ["g", "w"]
run = "cd ~/work"
desc = "Go to work directory"
[[manager.prepend_keymap]]
on = ["g", "D"]
run = "cd ~/Desktop"
desc = "Go to desktop"
[[manager.prepend_keymap]]
on = ["g", "t"]
run = "cd /tmp"
desc = "Go to tmp"ไฝ็ฝฎ: ~/.config/yazi/theme.toml
# Theme: Tokyo Night inspired theme - works well with most terminal color schemes
[mode]
normal_main = { fg = "black", bg = "blue", bold = true }
normal_alt = { fg = "blue", bg = "reset", bold = true }
select_main = { fg = "black", bg = "green", bold = true }
select_alt = { fg = "green", bg = "reset", bold = true }
unset_main = { fg = "black", bg = "red", bold = true }
unset_alt = { fg = "red", bg = "reset", bold = true }
[status]
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
overall = { fg = "reset", bg = "reset" }
[filetype]
rules = [
# Media
{ mime = "image/*", fg = "magenta" },
{ mime = "video/*", fg = "yellow" },
{ mime = "audio/*", fg = "yellow" },
# Archives
{ mime = "application/zip", fg = "red" },
{ mime = "application/gzip", fg = "red" },
{ mime = "application/x-tar", fg = "red" },
{ mime = "application/x-bzip2", fg = "red" },
{ mime = "application/x-7z-compressed", fg = "red" },
{ mime = "application/x-rar", fg = "red" },
{ mime = "application/x-xz", fg = "red" },
# Documents
{ mime = "application/pdf", fg = "cyan" },
{ mime = "application/*doc*", fg = "green" },
{ mime = "application/*sheet*", fg = "green" },
{ mime = "application/*presentation*", fg = "green" },
# Fallback
{ name = "*", fg = "reset" },
{ name = "*/", fg = "blue", bold = true },
]ไฝ็ฝฎ: ~/.zshrc
# =================== Oh-My-Zsh ้
็ฝฎ ===================
export ZSH="$HOME/.oh-my-zsh"
# ไธป้ข่ฎพ็ฝฎ
ZSH_THEME="agnoster"
# ็ฆ็จ่ชๅจๆดๆฐ
DISABLE_AUTO_UPDATE="true"
# ๆไปถ้
็ฝฎ
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
)
source $ZSH/oh-my-zsh.sh
# =================== ็ฏๅขๅ้้
็ฝฎ ===================
export LANG=en_US.UTF-8
# ่ชๅจๅปบ่ฎฎ้ซไบฎๆ ทๅผ
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=fg=30
# ้่ agnoster ไธป้ขไธญ็็จๆทๅ@ไธปๆบๅ
DEFAULT_USER="your_username"
# =================== Ghostty ๆ ้ข่ฎพ็ฝฎไธบๅฝๅ็ฎๅฝ ===================
if [[ -n "${GHOSTTY_RESOURCES_DIR:-}" ]]; then
ghostty_set_title() {
# ๅฐ HOME ๆฟๆขไธบ ~๏ผไฟๆๆ ้ขๆด็ญ
local dir="${PWD/#$HOME/~}"
# Ghostty ๆฏๆ OSC 2 ่ฎพ็ฝฎ็ชๅฃๆ ้ข
printf '\033]2;%s\033\\' "$dir"
}
autoload -Uz add-zsh-hook
add-zsh-hook chpwd ghostty_set_title
add-zsh-hook precmd ghostty_set_title
add-zsh-hook preexec ghostty_set_title
ghostty_set_title
fi
# =================== Yazi ๆไปถ็ฎก็ๅจ ===================
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
# =================== Zoxide ๆบ่ฝ็ฎๅฝ่ทณ่ฝฌ ===================
eval "$(zoxide init zsh)"# macOS (Homebrew)
brew install ghostty
brew install zoxide
brew install yazi
brew install ffmpegthumbnailer # Yazi ่ง้ข้ข่ง
brew install poppler # Yazi PDF ้ข่ง
# Oh-My-Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Zsh ๆไปถ
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions# ๅๅปบ้
็ฝฎ็ฎๅฝ
mkdir -p ~/.config/ghostty
mkdir -p ~/.config/yazi
# ๅคๅถ้
็ฝฎๆไปถ๏ผๆ นๆฎไธ้ข็้
็ฝฎๅ
ๅฎนๅๅปบ๏ผ
# Ghostty: ~/.config/ghostty/config
# Yazi: ~/.config/yazi/{yazi.toml,keymap.toml,theme.toml}
# Zsh: ~/.zshrc# ้ๆฐๅ ่ฝฝ Zsh ้
็ฝฎ
source ~/.zshrc
# Ghostty ้
็ฝฎไผๅจ้ๅฏ็ป็ซฏๅ็ๆ
# ๆไฝฟ็จๅฟซๆท้ฎ Cmd+Shift+, ้ๆฐๅ ่ฝฝz work # ่ทณ่ฝฌๅฐๅ
ๅซ "work" ็็ฎๅฝ
z foo bar # ่ทณ่ฝฌๅฐๅๆถๅ
ๅซ "foo" ๅ "bar" ็็ฎๅฝ
zi work # ไบคไบๅผ้ๆฉ๏ผๅฆๆๆๅคไธชๅน้
๏ผy # ๅฏๅจ Yazi๏ผ้ๅบๅไผ cd ๅฐๅฝๅ็ฎๅฝ๏ผ
# ๅฟซๆท้ฎ๏ผๅจ Yazi ไธญ๏ผ
gh # ่ทณ่ฝฌๅฐ home ็ฎๅฝ
gc # ่ทณ่ฝฌๅฐ .config ็ฎๅฝ
gd # ่ทณ่ฝฌๅฐ Downloads ็ฎๅฝ
gw # ่ทณ่ฝฌๅฐ work ็ฎๅฝ
gD # ่ทณ่ฝฌๅฐ Desktop ็ฎๅฝ
gt # ่ทณ่ฝฌๅฐ /tmp ็ฎๅฝCmd+T # ๆฐๅปบๆ ็ญพ้กต
Cmd+D # ๅ็ดๅๅฑ
Cmd+Shift+D # ๆฐดๅนณๅๅฑ
Ctrl+` # ๅ
จๅฑๅฟซ้็ป็ซฏ๏ผQuake ๆจกๅผ๏ผ
Cmd+Shift+, # ้ๆฐๅ ่ฝฝ้
็ฝฎ- Kanagawa Wave๏ผๅฝๅไฝฟ็จ๏ผ
- Tokyo Night
- Catppuccin
- Nord
- Dracula
ๆฅ็ๆๆไธป้ข๏ผghostty +list-themes
- Maple Mono NF CN๏ผๅฝๅไฝฟ็จ๏ผ
- JetBrains Mono Nerd Font
- Fira Code Nerd Font
- Cascadia Code Nerd Font
- Nerd Font: Yazi ๅ Oh-My-Zsh ไธป้ข้่ฆ Nerd Font ๆ่ฝๆญฃ็กฎๆพ็คบๅพๆ
- Shell Integration: Ghostty ็ shell integration ๅ่ฝ้่ฆๅจ้ ็ฝฎไธญๅฏ็จ
- Zoxide: ้่ฆไฝฟ็จไธๆฎตๆถ้ดๅๆ่ฝๅปบ็ซ็ฎๅฝ่ฎฟ้ฎๅๅฒ
- Yazi ้ข่ง: ้่ฆๅฎ่ฃ ้ขๅค็ๅทฅๅ ท๏ผffmpegthumbnailer, poppler๏ผๆ่ฝ้ข่ง่ง้ขๅ PDF
- Yazi 26.x:
fetchersไฝฟ็จidใurlๅgroupๅญๆฎต๏ผtheme.toml้กถ้จ่ฏดๆ่ก็#ๅฟ ้กปไฟ็
ไฝ่ : lengleng ๆดๆฐๆถ้ด: 2026-06-10
้ฝๆฏๆฌๅฐ็็ป็ซฏ ๏ผ ไฝ ็ดๆฅๆๅฝๅ็gist ้พๆฅๆ็ป claude code ่ฎฉๅฎ่ชๅจๅ่่ฟไธชๆๆกฃๅป้ ็ฝฎๅฎ่ฃ ๅฐฑ่กไบ