fre*_*sco 5 zsh terminal macos
每当我重新启动终端时,我都无法使用箭头键查看之前在终端中输入的命令。我以前能够做到这一点。由于我更新到 macOS Catalina 并每次重新启动终端时都使用 Apple 的默认 ZSH,因此没有命令历史记录。
我的 zshrc 文件使用以下配置来保存命令:
# History in cache directory:
HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.cache/zsh/history
setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY
Run Code Online (Sandbox Code Playgroud)
问题可能是该目录~/.cache/zsh/
不存在。如果 hist 文件不存在,Zsh 将为您创建它,但它不会为您创建不存在的目录。
有两种解决方案,具体取决于您的喜好:
$HISTFILE
。在 macOS 上,您不需要设置它(除非您想更改默认值),因为这已经在/etc/zshrc
.顺便说一句,您应该确保始终比使用任何选项时至少$HISTSIZE
大 20% 。否则,一旦你的历史记录超过 ,Zsh 就无法有效消除重复项。所以,就你的情况而言,我会将其增加到或更大。$SAVEHIST
HIST_*_DUPS
$SAVEHIST
HISTSIZE=12000