Not strictly a better programmer but a more efficient one.

- FZF (Fuzzy Finder) really speeds thing up in bash when searching your history.

- Vim (as others have mentioned). With the plugin vim-fugitive (a git related vim plugin). I love Gblame in vim-fugitive, as being able to look at the history of lines of code and stepping back in time can at times be very useful.

- Creating various aliases. For example in git I have little aliases which just make me faster. "st" = "status", "rbi" = "rebase --interactive", "ci' = "commit", etc...

- Using The Silver Searcher (ag) or Ripgrep (rg) instead of grep. Much faster than using grep.

- Using 'fd' instead of find. Like above it is a lot faster.

I've installed rg and aliased it to to grep, so the muscle memory stays the same but underneath the tool is changed.

Also works for

ls -> exa

cat -> bat

exa completely breaks ls arguments/switches and as such is a hard pass for me.

I have since switched to lsd: https://github.com/Peltoche/lsd