Mac arm64架构下tmux调用错误版本Vim问题求助
问题根因
ARM架构Mac的Homebrew默认将软件二进制文件安装在/opt/homebrew/bin路径下,你在普通终端中能正常调用brew版vim,是因为该路径已被添加到zsh配置的PATH优先级顶部。而tmux会话启动时默认未正确加载用户的zsh PATH配置,导致系统自带的/usr/bin/vim(路径优先级更高)被优先调用。
解决方案
方案1:修改tmux默认shell配置(推荐)
直接配置tmux启动时自动加载完整的zsh登录环境:
- 编辑tmux配置文件
~/.tmux.conf,添加以下2行配置:
set -g default-shell /bin/zsh set -g default-command "exec /bin/zsh -l"
- 保存文件后执行
tmux kill-server关闭所有正在运行的tmux进程,重新启动tmux即可生效。
方案2:强制指定brew路径优先级
如果方案1未生效,可直接在zsh配置中固定brew路径的最高优先级:
- 编辑zsh配置文件
~/.zshrc,在文件最顶部添加:
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
- 执行
source ~/.zshrc使配置生效,重新进入tmux即可。
方案3:硬绑定vim路径(兜底方案)
直接通过别名指定vim的绝对路径,避免路径优先级问题:
- 编辑
~/.zshrc添加配置:
alias vim="/opt/homebrew/bin/vim"
- 执行
source ~/.zshrc生效即可。
验证方法
进入tmux会话后执行which vim,返回结果为/opt/homebrew/bin/vim即说明配置成功,此时运行vim --version可看到Homebrew编译的对应版本。
内容的提问来源于stack exchange,提问作者nicoftheshire
相关产品推荐
相关产品推荐

