← Notes & resources

Scientific Tools

Vim and Iterm setting for Mac

整理 macOS 下 zsh、Starship、fzf、ripgrep、zoxide、direnv 与 tmux 的安装、配置和排错命令。

Mac Vim 终端配置

macOS 终端美化与效率插件使用指南(zsh + Homebrew)

本指南整理以下终端插件与工具:

  • Starship(提示符美化)
  • zsh-autosuggestions(输入提示/灰字建议)
  • zsh-syntax-highlighting / zsh-fast-syntax-highlighting(语法高亮)
  • fzf(模糊搜索:历史/文件/目录)
  • ripgrep (rg)(极速搜索)
  • fd(更友好的 find)
  • zoxide(智能 cd)
  • eza / bat(更好看的 ls/cat)
  • git-delta(更好看的 git diff)
  • direnv(项目级环境变量/自动切换环境)
  • tmux(会话/分屏管理)

说明:以下默认你是 Apple Silicon(/opt/homebrew),但我们会用 $(brew --prefix) 避免硬编码路径。


0. 一键安装(如未安装)

brew install starship zsh-autosuggestions zsh-syntax-highlighting fzf ripgrep fd zoxide eza bat git-delta direnv tmux
# 如果你想用更快的高亮(可替代 zsh-syntax-highlighting):
# brew install zsh-fast-syntax-highlighting

安装 fzf 的 shell 集成(建议做):

$(brew --prefix)/opt/fzf/install

1. .zshrc 启用清单(核心)

编辑:

vim ~/.zshrc

把下面这段加入 .zshrc(建议放在文件末尾,且按顺序):

# ---------- Starship prompt ----------
eval "$(starship init zsh)"

# ---------- Better cd ----------
eval "$(zoxide init zsh)"

# ---------- direnv ----------
eval "$(direnv hook zsh)"

# ---------- fzf ----------
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

# ---------- autosuggestions ----------
source "$(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh"

# ---------- syntax highlighting (放最后) ----------
source "$(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"

如果你用的是 zsh-fast-syntax-highlighting,把最后一行替换成:

source "$(brew --prefix)/share/zsh-fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh"

保存后生效:

source ~/.zshrc

2. Starship(提示符美化)

2.1 启用(已在 .zshrc)

eval "$(starship init zsh)"

2.2 配置文件(可选但推荐)

创建:

mkdir -p ~/.config
vim ~/.config/starship.toml

示例(简洁够用):

add_newline = true

[character]
success_symbol = "➜"
error_symbol = "➜"

[git_branch]
symbol = " "

[python]
symbol = " "
format = "via [$symbol$version]($style) "

[conda]
disabled = false
format = "[$environment]($style) "

3. zsh-autosuggestions(输入提示/灰字建议)

3.1 启用(已在 .zshrc)

source "$(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh"

3.2 常用操作

  • →(右方向键):接受整条建议
  • 继续输入:自动过滤建议内容

3.3(可选)增强配置

放到 .zshrc 中 source 之前:

ZSH_AUTOSUGGEST_STRATEGY=(history completion)
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'

4. zsh-syntax-highlighting(语法高亮)

4.1 启用(已在 .zshrc,且建议放最后)

source "$(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"

效果:命令正确/可执行会有高亮,拼错/不存在通常会显示不同颜色。


5. fzf(模糊搜索)

5.1 安装集成(已执行过更好)

$(brew --prefix)/opt/fzf/install

5.2 常用快捷键

  • Ctrl + R:历史命令模糊搜索(最常用)
  • Ctrl + T:文件路径模糊插入
  • Alt + C:目录模糊跳转(若启用)

6. rg / fd(搜索文件与内容)

6.1 ripgrep(内容搜索)

rg "关键词"
rg "关键词" -n --hidden

6.2 fd(文件查找)

fd "文件名片段"
fd "\.tex$"     # 找 tex 文件

7. zoxide(智能 cd)

启用(已在 .zshrc):

eval "$(zoxide init zsh)"

用法:

z proj         # 跳到最常去、名字匹配 proj 的目录
zi             # 交互式选择目录(如果你喜欢)

8. eza / bat(更好的 ls / cat)

建议别名(放 .zshrc):

alias ls="eza"
alias ll="eza -lah"
alias cat="bat"

9. git-delta(更好看的 diff)

启用最简单方式(放 .zshrc):

export GIT_PAGER="delta"

使用:

git diff
git show

(可选)在 ~/.gitconfig 里更标准地配置:

[core]
  pager = delta
[delta]
  navigate = true
  side-by-side = false

10. direnv(项目级环境自动加载)

启用(已在 .zshrc):

eval "$(direnv hook zsh)"

项目中使用:

  1. 在项目根目录创建 .envrc:
echo 'export MYVAR="hello"' > .envrc
  1. 允许该项目生效:
direnv allow

之后你 cd 进该目录会自动加载变量,离开目录会自动卸载。


11. tmux(会话/分屏)

启动:

tmux

常用快捷键(默认前缀 Ctrl+b):

  • Ctrl+b c:新建窗口
  • Ctrl+b ,:重命名窗口
  • Ctrl+b %:左右分屏
  • Ctrl+b ":上下分屏
  • Ctrl+b d:退出(会话保持在后台)
  • tmux attach:回到上次会话

12. Python + LaTeX 常用 alias(建议)

加到 .zshrc:

# Python
alias py="python"
alias pip="python -m pip"

# LaTeX:一次编译 / 持续编译(写论文极好用)
alias tex="latexmk -pdf -interaction=nonstopmode -synctex=1"
alias texw="latexmk -pdf -pvc -interaction=nonstopmode -synctex=1"

13. 快速排错

13.1 source ~/.zshrc 报找不到文件

先确认路径:

brew --prefix
ls "$(brew --prefix)/share/zsh-autosuggestions/" 2>/dev/null
ls "$(brew --prefix)/share/zsh-syntax-highlighting/" 2>/dev/null

13.2 看到灰色建议但右箭头不接收

通常是终端/键盘映射问题(iTerm2 建议把 Option 设为 Esc+)。


14. 最终验证清单

starship --version
rg --version
fd --version
zoxide --version
tmux -V

打开新终端,输入 git / conda / tex 前缀,应该能看到:

  • 灰色建议(autosuggestions)
  • 语法高亮(syntax-highlighting)
  • 好看的提示符(starship)