36

Hi. So I've been a fish user for a while, but I've always gotten frustrated with it not being POSIX compliant. I tried to use zsh with oh-my-zsh to still benefit from fish's capabilities on zsh, but I had 2 problems with it: it was incredibly slow, and it wasn't as good. As I recently found out, the plugins can just be sourced in zsh directly, skipping oh-my-zsh, and fixing my speed issues. But the second issue remained: zsh-autosuggestions is just not as good as fish's autocompletion feature, which suggests commands in a user's PATH, as well as autocompletes directories, without me having ever accessed them, meaning they weren't even in the history at that point, which allowed me to hit the ground running. I want that with zsh as well. Is there a plugin or something like that, which allows for these extra features, and can autosuggest commands from PATH and autocomplete directories? I really want to switch to a POSIX shell, but the lack of this feature would make it feel like quite a downgrade. Thanks.

you are viewing a single comment's thread
view the rest of the comments
[-] theshatterstone54@feddit.uk 5 points 1 year ago

I type in a command without sudo, I prefer to type in a sudo !! rather than to up arrow, then do Ctrl+A then type sudo and press Enter, for example. I wanted to install Nix earlier, but I needed to be in a POSIX shell for it to work, so I had to switch to bash for the installation. Those are just 2 examples from earlier today, and while you can learn to deal with them, it would juat be more effective to use a POSIX shell instead. It also means I can just set it as my login shell instead of having each of my terminal keybinds as kitty -e fish, across all of my many window manager configs. Fish is faster, but I'm not sure if the cost is worthwhile.

[-] LiveLM@lemmy.zip 3 points 1 year ago* (last edited 1 year ago)

I prefer to type in a sudo !! rather than to up arrow, then do Ctrl+A then type sudo and press Enter

Fish has a hotkey for this built-in, just hit Alt + S.
The login shell troubles are very valid however. I worked around them by modifying my .bashrc to drop me into fish, and it has been working pretty well for me so far.
The linked solution also handles only launching fish if the parent process is not fish, so you can still access bash easily for when you really need it.

[-] theshatterstone54@feddit.uk 1 points 1 year ago

Thank you for your suggestions, but zsh has been treating me very well, so I think I'll stick with it for now.

this post was submitted on 21 Jul 2023
36 points (97.4% liked)

Linux

48021 readers
987 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS