Friday, October 7, 2022
HomeRuby On Rails4 Helpful fzf Tips for Your Terminal

4 Helpful fzf Tips for Your Terminal

Welcome, you’re in all probability considering utilizing probably the greatest instruments for command-line – fzf. fzf is a command-line software for fuzzy looking out. Nicely, at first, it would sound that not engaging. However, bear with me, it is extremely horny, and it’ll make your life simpler whereas leaping by way of your shell.

I ready 4 methods that you may sustain your sleeve each time you’re contained in the terminal. However first, let’s go over how we are able to arrange fzf.

Wheelie on a four-wheeler
Photograph by Devon Janse van Rensburg on Unsplash

Getting began

Should you haven’t already, you possibly can set up fzf utilizing Git:

git clone --depth 1 ~/.fzf
~/.fzf/set up

I discovered it probably the most easy. Or, if you’re on macOS and need to skip all of the fuss, you need to use the next command:

brew set up fzf

$(brew --prefix)/choose/fzf/set up

Should you’re nonetheless having bother, check out the fzf docs about putting in.

Mic Test

After putting in, let’s go and check out the essential fzf performance. You’ll be able to attempt to run fzf inside your terminal. It’s best to see one thing like this:

Basic usage of the fzf command

The fuzzy finder launches throughout your terminal window, and you’ll seek for no matter file you need. The cool factor is that fzf if indexing information as you sort. In case your listing doesn’t have a lot complexity relating to information and dirs, you received’t discover the indexing on the backside.

1. Fuzzyily Change Directories

The primary trick at the moment is utilizing fzf to rapidly cd right into a listing. You’ll be able to press ALT + c (OPTION + c on macOS), and you’ll get an interactive immediate. Have a look beneath:

Using fzf alt-c feature

It begins indexing the contents of all of the directories which can be contained in the one you’re in proper now. You can begin typing for the wished listing, choose the one you want with arrow keys, and press the enter key to get into it. Handy, proper?

2. Swoosh By means of Historical past

The second trick and one in every of my favorites, to be trustworthy, is the flexibility to look by way of the command historical past with fzf. To get began, press CTRL + r in your terminal. Then, seek for a command you typed beforehand. It’s best to see one thing like this:

Search command history with fzf ctrl-r

You’ll be able to rapidly bounce to the command you typed a while in the past. I discover it tremendous helpful on a day-to-day foundation.

3. Autocomplete Something

You’ll be able to make the most of fzf nearly anyplace in your terminal. One of many default options is to will let you discover the method to kill rapidly. You’ll be able to attempt it out by typing kill -9 and urgent TAB. If that doesn’t work, sort kill -9 ** and TAB. Now you can seek for the method or a number of processes you need to finish.

It’s also possible to rapidly search by way of hostnames to SSH. To do that, sort ssh ** and press TAB. You’re going to get the interactive search to search out the wished hostname.

To sum up, listed below are a few of the choices you need to use by default:

kill -9 **<TAB>

ssh **<TAB>
telnet **<TAB>

unset **<TAB>
export **<TAB>
unalias **<TAB>

Should you get uninterested in typing **, you possibly can change the fzf set off by setting FZF_COMPLETION_TRIGGER variable. For instance:


If you wish to take this to the following step, check out the fzf-tab plugin. I’m utilizing zsh and oh-my-zsh, so it was fairly easy to arrange. The plugin mainly “plugs in” fzf into your default tab completion. I recommend you attempt it out.

4. Preview Information Earlier than Deciding on Them

One other cool factor to check out is the preview characteristic of the fzf. It means that you can preview information earlier than you open them. To entry it, you’ll want to move --preview- to fzf. Let’s see it in motion:

fzf preview window

The command I name is:

fzf --preview 'bat --style=numbers --color=all the time --line-range :500 {}'

However you possibly can customise this all you need. My command makes use of the bat, the cat clone you’ll find on GitHub. It’s also possible to go together with the easy cat command like so:

Or, if you wish to push this a bit extra, you possibly can set the default preview choices when finishing particular instructions. You’ll be able to present the tree view of the directories and information like so:

Switch directory with fzf preview

You’ll be able to obtain the same utilizing the facility of the tree. I needed to set up it on macOS with brew set up tree. Then, I added the _fzf_comprun perform to load on shell initialization (you possibly can add it in .bashrc or .zshrc). Right here is the way it appears:

You’ll be able to add extra instances with extra instructions should you’d like as a result of you may want the completely different instructions to indicate the preview in different instances. For instance, cat and bat will work properly for information however not for previewing directories and hostnames to SSH into.

5. BONUS: Combine with Vim

Should you’re already utilizing Vim (otherwise you’re planning), I have to let you know that fzf matches with Vim completely. The fuzzy search, preview home windows, and customization choices are so pretty you’d going to want to have it in each different state of affairs.

Should you’re considering organising Vim and fzf, take a look at my weblog put up about enhancing Vim workflow with fzf. Additionally, I preserve and add new options to my dotfiles on GitHub should you’re considering my setup.

Sum Up

fzf is a superb software to have in your toolbelt, particularly should you’re dwelling contained in the terminal. I hope this weblog put up taught you one thing new or impressed you to attempt a few of these methods.

Should you favored what you learn, take into account subscribing to my e-newsletter to get up to date when a brand new put up comes up. Additionally, you possibly can remark, like, or share this with your mates on Twitter beneath:

Catch you within the subsequent one, cheers.



Please enter your comment!
Please enter your name here

Most Popular

Recent Comments