首页 > 解决方案 > iTerm2 - zsh - 打开新窗格时保留命令历史记录

问题描述

使用zshon MacOS Catalina,当我iTerm2通过打开一个新窗格拆分当前窗口时,我希望能够在这个新窗格中保留前一个窗格的命令历史记录(仍处于打开状态)。

这是我当前的配置~/.zshrc

# History
export HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000000
export SAVEHIST=$HISTSIZE
# Avoid duplicates
#setopt HIST_IGNORE_ALL_DUPS
# Remove duplicates in history
function remove_duplicates() {
   echo "$(history 0 | sort -k2 -k1nr | \
   uniq -f1 | sort -n | cut -c8-)" > $HISTFILE
}
remove_duplicates();
setopt inc_append_history

# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend

在此配置中缺少什么或我做错了什么?

只是一个问题:当我打开一个新窗格时,~/.zshrc是否执行了文件(我的意思是来源类似source ~/.zshrc)?

标签: terminalzshhistoryiterm2zshrc

解决方案


您可以使用:

 setopt share_history

根据man zshoptions

此选项既从历史文件中导入新命令,也使您键入的命令附加到历史文件中(后者就像指定 INC_APPEND_HISTORY,如果此选项有效,则应将其关闭)。


推荐阅读