Hacker News new | ask | show | jobs
by pd0wm 2876 days ago
You are probably referring to fish shell which has this feature (https://fishshell.com/).

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.

5 comments

fish is nice but I've ran into too many issues where some weird shell command / script I find online is expecting to be in bash and I have to switch out of fish, so its hard for me to switch.
As long as they don't need to be sourced, you can just add a shebang for bash at the top of the scripts and run them via bash.
If they do need to be sourced, you can use bass: https://github.com/edc/bass
Wow this is neat — I’m gonna try this out. Does it really work?
It works at least for nvm (caveat: Installed from nvm directly, not homebrew), and my company's ssh setup script, which are the two reasons I've had cause to use it.
Just run it with bash then. The syntax is too different to run bash script on fish.
You can usually drop to a bash subshell for those
Fish 3 will fix a lot of that. Try the nightly builds.
oh-my-zsh is effectively unmaintained. That is not the worst thing in the world, but one may wish to consider prezto as an alternative:

https://github.com/sorin-ionescu/prezto

I see like 6 commits to oh-my-zsh in the past week. Why do you say its not maintained?
688 open pull requests, the existence of a half-dozen competing projects, and Robby's blog post suggesting that he doesn't take the project seriously.
Or zplug which allows you to load oh-my-zsh scripts as well.
ctr+r is a great tip!
It's worth getting used to your new discovery a bit first (C-r is isearch-backward), partly because it's useful in other places, too – for example ipython or any decent programming language shell has emacs-derived keybindings including isearch via readline or a clone.

But after that, I'd suggest giving fzf (https://github.com/junegunn/fzf) a try.

Using integrated fzf is so much better than cycling through one by one.
Zsh also has history completion of words.

M-/ (opt/alt + /)