All Projects → unixorn → fzf-zsh-plugin

unixorn / fzf-zsh-plugin

Licence: Apache-2.0 license
ZSH plugin to enable fzf searches of a lot more stuff - docker, tmux, homebrew and more.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to fzf-zsh-plugin

smartcd
Expedite your navigation of Linux filesystem.
Stars: ✭ 35 (-70.09%)
Mutual labels:  fzf, zsh-plugin
jq-zsh-plugin
jq zsh plugin
Stars: ✭ 155 (+32.48%)
Mutual labels:  fzf, zsh-plugin
Dotfiles
Well documented awesome dotfiles 😍 Many neovim lua configs, handy zsh/bash functions, fzf functions + more
Stars: ✭ 64 (-45.3%)
Mutual labels:  fzf, fzf-scripts
Dotbare
Manage dotfiles and any git directories interactively with fzf
Stars: ✭ 327 (+179.49%)
Mutual labels:  fzf, zsh-plugin
Fzf Widgets
ZLE widgets of fzf
Stars: ✭ 72 (-38.46%)
Mutual labels:  fzf, zsh-plugin
Enhancd
🚀 A next-generation cd command with your interactive filter
Stars: ✭ 2,049 (+1651.28%)
Mutual labels:  fzf, fzf-scripts
fzf.aws
🌀 Using fuzzy finder to perform AWS operations on the command line
Stars: ✭ 63 (-46.15%)
Mutual labels:  fzf, fzf-scripts
Fzf Marks
Plugin to manage bookmarks in bash and zsh
Stars: ✭ 343 (+193.16%)
Mutual labels:  fzf, zsh-plugin
Fzf Tab
Replace zsh's default completion selection menu with fzf!
Stars: ✭ 761 (+550.43%)
Mutual labels:  fzf, zsh-plugin
Forgit
💤 A utility tool powered by fzf for using git interactively.
Stars: ✭ 1,823 (+1458.12%)
Mutual labels:  fzf, zsh-plugin
Z.lua
⚡ A new cd command that helps you navigate faster by learning your habits.
Stars: ✭ 2,164 (+1749.57%)
Mutual labels:  fzf, zsh-plugin
tmuxinator-fzf-start
Uses fzf to provide a selection list for starting tmuxinator projects
Stars: ✭ 31 (-73.5%)
Mutual labels:  fzf
tumult.plugin.zsh
Tumult is a collection of macOS-specific functions and scripts for your shell environment. It is packaged as a ZSH plugin, but can be used with other shells as well.
Stars: ✭ 147 (+25.64%)
Mutual labels:  zsh-plugin
nvim-contabs
contextual tabs for vim/neovim
Stars: ✭ 20 (-82.91%)
Mutual labels:  fzf
dotfiles
My doots. Changes are frequent, stability not guaranteed. Supports Arch, CentOS and Darwin.
Stars: ✭ 27 (-76.92%)
Mutual labels:  fzf
dotfiles
mac OS, Arch Linux, and Debian/Ubuntu
Stars: ✭ 286 (+144.44%)
Mutual labels:  fzf
nvim configration
Neovim diy develop enviroment.This project integrates neovim tmux zsh and some very useful plugs of them including YouCompleteMe FZF auto pairs nerdtree ncm2 and so on.
Stars: ✭ 22 (-81.2%)
Mutual labels:  fzf
zsh-fast-alias-tips
Help remembering the aliases you defined once
Stars: ✭ 58 (-50.43%)
Mutual labels:  zsh-plugin
dotfiles
⚫️ ~ is where the ♥ is - my dotfiles.
Stars: ✭ 94 (-19.66%)
Mutual labels:  zsh-plugin
git
Provides nice git aliases and functions.
Stars: ✭ 26 (-77.78%)
Mutual labels:  zsh-plugin

fzf-zsh-plugin

License Awesomebot Superlinter Code Climate

Table of Contents

This ZSH plugin enables using fzf to search your command history and do file searches.

It will automagically install fzf into your home directory if it isn't already there, and bind ^R to an fzf-powered search of your command history.

Created for the zsh-quickstart-kit to make the default setup have a more 'batteries included' feel.

Yes, there is a plugin baked into oh-my-zsh, this allows easy fzf integration for other frameworks and shells, and adds some helper scripts.

Note - while these scripts could all be ZSH functions instead of scripts in the bin directory, it uses standalone scripts so that non-ZSH users can also use the repository by adding its bin directory to their $PATH.

Contents

