I have a strong bias for staying with tools that are installed by default. After this many years working with new systems of my own, containers, and systems where I’m not root, the added value of an alternativehas to be quite high for me to switch a core utility.
Thay said, I’ve found fd, ripgrep, and helix to meet that criteria. The others, not so much; they either don’t improve upon or add functionality that’s not available, or simply add eye candy. Gaining pretty colors is nice, but not worth losing familiarity with ubiquitous tools.
git-delta is an exception where the syntax highlighting can make a functional difference in code diffs. Not so much that I think about installing it, or using it outside of indirect VCS configuration, but it is a good example of using style for more than just eye candy. I prefer difftastic, but they do much the same.
While it’s not a replacement for an existing tool and isn’t in your list, nnn is very helpful in many cases, especially bulk renames and reorganizations.
they either don’t improve upon or add functionality that’s not available, or simply add eye candy. Gaining pretty colors is nice, but not worth losing familiarity with ubiquitous tools.
The thing I like about a lot of these is that I don’t lose familiarity with existing tools. When I end up on a cluster that doesn’t have them, I’m a bit annoyed, but I can still operate just fine.
The principle exception to this is actually fd - I now find find (har!) almost unusable without having a man page open in a separate terminal. But that’s because fd is so much more ergonomic and powerful, I would never give it up unless forced.
I unfortunately do not have your crystaline perfect recall. I used vi/m for nearly 20 years before drifting onto kakoune and now helix; I’ve been using them for about a year, and it’s getting harder and harder to not make reflexive mistakes when I’m trying to use vim. sed was already odd with regex escaping (parens but not brackets? Why??), and I know the less I use it the more I’ll forget. This is crippling when I have to work on a system that doesn’t have these new tools installed.
What I mean is that many of them have basically the same functionality with the same arguments. I don’t mean I have pristine memory for the differences, but things like aliasls="eza" is basically a drop in replacement with some added features. So when I’m on a server without it, everything is basically the same, just less fancy.
Helix and fd are an example of the other pattern - they are huge improvements over existing tools, to the point that when I’m forced to use the basic ones, I’m actively crippled. But as an argument not to use the better tool day-to-day, this doesn’t make sense to me. Why would I force myself to suffer 95% of the time to save myself from suffering 5% of the time?
I mean, for helix/vi it’s even clearer. Vanilla vi is basically unusable for me anyway, and I needed a huge number of plugins to be serviceable - on a basic cluster environment, I’m going to be crippled anyway, so…
While it’s not a replacement for an existing tool and isn’t in your list, nnn is very helpful in many cases, especially bulk renames and reorganizations.
Can you give an example on the reorganization benefits with nnn? I am using it myself but I still feel like a noob with it.
So, I did a whole asciinema demonstration to show you, but it was getting tedious. It started to turn into a whole tutorial, and I really didn’t want to go there. That’s why it’s taken so long for me to reply.
But there are three things I do with nnn:
move things. I use the tabs (1-4) to open different directories, space-select multiple items, and ‘v’ to move selected items to directories
bulk rename. Again, space-select and ctrl-r to bulk rename. Often, I don’t even select, I just ‘R’ to bulk rename the whole directory. This opens my text editor with all of the file/Dir names; edit freely, save, exit, and nnn renames whatever changed.
move/copy to remote locations. With ‘c’ nnn can mount a remote directory over ssh in a tab, and it works just like a local directory, with copying, moving, and renaming seamlessly between tabs.
I don’t “live” in nnn; it’s a tool I open when I want to do certain things - it’s fast enough to use this way. But you certainly could, since nnn can fork shell processes in selected directories.
You are of course welcome to your opinion. Use whatever tools bring you joy. But I’m a huge fan of helix, and think zellij is great (though I prefer wezterm’s mux server when I can use it).
The thing is, helix has useable defaults, you dont need plugins, thats the whole point for me. Keeping plugins up to date across machines and making sure they work is just tiresome.
In terms of tmux/zellij can’t say much, but I never got used to tmux because the controls seem unintuitive. Tested zellji just briefly and it seems it tries to show you the controls instead of hiding them, which is helpful if you are trying to get used to something.
Yes. The only things I use regularly that aren’t aliased to or replaced by a rust-built tool are
mkdir
,ln
, andrsync
.Probably some others I’m forgetting
I have a strong bias for staying with tools that are installed by default. After this many years working with new systems of my own, containers, and systems where I’m not root, the added value of an alternativehas to be quite high for me to switch a core utility.
Thay said, I’ve found fd, ripgrep, and helix to meet that criteria. The others, not so much; they either don’t improve upon or add functionality that’s not available, or simply add eye candy. Gaining pretty colors is nice, but not worth losing familiarity with ubiquitous tools.
git-delta is an exception where the syntax highlighting can make a functional difference in code diffs. Not so much that I think about installing it, or using it outside of indirect VCS configuration, but it is a good example of using style for more than just eye candy. I prefer difftastic, but they do much the same.
While it’s not a replacement for an existing tool and isn’t in your list, nnn is very helpful in many cases, especially bulk renames and reorganizations.
The thing I like about a lot of these is that I don’t lose familiarity with existing tools. When I end up on a cluster that doesn’t have them, I’m a bit annoyed, but I can still operate just fine.
The principle exception to this is actually
fd
- I now findfind
(har!) almost unusable without having a man page open in a separate terminal. But that’s becausefd
is so much more ergonomic and powerful, I would never give it up unless forced.I unfortunately do not have your crystaline perfect recall. I used vi/m for nearly 20 years before drifting onto kakoune and now helix; I’ve been using them for about a year, and it’s getting harder and harder to not make reflexive mistakes when I’m trying to use vim. sed was already odd with regex escaping (parens but not brackets? Why??), and I know the less I use it the more I’ll forget. This is crippling when I have to work on a system that doesn’t have these new tools installed.
What I mean is that many of them have basically the same functionality with the same arguments. I don’t mean I have pristine memory for the differences, but things like
alias ls="eza"
is basically a drop in replacement with some added features. So when I’m on a server without it, everything is basically the same, just less fancy.Helix and fd are an example of the other pattern - they are huge improvements over existing tools, to the point that when I’m forced to use the basic ones, I’m actively crippled. But as an argument not to use the better tool day-to-day, this doesn’t make sense to me. Why would I force myself to suffer 95% of the time to save myself from suffering 5% of the time?
I mean, for helix/vi it’s even clearer. Vanilla vi is basically unusable for me anyway, and I needed a huge number of plugins to be serviceable - on a basic cluster environment, I’m going to be crippled anyway, so…
Can you give an example on the reorganization benefits with nnn? I am using it myself but I still feel like a noob with it.
So, I did a whole asciinema demonstration to show you, but it was getting tedious. It started to turn into a whole tutorial, and I really didn’t want to go there. That’s why it’s taken so long for me to reply.
But there are three things I do with nnn:
I don’t “live” in nnn; it’s a tool I open when I want to do certain things - it’s fast enough to use this way. But you certainly could, since nnn can fork shell processes in selected directories.
The last point is new to me, will check it out, thank you!
Nice, I use almost all these! helix, btm, exa, and delta are wonderful.
Maybe sure to replace exa with eza. Exa has been unmaintained for a while and eza is the maintained replacement.
Ah hadn’t realized. Looks like arch AUR was smart about it and yanked exa, and eza had an automatic alias to it.
Removed by mod
You are of course welcome to your opinion. Use whatever tools bring you joy. But I’m a huge fan of helix, and think zellij is great (though I prefer wezterm’s mux server when I can use it).
Can you also give arguments to your opinion?
Removed by mod
The thing is, helix has useable defaults, you dont need plugins, thats the whole point for me. Keeping plugins up to date across machines and making sure they work is just tiresome. In terms of tmux/zellij can’t say much, but I never got used to tmux because the controls seem unintuitive. Tested zellji just briefly and it seems it tries to show you the controls instead of hiding them, which is helpful if you are trying to get used to something.