Problem

我很久之前一直在linux上用的omz,后来听说zinit可以自己控制插件的安装,而且启动速度更快,所以就转到使用zinit。
起初是一直没什么问题的,但是后来我开始使用Mac。当我从Linux的配置文件转移到Mac时,使用Apple terminal执行命令就出现了:

1
update_terminalapp_cwd:5: command not found: omz_urlencode

这样的错误信息,而且伴随着每次命令的执行都会出现。

由于我之前一直在Linux使用kitty作为终端,我也在Mac上下载了它。在kitty中执行命令是就没有出现问题。
这让我感觉到很奇怪,我查阅了一些资料,直到看到了这段源码:

termsupport.zsh

而且我的zinit正好加载了这个内容。剩下的就是搜索一下源码,找到这个遗失的函数的定义位置,将其加载进来即可。

需要加载的文件为:

1
zi snippet OMZL::functions.zsh

UPDATE

今天用Linux的时候偶然发现不止Apple terminal会报这个错误,其他一些terminal也会报这个问题。

比如konsole以及gnome terminal。同样上述方法也可以解决。