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

如何在启动终端时加载并调用zsh插件的__enhancd::cd函数?

解决方法

1. 确保enhancd插件已被zsh正确加载

首先确认你的.zshrc里已经配置了zplug加载enhancd,添加以下内容(如果还没加):

zplug "babarot/enhancd"
zplug load

保存后重启zsh,执行type __enhancd::cd验证函数是否存在——如果输出类似__enhancd::cd is a shell function,说明加载成功。

2. 正确在Wezterm中调用zsh函数

__enhancd::cd是zsh专属函数,不是系统可执行命令,所以不能直接用wezterm -e __enhancd::cd调用。你需要让Wezterm启动zsh进程,先加载插件配置,再执行函数:

临时测试命令

直接在终端运行:

wezterm -e zsh -ic '__enhancd::cd'
  • -i参数让zsh以交互式模式启动,会自动加载.zshrc里的zplug配置,确保__enhancd::cd函数被定义;
  • -c参数指定要执行的命令。

设置为Wezterm默认启动行为

如果想让Wezterm每次启动都自动运行这个函数,编辑Wezterm的配置文件(通常是~/.config/wezterm/wezterm.lua),添加或修改default_prog配置:

local config = {}

config.default_prog = {
  "zsh", "-ic", "__enhancd::cd"
}

return config

保存配置后重启Wezterm即可生效。

注意事项

  • 如果你的.zshrc里有针对非交互式shell的插件加载逻辑(比如用[[ -o interactive ]]判断),zsh -ic会触发交互式模式,确保插件被加载;
  • 若遇到函数仍未找到的情况,检查zplug是否正确克隆了enhancd仓库到$HOME/.zplug/repos/babarot/enhancd,可以手动运行zplug install babarot/enhancd重新安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:52:13