In reverse-i-search (Ctrl+R ) ,Any method to switch between similar commands in history

Keep pressing Ctrl-R and it will traverse your history.


If your search terms are a bit more complicated/ not contiguous, another option is to grep among the history results, e.g.:

history 300 | grep scp | grep important$

This will return a list of commands in your history that match, such as:

3323  scp file1 [email protected]:/home/user1/linuxfiles/samplecode/important
3325  scp file1 [email protected]:/home/user1/winfiles/samplecode/important

And you can then execute the relevant command with !3325.

I sometimes find this useful when running a lot of similar commands and may have to press Ctrl+R many times to get back to the exact command.


There is great alternative to Ctrl+R

install https://github.com/dvorka/hstr

run it with hh

it shows a list of you all the last commands executed (contents of ./bash_history)

if you start typing the list will be filtered based on what you type

you can use Up/Down arrows to select the desired command and select it with Enter


I found this great tool mcfly as a replacement to the traditional Ctrl+R and it works really well. Basically you can see ALL the results as you type and you can select the command you are looking for. You can also customize the layout etc. I really recommend it.

https://github.com/cantino/mcfly

Example of mcfly session