all 23 comments

sorted by: hot top controversial new old
[–] 15 points 1 year ago* (3 children)

I will die on the hill of bash + atuin & ble.sh being absolute peak.

Atuin is a shell-history tool that stores detailed shell history in Sqlite, and provides a TUI + fuzzy search to query it efficiently. Optional and self-hostable cross-machine sync is available too, with E2E encryption.

Ble.sh is a bash-enhancement suite that provides autocomplete, syntax highlighting, multi-line editing, etc.

You can test them both out in under 5 minutes, and uninstall them just as easily if they aren’t your cuppa. Singular warning: install ble.sh before atuin, since atuin will use a different, buggier pre-exec dependency if ble.sh is not present.

E: ble.sh is getting automatically converted into a link in my comment , and I’m not sure how to stop that w/o side effects. But the correct URLs are https://github.com/akinomyoga/ble.sh & https://atuin.sh/.

  • source
  • hideshow 3 child comments
  • [–] 7 points 1 year ago

    I also use ble.sh and I'm happy about it. Didn't want to install altshells because sometimes stuff I install includes instructions on what to add to bashrc to make it work, and other times programs might rely on bashrc being used and even put something there automatically, which is ofc a terrible practice, but it happens. Not ever having to translate commands/config from bash to another shell is a big win for me. I mostly use just a simple history-based autocomplete in ble.sh.

  • source
  • parent
  • [–] 26 points 1 year ago* (14 children)

    Install fish

    chsh -s /usr/bin/fish

    That's all, folks.

  • source
  • hideshow 14 child comments
  • [–] 15 points 1 year ago (7 children)
  • [–] 3 points 1 year ago (4 children)

    I thought it'd have better git prompt out of the box. I guess I have to try it configure.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 3 points 1 year ago* (last edited 1 year ago) (3 children)

    Default preset or did you try a preset it has different presets on the website.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 1 year ago (4 children)

    I thought you weren't supposed to use Fish as your login shell directly since it isn't fully POSIX compatible

  • source
  • parent
  • hideshow 4 child comments
  • [+] 4 points 1 year ago (3 children)
  • [–] 1 point 1 year ago

    They warn about it on their home page, so I assumed using it could bust your system. My bad.
    I think they also had harsher wording about this in the past but I might be misremembering...

  • source
  • parent
  • load more comments (-1 replies)
  • [–] 7 points 1 year ago

    I’ve enjoyed kitty + zsh + oh-my-zsh with a nice long list of plugins that I quite enjoy for a while. It’s rock solid and very easy to configure/migrate to new machines. That plus zen-full tmux and lazyvim with its own set of customizations and plugins has been a complete modern mouse friendly env for both local and remote for me for years.

    Fish is really great too. It gets you a modern shell with a lot of sensible features and defaults out of the box. I feel like it is a bit harder to customize and make your own. That is of course my opinion.

  • source
  • [–] 3 points 1 year ago*

    Zsh is still king in my book. Fish and Bash don't have the language features, and Zsh completion with menu groups is a premier experience. Fish's completion from manpages is very good, but there's also a standard zsh function to complete from --help output.

    If I were to switch shells, it would have to be to nushell.

  • source
  • [–] 1 point 1 year ago (1 child)

    For me it's wezterm (for nice tabs and nerdfonts support), starship.rs for some additional info in the prompt and, well, NerdFonts because nothing really works without them anymore. I didn't have any issues with bash but atuin someone else mentioned looks nice so I will give it a try.

  • source
  • hideshow 1 child comment
  • [–] 1 point 1 year ago

    @ExLisper @cm0002 wezterm is a fantastic terminal emulator. bit slow on startup but it's got everything you need. plus I love the lua config that reloads it on the fly, makes customizing a breeze. I use that sometimes but I always end up going back to Foot. I'm one of those "minimal, lightweight, fast" nerds and Foot is just solid and quick. Works great with Yazi and images. Use it with Oh My Zsh which I love for the plugins and is a life saver cause I ALWAYS forget commands and hell even forget the IP for my server.

  • source
  • parent
  • 16 comments in c/linux@lemmy.ml view that post
    [–] 20 points 1 year ago (6 children)

    What on earth is a modern terminal?

    There's lots of terminal emulators. I like ghostty. You can just install it.

  • source
  • hideshow 6 child comments
  • [–] 34 points 1 year ago (5 children)

    First paragraph after the introduction:

    what is a “modern terminal experience”? Here are a few things that are important to me, with which part of the system is responsible for them:

    • multiline support for copy and paste: if you paste 3 commands in your shell, it should not immediately run them all! That’s scary! (shell, terminal emulator)
    • infinite shell history: if I run a command in my shell, it should be saved forever, not deleted after 500 history entries or whatever. Also I want commands to be saved to the history immediately when I run them, not only when I exit the shell session (shell)
    • a useful prompt: I can’t live without having my current directory and current git branch in my prompt (shell)
    • 24-bit colour: this is important to me because I find it MUCH easier to theme neovim with 24-bit colour support than in a terminal with only 256 colours (terminal emulator)
    • clipboard integration between vim and my operating system so that when I copy in Firefox, I can just press p in vim to paste (text editor, maybe the OS/terminal emulator too)
    • good autocomplete: for example commands like git should have command-specific autocomplete (shell)
    • having colours in ls (shell config)
    • a terminal theme I like: I spend a lot of time in my terminal, I want it to look nice and I want its theme to match my terminal editor’s theme. (terminal emulator, text editor)
    • automatic terminal fixing: If a programs prints out some weird escape codes that mess up my terminal, I want that to automatically get reset so that my terminal doesn’t get messed up (shell)
    • keybindings: I want Ctrl+left arrow to work (shell or application) being able to use the scroll wheel in programs like less: (terminal emulator and applications)

    There are a million other terminal conveniences out there and different people value different things, but those are the ones that I would be really unhappy without.

    So basically it’s the features that have been standard in shells and terminal emulators for the past couple of decades.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 8 points 1 year ago

    From watching the questions the author was asking others just before writing this, I think at least part of the purpose of this article is to draw attention to how the shell, the kernel, the terminal emulator and other components work together to provide these features. Or, to look at it another way, which of the components is the one responsible for each part, so that the reader might know which part they need to reconfigure if they want to achieve a particular result.

  • source
  • parent
  • [–] 4 points 1 year ago (4 children)

    Of all of these things, i only miss a shared clipboard between Vim and the rest of the system (or vice versa). That would be rad!

  • source
  • hideshow 4 child comments
  • [–] 3 points 1 year ago* (last edited 1 year ago)

    whatever comes with my distro and I add modules if i need to

  • source
  • Just use whatever works. Stop worrying about what others are doing and trying to be cool with the in-crowd.

  • source
  • [–] 1 point 1 year ago* (last edited 1 year ago) (1 child)

    sudp apt-get install kitty

    You can do other stuff to make it pretty and change your prompt, too. Bam - modern 'terminal'.

  • source
  • hideshow 1 child comment
  • [–] 1 point 1 year ago* (last edited 1 year ago)

    Is that a starship prompt? How do you style that divider above the prompt that way? It looks really good.

    edit: I've read up a bunch on starship and now understand, very nice.

  • source
  • parent