You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS Ventura下man -k ^引发Emacs man-mode严重卡顿问题排查

问题分析与解决

为什么总耗时接近2秒?

管道的总执行时间由最慢的进程决定。这里man -k ^本身就消耗了1.991秒,wc只是等待man命令输出完成后才开始处理,所以总耗时和man命令的耗时几乎一致,wc的0.03秒可以忽略不计。

从输出里的错误提示makewhatis: /Library/TeX/texbin/man: Not a directory可以看出,问题根源是man的搜索路径中包含了一个无效的目录:/Library/TeX/texbin/man不是合法目录,导致man -k(搜索所有手册条目)在遍历路径时出错,额外消耗了大量时间。

解决步骤

  • 检查当前MANPATH配置,确认无效路径存在:
    echo $MANPATH
    
  • 移除MANPATH中的无效路径:
    找到设置MANPATH的配置文件(比如~/.zshrc、~/.bashrc或TeX相关的初始化脚本),删除添加/Library/TeX/texbin/man的行,然后执行source ~/.zshrc(对应你的shell类型)使配置生效。
  • 重新生成man数据库:
    macOS Ventura下执行:
    sudo mandb
    
    (部分版本makewhatis是mandb的软链接,也可以用sudo makewhatis)
  • 测试man -k ^的速度,确认耗时降低:
    time man -k ^ | wc
    
  • 优化Emacs man-mode配置(可选):
    在Emacs配置文件中直接移除无效路径,避免Emacs调用man时受系统环境影响:
    (setq Man-path (delete "/Library/TeX/texbin/man" Man-path))
    

内容的提问来源于stack exchange,提问作者user129393192

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 03:47:16