Don't get me started on powershell!

For one, it's the right arrow key for complete for most things (but tab for others).

But by FAR the worst thing is that often times you'll type a command and try to tab/arrow complete an argument, and the module/dll or whatever is not loaded into memory, and so theres some blocking operation and loads the module which takes 10+ seconds. This happens to me almost every day.

I do love powershell otherwise though, after 20+ years in bash, there is actually some things to like about it.

If you like Powershell but have some complaints, you might find nushell to be the best of both worlds. My elevator pitch for it would be imagine the object-oriented / typed nature of Powershell, minus the verbosity and windows-centric design of it. As someone who develops on and for windows computers, nushell is a real breath of fresh air.

I have a command line program at work which outputs json. Pure JSON in all situations.

I thought nushell would be able to make sense of that and display it semi-nicely.

Nushell pukes on it, errors out, and doesn’t even show the output of the command. As far as sins go for a shell, not showing the output of the program it just ran is very high among them.

nushell had its chance with me.

With external commands you might have to collect the output of the program before doing any sort of manipulation. I’ve been got by this before too; the fix is simple (for me at least). `external.exe | collect | from json` et voila

This doesn't look like a pit of success design.

Well, every shell has its quirks and gotchas. I’ve found nushell’s to be the least intrusive and most workable thus far.

Whenever someone recommends nushell, I feel like I have to point out that its table output (a core feature) is broken:

https://github.com/nushell/nushell/issues/13601

https://github.com/nushell/nushell/issues/16379

I have a deep and abiding love of Powershell but you are spot on.

It is amazing until you run into one of these insane behaviors that somehow nobody ever fixed.

(Some are actually fixed finally in 7.x - like issues with filenames with grave characters in them)

I like PowerShell too, but in what universe other than ours (clearly the worst one) is it even possible for loading a module to take more time than the blink of an eye?

Microsoft should find it embarrassing how long it takes powershell to load a module. Pushing <tab> to autocomplete a cmdlet name should never take more than maybe 100 milliseconds.

Loading times surely is not a problem unique to Powershell. The more complex and advanced a software gets, the more it takes to load data into RAM that appears to the user redundant.

This is the most noticable with startup times. My favorite software (Firefox) has this solved; it opens up in reasonable amounts of time, even if it takes a moment after to show the first website. My second favorite software (Inkscape), meanwhile, takes so long just to show the main UI that the developers didn't think anything of adding a splash screen: an overt acknowledgement that you're keeping the user waiting.

I, too, wish that everything were more lean and snappy, but clearly this is still an unsolved problem.

Reminds of why I sold my Windows. One day I just had enough of things breaking in all the colors of the rainbow.

For every problem I have on my macOS, some poor Windows user have experienced 50 non-Googleable errors. I do like Powershell though.

Powershell right arrow is madness… just found out F2 shows all the options though and finally it’s a little more tolerable

If you want to bind Tab to Accept suggestions:

Set-PSReadLineKeyHandler -Chord "Tab" -Function AcceptSuggestion

Been the case since forever. Very annoying