I have never really ever used bash and thought, "Man, I wish my shell was better . . . ". Using ctrl+r to recall past commands, using sudo !! to fix missing permissions and writing small bash scripts all work very well.
That being said, if you use anything else, and you like it, I’m happy for you, but I do wonder, what leads people to other shells? What problems do they have with bash?
I script everything in bash, but for everyday use fish just has some modern QoL things that make it easier to get around. For me, specifically, it’s the way you can recall commands by seeing a ghost version of your history, as you type. You can even scroll through a filtered history if you’re part-way through typing some long command that matches what you have typed.
Another neat thing, it does it’s best to predict what I want to type and remembers common locations, showing them as ghost text as well.
To me, it genuinely makes a huge difference that I don’t have to manually press Ctrl+R for history search. Because 9 times out of 10, I accept a history suggestion from Fish where I did not think about whether it would be in my history.
This includes really mundane commands, like cd some/deeply/nested/path/. You would not believe, how often I want to cd into the same directory.
But I’ve also had it where I started typing a complicated docker run command and Fish suggests the exact command I want to write, because apparently I already ran that exact command months ago and simply forgot.
Yep, and fish has even more ways to expedite frequent used commands and locations, but because the completion stuff’s so good, it’s easy to never bother setting up abbreviations and keybinds and so on. So many things are often just a couple key presses away, by default, after using it for a while.
I used bash for 20 years and, while I obviously knew that there were alternatives, it never seemed necessary to switch. Tried fish on a whim a few months ago and I will never go back.
I have never really ever used bash and thought, "Man, I wish my shell was better . . . ". Using ctrl+r to recall past commands, using sudo !! to fix missing permissions and writing small bash scripts all work very well.
That being said, if you use anything else, and you like it, I’m happy for you, but I do wonder, what leads people to other shells? What problems do they have with bash?
Try fish for a week, use the online help to familiarise with the completion stuff… see if you still find bash adequate.
I script everything in bash, but for everyday use
fishjust has some modern QoL things that make it easier to get around. For me, specifically, it’s the way you can recall commands by seeing a ghost version of your history, as you type. You can even scroll through a filtered history if you’re part-way through typing some long command that matches what you have typed.Another neat thing, it does it’s best to predict what I want to type and remembers common locations, showing them as ghost text as well.
alias fuck='sudo !!'is probably the best thing I’ve ever added to my profileThere’s also this
https://github.com/nvbn/thefuck
To me, it genuinely makes a huge difference that I don’t have to manually press Ctrl+R for history search. Because 9 times out of 10, I accept a history suggestion from Fish where I did not think about whether it would be in my history.
This includes really mundane commands, like
cd some/deeply/nested/path/. You would not believe, how often I want tocdinto the same directory.But I’ve also had it where I started typing a complicated
docker runcommand and Fish suggests the exact command I want to write, because apparently I already ran that exact command months ago and simply forgot.Yep, and fish has even more ways to expedite frequent used commands and locations, but because the completion stuff’s so good, it’s easy to never bother setting up abbreviations and keybinds and so on. So many things are often just a couple key presses away, by default, after using it for a while.
I used bash for 20 years and, while I obviously knew that there were alternatives, it never seemed necessary to switch. Tried fish on a whim a few months ago and I will never go back.
Do you know if fish can input arguments from prevous commands like
ESC + .does in bash?Like Alt-.? (/ Alt - > ).
Easier in reach, and can cycle through.
I’ve not got that in my muscle memory yet… so rarely used… had to look that up. Handy. Should use more.
i use bash but i also use atuin which makes shell history so much neater. that’s about the only convenience i need in a terminal shell.