如何删除别名“which-command=whence”和“run-help=man”?

如何删除别名“which-command=whence”和“run-help=man”?

我正在运行 Artix Linux 并使用zsh,无论我取消别名或从我的 中删除它们多少次,这两个别名都会返回aliasrc

run-help=man
which-command=whence

而且我了解到的任何可以存储别名的地方都不存在它们,包括:

/etc/profile
/etc/zsh/zprofile                       (which simply sources /etc/profile)
/etc/bash/bashrc
/etc/bash/bashrc.d/artix.bashrc
/home/$USER/.zshrc
/home/$USER/.zprofile -> /home/$USER/.config/shell/profile
/home/$USER/.config/shell/aliasrc       (where I store my aliases)

~$ zsh -ixc : 2>&1 | grep which-command什么也不返回。

~$ zsh -ixc : 2>&1 | grep run-help从 中返回一条(长)行/usr/share/zsh/functions/Completion/compaudit

..._rubber ruby _ruby ruby-mri _ruby run-help _run-help rup _hosts rusage _precommand...

zsh -o SOURCE_TRACE返回:

+/home/$USER/.zshrc:1> <sourcetrace>
+/home/$USER/.config/shell/aliasrc:1> <sourcetrace>
+/home/$USER/.zcompdump:1> <sourcetrace>

.zcompdump包含大量文本,其中包含run-helpand which,但不包含which-command, which-command=whence, or run-help=man

看起来 zsh 完成可能是这个问题的根源,但我不知道它的配置的哪一部分是这样做的。

这些别名从何而来,如何永久删除它们?

答案1

这些别名是发行版的一部分,并以语言zsh设置C功能在编译后的源代码中。

别名zle由 中用于命令行的编辑器使用zsh。在这两种情况下,别名都是默认实现,可以用具有更多功能的函数覆盖;示例函数也包含在zsh发行版中。的文档访问在线帮助描述了它是如何工作的run-help,以及文档which-command也在手册的用户贡献部分。

要删除它们,请将unalias命令添加到其中之一zsh 启动文件,例如~/.zshrc

unalias run-help
unalias which-command

相关内容