|
Happy Friday! If you’ve seen my Shell Wizardry video, you’ll know I love fzf. But in my excitement to try to use it in as many clever places as possible, I failed to notice the even more useful piece which is the shell integration. Simply add one line to the end of your shell config file and the magic begins (start a new shell to see the effects). # bash eval "$(fzf --bash)" # zsh source <(fzf --zsh) # fish fzf --fish | source Inserting files/directories into commands (
|
ctrl+r)It replaces the crappy default bck-i-search you get when trying to search your command history with fzf. It’ll show things in the order you expect, but then just start typing to find what you’re looking for.
alt+c)cd-ing around is doubtless one of the most common activities for most of us in the shell. There are other handy utilities for dealing with this, like z, but fzf provides another nice one. Just hit alt+c and it’ll open up fzf with all of the directories in the current path and it’ll cd you to whichever you select. Just type a few characters, select the right one, hit enter. You’re where you want to be. This is especially handy with deeply nested directory structures.
**)Saving the best for last. Shell completion (tab-completion) is already a life saver, but fzf takes it to the next level. On commands that supports shell completion, just type ** and then hit tab, and it’ll load the relevant items in.
And this also let’s you do fuzzy finding from a relative path such as nvim ../../** instead of the current directory.
By default this only supports a subset of commands, but you can easily customize this. More details on fuzzy completion from the docs.
The fzf shell integration is honestly brilliant and simplifies a lot of common repetitive tasks that you’ll do day after day. These little quality of life improvements add up a lot over time.
I highly recommend giving it a try.
– Logan / Terminal Velocity
Automation should feel like cheating. Join me for fast, practical tips that turn your terminal into a superpower.
Happy Friday! Recently I’ve been encountering a frustrating scenario where my coding agents get a bit too enthusiastic and write some integration test logic that ends up in an infinite loop, consuming all of my system resources, crashing my desktop, and ultimately freezing the machine. Ahh, technology! I looked to my toolkit to see what the simplest way to prevent this would be, without having to overly complicate my setup. I knew systemd has a bunch of isolation utilities, so I figured it...
Happy Friday! I don’t know about you, but I’m always on the lookout for more services to try out in my home lab. I regularly check out https://github.com/awesome-selfhosted/awesome-selfhosted and https://www.reddit.com/r/selfhosted/ to see what looks interesting. This past week I was wanting to host something similar to Airtable and found that there were a few decent looking options including Baserow, Grist, and NocoDB. Being a lazy man, the natural question came up: How can I try each of...
I’m not sure how long these alliterative titles are going to work. Happy Friday! If you are a regular user of git, you’ll know that the default git diff experience leaves much to be desired. It gets the job done, and it works everywhere, so I can’t really fault it. But we can do better. delta is a plug-and-play tool that instantly makes your git diffs easier to work with. It belongs to the category of tools like bat and exa that take some integral part of your workflows and just adds nice...