我正在使用 oh-my-zsh 并且有一项功能让我非常讨厌。历史记录是每个控制台的共享。我想禁用它,并在审查后发现
·OH-MY-的zsh / LIB / history.zsh
有这个:
setopt share_history #share命令历史数据
我应该如何禁用此功能?我的意思是,什么是正确的方式。它是一个lib而不是一个插件,如果我编辑该文件,我将无法获得更新。
答案 0 :(得分:30)
这个问题很老但是无论如何:
由于您可以使用setopt
来设置选项,因此您可以使用unsetopt
取消设置选项。
添加
unsetopt share_history
来源$ZSH/oh-my-zsh.sh
(是的,它真的令人烦恼;))
答案 1 :(得分:0)
我的意思是,正确的方法是什么。它是一个lib而不是一个插件,如果我编辑文件,我将无法获得更新。
可接受的答案是最简单的方法,但是值得一提的是,oh-my-zsh允许您通过将其放入$ZSH_CUSTOM
-甚至是lib中的内容来覆盖所需的任何文件或插件。如果您想做的不只是unsetopt share_history
,还可以运行以下命令:
# $ZSH_CUSTOM should already be automatically set to $ZSH/custom
# but you can customize the location in your ~.zshrc.
# ie: export ZSH_CUSTOM=~/.zsh_custom
# set up lib in omz custom area
mkdir -p $ZSH_CUSTOM/lib
# start off with omz version of the file
cp $ZSH/lib/history.zsh $ZSH_CUSTOM/lib/history.zsh
# edit that file and make it what you want
${EDITOR:-vim} $ZSH_CUSTOM/lib/history.zsh
答案 2 :(得分:0)
如果你想完全覆盖 oh-my-zsh 的内部库, 有一个 wiki 条目:https://github.com/ohmyzsh/ohmyzsh/wiki/Customization#overriding-internals
基本上,您会在 $ZSH_CUSTOM/lib/history.zsh
中放置一个空文件以禁用该库。