A modern replacement for ls.

You list files hundreds of times a day.
Why spend your time squinting at black and white text?

exa is an improved file lister with more features and better defaults.
It uses colours to distinguish file types and metadata.
It knows about symlinks, extended attributes, and Git.
And it’s small, fast, and just one single binary.

Is this a drop-in replacement for ls?

No — exa has, in my opinion, much saner defaults than ls, so while the available command-line options are similar, they are not exactly the same. Most of the common options will work consistently, though. For example, exa prints human-readable file sizes by default, so the -h option no longer applies.

Why would I want Git in my file listing anyway?

Because you get to see the Git information alongside everything else. Yes, it’s already trivial to just run git status when you’re in your shell. But when you need to double-check exactly which files have been staged, you really need to see it clearly!