Things to make the every-day better
These are all standalone tools, not Node modules, browser or VS Code extensions.
Silver Searcher (
ag for short) is a fantastically fast searcher, much faster than
grep. It comes with defaults which work for the majority of cases. It understands
.gitignore files, as well as ignore files for other tools, so it can avoid searching ‘uninteresting’ files.
It’s easy to use to search specific source formats, and it knows to ignore object files and other generated files by default.
I’m told ripgrep is also a good grep replacement, but I haven’t tried it.
fd is like
ag - it's a replacement for a common tool (
find) which does it faster and better. Again, it natively understands
.gitignore files and the like. It's also clever enough to understand about things like
node_modules or the Rust target directory - for example:
The difference is a lot of files in the various
target/debug/build/ directories - usually you don't want to be searching there. If you do then of course there’s a flag (
-I) to let you do that.
You can also easily use it as input to other tools, like
fzf is a fuzzy finder, and it's one of those things that once you've found it you can't imagine not using it. I use it with Ctrl-R in
bash, so I can fuzzy-search my command history, which is awesome.
It integrates with Vim (and other editors), to quickly search file lists, and you can also use it with the output of tools like
ag, to quickly search the search results:
Visually seeing differences in binary files — maybe not something that everyone is going to need. But if you work with binary files every day then this is a wonderful tool.
You can use it as a diff tool, where it excels, or you can use it as a plain hex editor.
I admit, it took me a while to come across to tmux — I used GNU screen for years. I finally decided I should give tmux a sustained try, and I use it for everything now.
I find it a lot easier to do things like split the current window (into ‘panes’), create new windows in a particular session, stuff like that. The
tmux-continuum plugins are awesome for getting back to where you were, even after a system reboot — they can even restore Vim sessions.
Your own personal desktop wiki. Looking at the plugin list I think people also use it for producing static websites and other more advanced stuff.
I tend to use it mostly for working notes, stashing things away that I’ll need to remember another time (like particular command lines), a summary of what I’ve been doing for the weekly team meeting, stuff like that.
Nothing drastically exciting — but it’s cross-platform, and it generally works well and does what it’s supposed to. Nothing to complain about there.
Last we have another tool, a bit like vbindiff in that a lot of people probably won’t be using make. If you are, then you’ve almost certainly had the scenario at one point where compilation of an artifact has failed, and it’s not at all obvious why, or even why it was being built.
remake solves those problems, and provides a nice backtrace for build errors. Think of it a bit like gdb for Makefiles. The best recommendation is to go check out the webpage — anything I could add here would be redundant, they’ve got it covered.