Live data from Hacker News

Exa: An alternative to Ls

the.exa.website

61–70 of 105 posts

Re: Exa: An alternative to Ls

#61
post #24

Earlier quoted context omitted.

Did the link get edited or something? OP takes me to https://the.exa.website/introduction , which has a nice tutorial with all of the features and how to install.

Same here. I thought it was an alright little manifesto.

It's fine as a manifesto but no where does that introduction page actually say why you might want to bother switching over from ls in the first place.

Re: Exa: An alternative to Ls

#62

I've been loving all the new rust-based CLI tools; you can find a lot of them here [0]. So far I've used ripgrep, fd-find, sd, exa, bat. I care less about speed and more about ease-of-use and beautiful output. Another bonus is standardized tooling between Mac and Linux; little bsd differences have been driving me nuts since I took a job that forced me into a MacBook, but these tools solve that issue and are easy to i…

> Another bonus is standardized tooling between Mac and Linux;

This is why I just use a modern cross platform shell that has everything built in. My choice is PowerShell since I flip between Linux and Windows, Nushell is also a solid choice if you want something more Unixy.

Re: Exa: An alternative to Ls

#63
post #32

I've been loving all the new rust-based CLI tools; you can find a lot of them here [0]. So far I've used ripgrep, fd-find, sd, exa, bat. I care less about speed and more about ease-of-use and beautiful output. Another bonus is standardized tooling between Mac and Linux; little bsd differences have been driving me nuts since I took a job that forced me into a MacBook, but these tools solve that issue and are easy to i…

> little bsd differences have been driving me nuts since I took a job that forced me into a MacBook, but these tools solve that issue and are easy to install with Homebrew. I'm in the same boat as you - I love the the rust-based CLI tools. I would also recommend installing the GNU coreutils via homebrew ( https://formulae.brew.sh/formula/coreutils ). This lets you run the GNU coreutils by prefixing them with a `g`, l…

There’s a way also to remap the gnu coreutils to their normal commands without the g prefix. I did it a while ago but I can’t recall exactly how…

Re: Exa: An alternative to Ls

#64
post #32

Earlier quoted context omitted.

> little bsd differences have been driving me nuts since I took a job that forced me into a MacBook, but these tools solve that issue and are easy to install with Homebrew. I'm in the same boat as you - I love the the rust-based CLI tools. I would also recommend installing the GNU coreutils via homebrew ( https://formulae.brew.sh/formula/coreutils ). This lets you run the GNU coreutils by prefixing them with a `g`, l…

Oh that's neat, thanks. Given you also use the rust tools, where do you find yourself reaching for the g* tools?

I use the gnu coreutils because small things like cli flags are different for the macos implementations. So for example some aliases in my .zshrc didn’t work on my MacBook. I come from a Linux background so it was nice for me to have coreutils behave exactly how I’m used to. Some people prefer gnu software for ideological reasons too.

It was one of the flags for ‘ls’ in particular that made me switch. There’s a way to add the gnu coreutils to your path without the g prefix so I never even notice the difference.

Re: Exa: An alternative to Ls

#65

I wish the authors thought a little bit more about the actual physicality of typing out commands. `exa` on a QWERTY keyboard is typed on one hand, across three rows, and with the weakest fingers. I guess I could put this into muscle memory, but I expect an `ls` like command to be ergonomic to some degree and I see myself making a lot of typos.

I put some thought into that naming https://github.com/c-blake/lc which I think is basically uniformly more capable than exa.

Re: Exa: An alternative to Ls

#66

> You list files hundreds of times a day. Why spend your time squinting at black and white text? I don't spend any time squinting... And personally the bright colors shown in the example are harder on my eyes than the shades of gray I've selected in my terminal emulator. I also work with a large number of systems, and prefer to work from muscle memory with the tooling that is installed by default 100% of the time. Pa…

Actually, I did at first look into this kind of a modification of GNU ls, but its internal concepts of how to classify files is just not amenable to generalization along the lines of https://github.com/c-blake/lc . Basically, the patch would be to thoroughly overhaul guts of the command and libraries it uses and be so unclean that starting from scratch is better, even if you wanted to "stay in C".

It's not like the patch would be installed 100% of the time anyway, and shell aliases can paper over divergent installations. So, it's 100% fine if none of these features matter to you - to each his own indeed - but I thought your point deserved a reply.

(EDIT: also, `lc` is < 1000 lines of pretty tabular Nim code; Nim is a very high productivity language; exa and GNU ls are both effectively like 10x more code, IIRC. But yeah, you do need to have the Nim compiler installed)

Re: Exa: An alternative to Ls

#67

Does anybody have experience with `lc`? The description is quite intriguing. https://github.com/c-blake/lc c-blake/lc: A post-modern, "multi-dimensional", configurable, abbreviating, extensible ls/file lister in Nim

Author here; I have experience using it 100s of times per day since I wrote it. There are a couple of things that I don't use (like selinux) support that may be a little hinky. I have a few loyal users, but I don't hear much feedback about troubles they might have.

It has kind of a long history. I first did a prototype in Python about year 2000 and then a year later a re-write in C which I used for a couple of decades and then an I think pretty nice 3rd gen in Nim. (Often one doesn't really get it all layered correctly until 3rd try, even for something kinda simple like `ls`.)

Miller columns a la NeXTStep is something easy to simulate with `lc` via the glob abbreviation { paste Among unusual ones is "tweak" files; Got a directory that you want special defaults for? Just drop in a `.lc` file. (With some parallel hierarchy features when perms do not allow that directly.) This is sort of like Windows remembering what sorting/layout options you clicked on, but manual and opt-in (and far more general).

Re: Exa: An alternative to Ls

#68

Until exa came around, I would install the GNU core utilities on my mac because the BSD ls doesn't have the option to group directories first.

https://github.com/c-blake/lc can do that and more; Indeed you can group "dot directories" differently than "non-dot directories". When I sat down to write `lc` I went through all of exas issues and features and included as much as I felt reasonable.

I never liked the graphical tree mode, though. I prefer packing as much information as possible into small real estate (like cell phone terminal screens).

https://github.com/c-blake/procs does include some "indentation" oriented tree viewing, though, and uses much of the same kind of classification-colorization as `lc`, just for process table listings (on Linux only for now). It also has "user tweakable aggregation" (kind of the reverse of listing the sub-threads in process).

Re: Exa: An alternative to Ls

#69

I wish the authors thought a little bit more about the actual physicality of typing out commands. `exa` on a QWERTY keyboard is typed on one hand, across three rows, and with the weakest fingers. I guess I could put this into muscle memory, but I expect an `ls` like command to be ergonomic to some degree and I see myself making a lot of typos.

This is a basic flaw in the design of unix. The user interface is coupled to the implementation. To accomplish a task, you don't describe the task - you write the name of a program that executes that task. Once a program is named, no other program can be named that ever again.

Imagine if programming languages worked that way.

Post reply on HN