From d42017c6d2e5d73801344176cdcdd2d4c6caf211 Mon Sep 17 00:00:00 2001 From: wenyongda Date: Mon, 11 May 2026 22:51:50 +0800 Subject: [PATCH] docs(macOS): add starship, fnm, ghostty config and nvm uninstall guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充了starship终端美化工具的安装配置、fnm node版本管理器教程、ghostty终端配置,以及nvm的完整卸载步骤 --- source/_posts/macOS.md | 480 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 480 insertions(+) diff --git a/source/_posts/macOS.md b/source/_posts/macOS.md index 8c4602b..64d2e9f 100644 --- a/source/_posts/macOS.md +++ b/source/_posts/macOS.md @@ -86,6 +86,355 @@ sh -c "$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh 剩余安装过程跟 `Linux`中的保持一致。 +## starship + +### 安装 + +使用 homebrew 安装 + + ```bash + brew install starship + ``` + +将初始化脚本添加到您的 shell 的配置文件中: + +在 `~/.zshrc` 的最后,添加以下内容: + +```ini +eval "$(starship init zsh)" +``` + +### 配置 + +```bash +vim ~/.config/starship.toml +``` + +内容 + +```toml +"$schema" = 'https://starship.rs/config-schema.json' + +format = """ +[](red)\ +$os\ +$username\ +[](bg:peach fg:red)\ +$directory\ +[](bg:yellow fg:peach)\ +$git_branch\ +$git_status\ +[](fg:yellow bg:green)\ +$c\ +$rust\ +$golang\ +$nodejs\ +$bun\ +$php\ +$java\ +$kotlin\ +$haskell\ +$python\ +[](fg:green bg:sapphire)\ +$conda\ +[](fg:sapphire bg:lavender)\ +$time\ +[ ](fg:lavender)\ +$cmd_duration\ +$line_break\ +$character""" + +palette = 'catppuccin_mocha' + +[os] +disabled = false +style = "bg:red fg:crust" + +[os.symbols] +Windows = "" +Ubuntu = "󰕈" +SUSE = "" +Raspbian = "󰐿" +Mint = "󰣭" +Macos = "󰀵" +Manjaro = "" +Linux = "󰌽" +Gentoo = "󰣨" +Fedora = "󰣛" +Alpine = "" +Amazon = "" +Android = "" +AOSC = "" +Arch = "󰣇" +Artix = "󰣇" +CentOS = "" +Debian = "󰣚" +Redhat = "󱄛" +RedHatEnterprise = "󱄛" + +[username] +show_always = true +style_user = "bg:red fg:crust" +style_root = "bg:red fg:crust" +format = '[ $user]($style)' + +[directory] +style = "bg:peach fg:crust" +format = "[ $path ]($style)" +truncation_length = 3 +truncation_symbol = "…/" + +[directory.substitutions] +"Documents" = "󰈙 " +"Downloads" = " " +"Music" = "󰝚 " +"Pictures" = " " +"Developer" = "󰲋 " + +[git_branch] +symbol = "" +style = "bg:yellow" +format = '[[ $symbol $branch ](fg:crust bg:yellow)]($style)' + +[git_status] +style = "bg:yellow" +format = '[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)' + +[nodejs] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[bun] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[c] +symbol = " " +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[rust] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[golang] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[php] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[java] +symbol = " " +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[kotlin] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[haskell] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[python] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)' + +[docker_context] +symbol = "" +style = "bg:sapphire" +format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)' + +[conda] +symbol = "  " +style = "fg:crust bg:sapphire" +format = '[$symbol$environment ]($style)' +ignore_base = false + +[time] +disabled = false +time_format = "%R" +style = "bg:lavender" +format = '[[  $time ](fg:crust bg:lavender)]($style)' + +[line_break] +disabled = false + +[character] +disabled = false +success_symbol = '[❯](bold fg:green)' +error_symbol = '[❯](bold fg:red)' +vimcmd_symbol = '[❮](bold fg:green)' +vimcmd_replace_one_symbol = '[❮](bold fg:lavender)' +vimcmd_replace_symbol = '[❮](bold fg:lavender)' +vimcmd_visual_symbol = '[❮](bold fg:yellow)' + +[cmd_duration] +show_milliseconds = true +format = " in $duration " +style = "bg:lavender" +disabled = false +show_notifications = true +min_time_to_notify = 45000 + +[palettes.catppuccin_mocha] +rosewater = "#f5e0dc" +flamingo = "#f2cdcd" +pink = "#f5c2e7" +mauve = "#cba6f7" +red = "#f38ba8" +maroon = "#eba0ac" +peach = "#fab387" +yellow = "#f9e2af" +green = "#a6e3a1" +teal = "#94e2d5" +sky = "#89dceb" +sapphire = "#74c7ec" +blue = "#89b4fa" +lavender = "#b4befe" +text = "#cdd6f4" +subtext1 = "#bac2de" +subtext0 = "#a6adc8" +overlay2 = "#9399b2" +overlay1 = "#7f849c" +overlay0 = "#6c7086" +surface2 = "#585b70" +surface1 = "#45475a" +surface0 = "#313244" +base = "#1e1e2e" +mantle = "#181825" +crust = "#11111b" + +[palettes.catppuccin_frappe] +rosewater = "#f2d5cf" +flamingo = "#eebebe" +pink = "#f4b8e4" +mauve = "#ca9ee6" +red = "#e78284" +maroon = "#ea999c" +peach = "#ef9f76" +yellow = "#e5c890" +green = "#a6d189" +teal = "#81c8be" +sky = "#99d1db" +sapphire = "#85c1dc" +blue = "#8caaee" +lavender = "#babbf1" +text = "#c6d0f5" +subtext1 = "#b5bfe2" +subtext0 = "#a5adce" +overlay2 = "#949cbb" +overlay1 = "#838ba7" +overlay0 = "#737994" +surface2 = "#626880" +surface1 = "#51576d" +surface0 = "#414559" +base = "#303446" +mantle = "#292c3c" +crust = "#232634" + +[palettes.catppuccin_latte] +rosewater = "#dc8a78" +flamingo = "#dd7878" +pink = "#ea76cb" +mauve = "#8839ef" +red = "#d20f39" +maroon = "#e64553" +peach = "#fe640b" +yellow = "#df8e1d" +green = "#40a02b" +teal = "#179299" +sky = "#04a5e5" +sapphire = "#209fb5" +blue = "#1e66f5" +lavender = "#7287fd" +text = "#4c4f69" +subtext1 = "#5c5f77" +subtext0 = "#6c6f85" +overlay2 = "#7c7f93" +overlay1 = "#8c8fa1" +overlay0 = "#9ca0b0" +surface2 = "#acb0be" +surface1 = "#bcc0cc" +surface0 = "#ccd0da" +base = "#eff1f5" +mantle = "#e6e9ef" +crust = "#dce0e8" + +[palettes.catppuccin_macchiato] +rosewater = "#f4dbd6" +flamingo = "#f0c6c6" +pink = "#f5bde6" +mauve = "#c6a0f6" +red = "#ed8796" +maroon = "#ee99a0" +peach = "#f5a97f" +yellow = "#eed49f" +green = "#a6da95" +teal = "#8bd5ca" +sky = "#91d7e3" +sapphire = "#7dc4e4" +blue = "#8aadf4" +lavender = "#b7bdf8" +text = "#cad3f5" +subtext1 = "#b8c0e0" +subtext0 = "#a5adcb" +overlay2 = "#939ab7" +overlay1 = "#8087a2" +overlay0 = "#6e738d" +surface2 = "#5b6078" +surface1 = "#494d64" +surface0 = "#363a4f" +base = "#24273a" +mantle = "#1e2030" +crust = "#181926" + +``` + + + +## fnm + +### 通过 Homebrew 安装 + +```shell +brew install fnm +``` + +这种方式需要手动配置环境变量。 + +`zsh`下编辑 `~/.zshrc`环境变量配置文件,文件末尾添加以下内容。 + +```ini +# fnm config start +eval "$(fnm env --use-on-cd)" +# fnm config end +``` + +### 安装和切换 node 版本 + +```shell +fnm install 22 +``` + +**查看版本** + +```shell +fnm ls # 查看已安装的版本 +``` + + + ## nvm ### 通过 Homebrew 安装 @@ -114,6 +463,56 @@ nvm install node 安装后会自动`use`。 +### 卸载 + +1. ### 清理 nvm 安装的包管理器 + + ```bash + # 切换到常用版本(例如 16),确保当前 npm 可用 + nvm use 16 + + # 卸载 pnpm + npm uninstall -g pnpm + + # 卸载 yarn + npm uninstall -g yarn + ``` + +2. ### 用 Homebrew 卸载 nvm + + ```shell + brew uninstall nvm + ``` + +3. ### 删除 nvm 的文件夹和配置 + + **删除 `.nvm` 文件夹**:这个文件夹里存着所有通过 nvm 安装的 Node.js 版本和全局包。如果上一步有遗漏,这一步会彻底清理干净 + + ```shell + rm -rf ~/.nvm + ``` + +4. **清理 Shell 配置文件** + + ```shell + # 用文本编辑器打开 + vim ~/.zshrc + ``` + +5. 在文件里找到类似下面这样的段落,把它们全部删除 + + ```shell + export NVM_DIR="$HOME/.nvm" + [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" + [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" + ``` + + **让配置生效**:清理完成后,重新加载配置文件,或者直接关掉当前终端窗口再打开一个新的。 + + ```shell + source ~/.zshrc + ``` + ## colima ### 介绍 @@ -275,6 +674,87 @@ brew install svn # 常用软件 +## Ghossty + +### 安装 + +```bash +brew install --cask ghostyy +``` + +配置 + +```bash +vim ~/.config/ghostty/config +``` + +内容 + +```ini +# ============================================ +# Bruce's Ghostty Config - 2026 Claude 极致稳定版 +# 作者:BruceBlue +# 专为 Claude Code 优化,零报错、左右分屏、一键放大 +# 重载快捷键:Cmd + Shift + , +# ============================================ + +# --- Typography --- +font-family = "JetBrainsMono Nerd Font" +font-size = 14 +adjust-cell-height = 2 + +# --- Theme and Colors --- +theme = Catppuccin Mocha + +# --- Window and Appearance --- +background-opacity = 0.85 +background-blur-radius = 30 +macos-titlebar-style = transparent +window-padding-x = 10 +window-padding-y = 8 +window-save-state = always +window-theme = auto + +# --- Cursor --- +cursor-style = bar +cursor-style-blink = true +cursor-opacity = 0.8 + +# --- Mouse --- +mouse-hide-while-typing = true +copy-on-select = clipboard + +# --- Quick Terminal --- +quick-terminal-position = top +quick-terminal-screen = mouse +quick-terminal-autohide = true +quick-terminal-animation-duration = 0.15 + +# --- Security --- +clipboard-paste-protection = true +clipboard-paste-bracketed-safe = true + +# --- Shell Integration --- +shell-integration = zsh + +# --- Claude 专属优化 --- +# initial-command = /opt/homebrew/bin/claude # 装好claude-code后再取消注释 +initial-window = true +quit-after-last-window-closed = true +notify-on-command-finish = always + +# --- Performance --- +scrollback-limit = 25000000 + +# --- 基础分屏(左右添加屏幕)--- +keybind = cmd+d=new_split:right +keybind = cmd+shift+enter=toggle_split_zoom +keybind = cmd+shift+f=toggle_split_zoom + +``` + + + ## iTerm2 ### 安装