Shell Tools

fzf

fzf gives you fuzzy finding of files via the ff alias. Go to any directory, type ff, and you'll be able to fuzzy find your way to any file in that tree, while seeing a preview of the files you're narrowing down on the right-hand side.

You can use Ctrl + R to use fzf to fuzzy find through your command history.

You can use **<tab> to fuzzy find file arguments to any command, like n **<tab>, to select files to open in Neovim. When you're in that mode, press tab in front of every file you want to add to the set of files to open.

This tool is also used by Neovim when you type Space Space.

fzf.png

Zoxide

Zoxide is a replacement for cd. It remembers the directories you've been in, so you can more easily jump to them next time. Say you do cd ~/.local/share/omakub once. Next time, you can just do cd omakub, and Zoxide will take you directly there.

ripgrep

ripgrep searches the contents of files by using rg <pattern> <path>, like rg Controller app/ to find all mentions of Controller in the directory app.

This tool is also used by Neovim when you type Space S G.

ripgrip.png

eza

eza is a replacement for ls. It gives you directory listings with more information, color, and icons. By default, eza has been aliased as ls. You can also use lt to get a listing of two-deep levels of nesting. lsa gives you a listing including hidden files. And lta a nested listing with hidden files.

fd

fd is an easier to use replacement for find. Use fd person.rb to find a file called person.rb within the current tree. fd person.rb / will search the entire file system. fd person.rb / -H searches the entire file system, including hidden directories.