Name Description Author
asdf-install Install one or more versions of the specified language with fzf and installs your selection with asdf fzf wiki
asdf-uninstall Select one or more versions of the specified language with fzf and uninstalls your selection with asdf fzf wiki
chrome-bookmark-browser Rummages through your Chrome bookmarks with fzf and opens the selected bookmark(s) in your default browser fzf wiki
d-attach Uses fzf to select docker containers to start and attach to. From the fzf wiki
d-image-rm Uses fzf to select docker images to remove. From the fzf wiki
d-rm Uses fzf to select docker containers to remove. From the fzf wiki
d-stop-container Stop a Docker container.
falias Searches your ZSH aliases, then puts your selection on the mac clipboard (macOS only)
fif Uses fzf and rg to find a term in files Boost Your Command-Line Productivity With Fuzzy Finder
fzf-brew-cask-install Uses fzf to select programs to install (or show the home page) based on the output of brew cask search Boost Your Command-Line Productivity With Fuzzy Finder
fzf-brew-cask-uninstall Uses fzf to select brew-installed programs to delete (or show the home page) Boost Your Command-Line Productivity With Fuzzy Finder
fzf-brew-install Uses fzf to select programs to install based on the output of brew search Boost Your Command-Line Productivity With Fuzzy Finder
fzf-brew-uninstall Uses fzf to select brew-installed programs to delete Boost Your Command-Line Productivity With Fuzzy Finder
fzf-brew-update Uses fzf to select brew-installed programs to update Boost Your Command-Line Productivity With Fuzzy Finder
fzf-find-edit Uses fzf to select files (displaying previews) to edit with $EDITOR Boost Your Command-Line Productivity With Fuzzy Finder
fzf-git-branch Uses fzf to select a branch name in a git repository for use in scripts From Mark Nielsen's Fuzzy Git Checkout article
fzf-git-checkout Uses fzf to check out a branch in a git repository From Mark Nielsen's Fuzzy Git Checkout article
fzf-grep-edit Uses fzf to select files (displaying previews) that contain a search term to edit with $EDITOR Boost Your Command-Line Productivity With Fuzzy Finder
fzf-kill Uses fzf to select processes to kill Boost Your Command-Line Productivity With Fuzzy Finder
lessfilter-fzf A less pre-processor to nicely display a wide range of file formats, including images and directories that can be used to show fzf previews (see Customization section). Aloxaf/fzf-tab - Wiki/Preview
pr-list Use fzf to select a PR using gh ?
tm Uses fzf to search for a tmux session or create one if there are no matches. From the fzf wiki
tmux-kill Uses fzf to select a tmux session and kill it. From the fzf wiki
tmux-search Uses fzf to select a tmux session. Skips fzf if there's only one match, exits if no match. From the fzf wiki
vagrant-box-search Uses fzf to select a vagrant box and connect to it with ssh. From the fzf wiki

Installing

You should set this plugin to be last, or near to last in your framework's list of plugins to load. It dynamically generates $FZF_DEFAULT_OPT and $FZF_DEFAULT_COMMAND based on whether it sees things like rg and bat in your $PATH, so it should come after other plugins have had a chance to extend your $PATH.

Zgenom

Add zgenom load unixorn/fzf-zsh-plugin to your .zshrc with your other load commands.

Antigen

Add antigen bundle unixorn/fzf-zsh-plugin@main to your .zshrc

Note that until zsh-users/antigen#717 gets fixed in Antigen, it only recognizes plugins in master branch. So you need to explicitly specify @main here.

Oh-My-Zsh

  1. git clone https://github.com/unixorn/fzf-zsh-plugin.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-zsh-plugin
  2. Add fzf-zsh-plugin to your plugin list - edit ~.zshrc and change plugins=(...) to plugins=(... fzf-zsh-plugin)

Without using a framework

  1. git clone [email protected]:unixorn/fzf-zsh-plugin.git, then add its bin directory to your $PATH.
  2. Add source /path/to/repository/checkout/fzf-zsh-plugin.plugin.zsh to your .zshrc file.

The scripts in this collection don't actually require you to be using ZSH as your login shell, they're being distributed as an oh-my-zsh-compatible plugin because it's convenient for me.

(optional) Install recommended tools

Optionally, to make the most out of fzf preview (? toggle), install the following tools and enable the advanced preview (see Customization section):

  • exa - improved file/directory listing,
  • bat - a cat clone with syntax highlighting and Git integration,
  • chafa - show images (the image can look better or worse depending on the terminal app you use),
  • exiftool - also show image metadata,
  • lesspipe.sh, e.g. brew install lesspipe - and other optional tools lesspipe.sh relies on. See https://github.com/wofr06/lesspipe
    Note: This is not the lesspipe already bundled in Ubuntu/Debian but an improved one (while package is called lesspipe, the binary is lesspipe.sh).

Customization

You can customize a few features by exporting the following environment variables in your init script (.zshrc/.bashrc or similar):

Export variable Description
export FZF_PREVIEW_ADVANCED=true Use less viewer with a pre-processor to display improved previews for a wide range of files (requires you to install at least exa, bat, chafa, exiftool; and very recommended lesspipe.sh and the tools it uses underneath: mdcat, in2csv,...). This is an opt-in feature.
export FZF_PREVIEW_WINDOW='' Set any value supported by fzf --preview-window option, e.g. right:65%:nohidden will show the preview by default.
export FZF_PATH='' Path to install fzf binary and script, e.g. ${HOME}/.config/fzf.

A note on lessfilter-fzf

You can also use it as a general less preprocessor to extend the less capabilities. To do that, place the following in your shell init scripts (.zshrc/.bashrc or equivalent):

export LESSOPEN='| lessfilter-fzf %s'

Ultimately, lesspipe.sh (if present) will still honor your own lessfilter if found in your PATH, leading to the following execution: lessfilter-fzf > lesspipe.sh > lessfilter.

Other FZF resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].