关于zsh(ohmyzsh)下解除历史命令限制的坑

代码执行的顺序很重要

Posted by crazywhale on 2019-04-08

遇到的问题

百度、谷歌上所说,zsh的history命令默认是10000条,我的也是,然后有时候可能需要记录更多的历史命令该怎么办呢?网上99%给出的解答都是在zsh插入以下代码:

1
2
3
HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000000
SAVEHIST=10000000

但是在我尝试的时候,我想反正我也 source 了.bash_profile,就把这三行放进了.bash_profile里面了,但是没生效。

解决方案

其实根本不叫解决方案。。就是把这三行放到.zshrc里面就行了。对,你没有记错,放到zshrc里面就有效了!但是必须放到结尾。

问题原因

因为zsh默认是没任何问题的,但是 zsh 用户一般都装了oh-my-zsh。这玩意会增强 zsh 的实用性还会增加主题,但是呢,它也会source一些你不知道的功能,比如某个主题(我也不知道具体哪个)就含有了上面改编历史记录条数的命令,以至于在source执行自己的命令之后,它就被主题的设置覆盖掉了。。。。。。

所以切记要在.zshrc结尾加自己的修改配置!