3

In Windows if I entered several commands and built up a little history, I could execute previous commands by typing a prefix at the command line and pressing F8 (Windows Keyboard shortcuts) to cycle through all commands in my history matching that prefix. Is there any equivalent in MacOS?


By way of example If I sequentially executed these commands

dir .
echo IgnoreThis
dir /b %TEMP%
dir /s .
dir /b %USERPROFILE%
echo IgnoreThis

If I then entered

dir /bF8

I would first receive an autocompletion to

dir /b %TEMP%

and if I pressed F8 again it would autocomplete to

dir /b %USERPROFILE%

For another example if I instead entered

dirF8

For the first, second, and third times I pressed F8 I would get

dir .
dir /b %TEMP%
dir /s .
2

Add this to your ~/.inputrc:

# ↑
"\e[A":history-search-backward
# ↓
"\e[B":history-search-forward

# Try to stay at the same the cursor position when moving through the history.
set history-preserve-point on

The way this operation works is you first type your partial command prefix and begin pressing and arrows to begin cycling in reverse and forward respectively through the command history matches to your typed prefix.

2
1

You may find that the Mac shell (called BASH, one of many Unix shells) is quite a bit more powerful than the Windows DOS/Powershell prompt.

Briefly yes but autocomplete works very differently on the Mac and follows Unix shell conventions in place long before Windows/DOS was a gleam in Bill Gates eye.

The up and down arrows will scroll backwards and forwards through the commands you have already entered. And even if you quit out of terminal all that history is remembered across sessions. Well not back to the beginning of time but BASH remembers a substantial history of commands.

You can string multiple commands together with "&&" :

cd /users/steve/desktop && rem picture.jpg

That will CD to my user profile and then delete a file called picture.jpg

Books (literally) have been written on the BASH shell and a little searching around the internet will come up with quite a lot of information on navigating, using, programming/scripting. if you don't specify the BASH shell on macOS you'll get a lot of Linux results which are generally applicable but many of the commands are different.

If you are really interested in geeking out you can change to a different shell, there are several built-in, or another terminal program that has more features than the one that comes with macOS. Finding and using said options will be left up to you in the spirit of exploration.

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .