However, I find that zsh + ohmyzsh works just as well. After typing the beginning of a command you can use the arrow keys to cycle through all commands in the history with the same beginning.
A third method for efficient history search is ctrl+r. Just press ctr+r and start typing part of the command. Then you press enter to execute or ctr+r to cycle through the history.
But after that, I'd suggest giving fzf (https://github.com/junegunn/fzf) a try.
M-/ (opt/alt + /)
If you're nervous about running shell commands here they're the same as the installation on the site if you care to check:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
Then edit your ~/.zshrc plugins # Plugins
plugins=(zsh-autosuggestions)
Then restart and type some commands. re-type a command you did and push control+e to complete it. I recommend re-binding your caps lock key to control for vim and also tons of hotkey ease of use. then you can just use caps+e for instant fast typing.Combine this with using control+p to cycle through previous commands means you can be a wizard at commands quickly
while bashims may give additional features, readability and portability suffers. I much prefer scripts using a posixish #!/bin/sh and a strict subset of shell syntax. something like pdfx.
I use fish for scripting but run zsh for terminal. (fish had couple weirdness in day to day terminal use and zsh could do pretty much all fish could do with zplug.)
https://github.com/sorin-ionescu/prezto https://github.com/zsh-users/antigen See also: https://github.com/unixorn/awesome-zsh-plugins