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)"
项目中使用:
- 在项目根目录创建
.envrc:
echo 'export MYVAR="hello"' > .envrc
- 允许该项目生效:
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)