Skip to content

Comment on Htop 3.0parent

Comments

There's a few I now prefer over their old counterparts: fd, ag, bat.

fd and ag (or rg) just do what I expect them to, I don't need to think about how to use them. Both find and grep's syntax trip me up, even after 20 years of using them.

What's bat do? (I'm on board with you on fd and rg)

bat is essentially a fancier version of cat. It's fully backward compatible but supports syntax highlighting, paging and has git integration.

It's written by the same developer as fd

https://github.com/sharkdp/bat

Bat is a cat replacement with syntax highlighting, formatting options; it works great with fd. What's rg?

ripgrep (the binary name is rg) is a faster grep written in Rust.

https://blog.burntsushi.net/ripgrep/ explains in detail _how_ it's so fast, and is a great reading on practical performance engineering.

The interface is nearly 1:1 with `ag` (and the older `ack`). One notable difference is that ag enables `--smart-case` by default, so it treats an all-lowercase pattern as case-insensitive, while `rg` doesn't, you need an explicit `rg -i`. (or set it in a config file, but I'd rather not learn defaults that won't work out-of-the-box on other machines).

Note that -i will always enable case insensitivity. The -S flag will enable the same kind of smart case behavior that ag has (and with fewer bugs).

For me the interface is the draw rather than speed. I use ag rather than rg, but doing `ag search-term path` is how I'd expect it to work. Plus, automatically ignoring .git and other metadata files out of the box is a time saver.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.