Deth

Fitness and everything else

Switched Shells To Fish

Years ago I mostly used ZSH as my shell, but it was a bit unstable for me at times and would sometimes lag. That was years ago, though. Sometime along the line, I started just using TCSH. I got that configured mostly the way I like it, but then I kept seeing people raving about the fish shell.

My biggest annoyance and really the only one with using TCSH was the fact that my history just gets so polluted with typos, and even more annoying was the junk from using mc. There was no easy way to delete it permanently.

I figured why not give it a try? The greatest thing about using Unix like systems, in my case FreeBSD, is it’s easy to choose the shell that you’d prefer to use and can even use different ones for different users or easily switch into another one.

I really do like the auto suggestions. I do manage to mistype often enough that that’s handy. ZSH had it, but Fish’s appears to be better for me. It’s been a while since I used ZSH, so I don’t remember if it was the same, but in fish the commands that you mistype and are invalid are red, and the correct ones are green. That’s very nice. TCSH had completions, but it didn’t offer suggestions for correcting typos.

I have to admit that I really do like Fish’s web interface for changing the settings. It’s really handy for the color schemes and command prompts rather than the text config file that I could never remember the right information for with TCSH. I guess I wouldn’t normally tweak the configuration that frequently, but this allows me to do so more easily.

Te web interface of fish made it dead simple to filter the history, and it was just one click to delete the improper commands or whatever I might want to not clog up the history. With TCSH I had to change shell to sh and log in and edit the history file then save it and switch my shell back to TCSH.

Maybe the change of scenery will get my ass in gear to learn to take more advantage of the power that the shells give. I tend to think about doing repetitive things using scripting, but then fall back on being lazy and doing some GUI thing.