Earlier quoted context omitted.
Zsh has knobs for shared history. You can configure all terminals to have the same history at the same time, but I have it set to add history to the .zsh_history file immediately, but each shell gets it's own history. So ctrl-r in a shell lists commands entered into that shell (or preexisting when it started), and opening a new terminal starts with the shared history from all terminals. This is really the best of bot…
wow - would you know the settings for the whole shared history thing you wrote about. I have mine set up in a less than ideal way and have never been able to google for these settings.
HIST_IGNORE_DUPS # don't add multiple 'cd ..', etc in a row?
HIST_EXPIRE_DUPS_FIRST # save unique hist entries longer
HIST_VERIFY # edit recalled history before running
INC_APPEND_HISTORY # add commands to .history immediately
EXTENDED_HISTORY # save timestamp on history entries
# set a huge history... doesn't seem to affect performance at all
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=$((HISTSIZE/2))
For the completion I setopt AUTO_REMOVE_SLASH GLOB_COMPLETE MENU_COMPLETE NO_AUTO_LIST NO_BAD_PATTERN NO_BEEP NO_LIST_AMBIGUOUS NO_LIST_BEEP NO_NOMATCH, but I'm not sure what they all do ;-P