← Technical

Dotfiles

Table of Contents

Open Table of Contents

Essentials

There are a few command-line tools I use so heavily that I’m genuinely not sure how I would be productive without them.

git

Well, duh. Where would we even be as software engineers without git?

That said, I like to set a lot of aliases in my .gitconfig, like:

fzf

fzf is up there with git as one of the miracles of command-line productivity. You throw it lines of text - usually piped in from somewhere else - and it presents a fancy, and highly customizable, fuzzy-find interface. As you can see above, that’s extremely useful when writing little shell scripts.

However, what I use it for most often is actually its Ctrl-R / Ctrl-T functionality. By default, Ctrl-R replaces the shell’s built-in search, using fzf to fuzzy-find previous commands, even from days or weeks ago. Ctrl-T, meanwhile, performs a recursive fuzzy-find of filenames in the current directory and subdirectories, which is perfect to quickly pull up files by name regardless of the exact path.

rg

rg is my all-purpose, cross-repo search tool. Throw a regex at rg and it’ll chew through files looking for it, even respecting .gitignore files! I end up using it instead of my IDE’s search tool almost always - it’s just much more effective at actually finding what I’m looking for, and even works in plaintext situations, like if I need to search an Obsidian vault.

tmux

One of these days I’ll get around to writing up why I adopted tmux, but suffice to say I found my ~week of investment in learning tmux worthwhile, not least because I can operate a terminal without lifting my hands from the keyboard at all. When I’m running a terminal these days, I’m almost always running tmux. Among the benefits it offers:

I also use a few plugins:

Preferred

These are command-line tools I’ve been using a lot later that I would find inconvenient to switch away from.

Modernized Unix Tools

I use a few standard Unix utilies that I’ve aliased to more modern versions.

Situationally Useful

I don’t use this often, but they’re helpful when I do need them.