fzf VS helm

Compare fzf vs helm and see what are their differences.

fzf

:cherry_blossom: A command-line fuzzy finder (by junegunn)

helm

Emacs incremental completion and selection narrowing framework (by emacs-helm)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
fzf helm
405 48
59,462 3,345
- 0.3%
9.5 9.7
5 days ago 5 days ago
Go Emacs Lisp
MIT License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

fzf

Posts with mentions or reviews of fzf. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-10.
  • pyfzf : Python Fuzzy Finder
    2 projects | dev.to | 10 Mar 2024
    fzf : https://github.com/junegunn/fzf
  • Command Line Fuzzy Search
    1 project | news.ycombinator.com | 15 Feb 2024
  • So You Think You Know Git – Git Tips and Tricks by Scott Chacon
    6 projects | news.ycombinator.com | 13 Feb 2024
    Those are the most used aliases in my gitconfig.

    "git fza" shows a list of modified/new files in an fzf window, and you can select each file with tab plus arrow keys. When you hit enter, those files are fed into "git add". Needs fzf: https://github.com/junegunn/fzf

    "git gone" removes local branches that don't exist on the remote.

    "git root" prints out the root of the repo. You can alias it to "cd $(git root)", and zip back to the repo root from a deep directory structure. This one is less useful now for me since I started using zoxide to jump around. https://github.com/ajeetdsouza/zoxide

  • Which command did you run 1731 days ago?
    9 projects | news.ycombinator.com | 21 Jan 2024
    > my history is so noisy I had to find another way

    The fzf search syntax can help, if you become familiar with it. It is also supported in atuin [2].

    [1]: https://github.com/junegunn/fzf#search-syntax

    [2]: https://docs.atuin.sh/configuration/config/#fuzzy-search-syn...

  • Z – Jump Around
    16 projects | news.ycombinator.com | 15 Jan 2024
    You call it with `n` and get an interactive fuzzy search for your directories. If you do `n ` instead, it’ll start the find with `` already filled in (and if there’s only one match, jump to it directly). The `ls` is optional but I find that I like having the contents visible as soon as I change a directory.

    I’m also including iCloud Drive but excluding the Library directory as that is too noisy. I have a separate `nl` function which searches just inside `~/Library` for when I need it, as well as other specialised `n` functions that search inside specific places that I need a lot.

    ¹ https://github.com/sharkdp/fd

    ² https://github.com/junegunn/fzf

  • alacritty-themes not working any more!!!
    6 projects | dev.to | 7 Jan 2024
    View on GitHub
  • Fish shell 3.7.0: last release branch before the full Rust rewrite
    9 projects | news.ycombinator.com | 1 Jan 2024
    I do find the history pager stuff interesting, but ultimately not of tremendous use for me. I rebound all my history search stuff to use fzf[1] (via a fish plugin for such[2]), and so haven't been aware of the issues

    [1] https://github.com/junegunn/fzf

    [2] https://github.com/PatrickF1/fzf.fish

  • Ugrep – a more powerful, ultra fast, user-friendly, compatible grep
    27 projects | news.ycombinator.com | 30 Dec 2023
    You can also use fzf with ripgrep to great effect:

    [1]: https://github.com/junegunn/fzf/blob/master/ADVANCED.md#usin...

  • Tell HN: My Favorite Tools
    14 projects | news.ycombinator.com | 24 Dec 2023
  • A Practical Guide to fzf: Vim Integration
    2 projects | /r/commandline | 29 Nov 2023
    There are two plugins allowing us to use fzf in Vim: the native fzf plugin directly installed with fzf, and fzf.vim. The second plugin is built on the first one.

helm

Posts with mentions or reviews of helm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-09.
  • lsp-treemacs icons not showing in Mac Terminal
    1 project | /r/emacs | 18 Oct 2023
    (setq inhibit-startup-message t) (setq visible-bell t) (setq make-backup-files nil) ; Disable the creation of ~ files (setq auto-save-default nil) ;; stop creating those #auto-save# files (setq display-line-numbers-mode t) ;(scroll-bar-mode -1) ; Disable visible scrollbar. Only for visual GUI ;(tool-bar-mode -1) ; Disable the toolbar. Only for visual GUI ;(tooltip-mode -1) ; Disable tooltips (menu-bar-mode -1) ; Disable the menu bar. Only for visual GUI ;(set-fringe-mode 10) ;(setq visible-bell t) ; Mac OSX specific ;mac-function-modifier ;mac-control-modifier) ;mac-command-modifier ;mac-option-modifier ;mac-right-command-modifier ;mac-right-control-modifier ;mac-right-option-modifier ;; key bindings (when (eq system-type 'darwin) ;; mac specific settings (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (prefer-coding-system 'utf-8) (setq mac-command-modifier 'meta) (setq mac-control-modifier 'control) (global-set-key [kp-delete] 'delete-char) ;; sets fn-delete to be right-delete ) ;; ORG Mode (global-set-key (kbd "C-c l") #'org-store-link) (global-set-key (kbd "C-c a") #'org-agenda) (global-set-key (kbd "C-c c") #'org-capture) ;; packages (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) ;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities` ;; and `package-pinned-packages`. Most users will not need or want to do this. ;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t) (package-initialize) ;; LSP-mode config (setq package-selected-packages '(lsp-mode yasnippet lsp-treemacs helm-lsp projectile hydra flycheck company avy which-key helm-xref dap-mode)) (when (cl-find-if-not #'package-installed-p package-selected-packages) (package-refresh-contents) (mapc #'package-install package-selected-packages)) ;; sample `helm' configuration use https://github.com/emacs-helm/helm/ for details (helm-mode) (require 'helm-xref) (define-key global-map [remap find-file] #'helm-find-files) (define-key global-map [remap execute-extended-command] #'helm-M-x) (define-key global-map [remap switch-to-buffer] #'helm-mini) (which-key-mode) (add-hook 'c-mode-hook 'lsp) (add-hook 'c++-mode-hook 'lsp) (lsp-treemacs-sync-mode 1) (setq gc-cons-threshold (* 100 1024 1024) read-process-output-max (* 1024 1024) treemacs-space-between-root-nodes nil company-idle-delay 0.0 company-minimum-prefix-length 1 lsp-idle-delay 0.1) ;; clangd is fast (with-eval-after-load 'lsp-mode (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) (require 'dap-cpptools) (yas-global-mode)) ;; theme (load-theme 'modus-vivendi t)
  • How can I temporarily bypass helm and put free text
    2 projects | /r/emacs | 9 Jun 2023
    Oh wow wow wow! I just checked your commit on the repository. That's so amazing. I really appreciate that. And I also found a convenient donation link.
  • Looking Back On Helm (secure email appliance)
    1 project | news.ycombinator.com | 24 May 2023
  • Best emacs configs for Javascript and/or users who don't like to memorize keybindings?
    5 projects | /r/emacs | 24 Apr 2023
    Next you "only" have to remember (elisp) function names. "Completion UIs" like ivy/counsel, icomplete, helm or vertico/consult, give you a nice auto completion list on M-x (choose the one of them, you like the most). Some of those Completion UIs will display existing keybindings and a short documentation for commands, near the auto complete candidates. So you will start to remember more keybindings without "learning sessions", just because invoking functions via keybindings is much faster (more convenient).
  • org-SUPER-sparse-tree?
    3 projects | /r/emacs | 20 Apr 2023
    I use imenu, and helm-imenu to filter out the list interactively. Instead of scrolling through, you "jump" to an item via completion like helm-imenu, which filters all headings interactively in real-time as you type.
  • Is There A Buffer Package Like Vertico Pos-Frame That Makes A Rectangle Frame In The Middle For Dired Mode?
    2 projects | /r/emacs | 23 Mar 2023
    I personally use Helm, so I can manage all files (open, delete, copy, rename, etc) all from completing prompt directly, I don't need to open Dired for that.
  • What are the benefits of Vertico over Helm or Ivy?
    3 projects | /r/emacs | 21 Feb 2023
    Helm 1.2 release was in September 2011: https://github.com/emacs-helm/helm/releases/tag/v1.2
  • (require 'ffap) after bug fix #2574 in helm-lib.el?
    1 project | /r/emacs | 15 Feb 2023
    I updated helm recently and when trying to use it after startup I was hitting "Defining as dynamic an already lexical var" . debugger showed me it was due to `ffap-machine-p-local` not being defined yet, digging into helm-lib.el i found that it is due to the ffap let bindings added recently to `helm-guess-filename-at-point` - the first one was to address this issue https://github.com/emacs-helm/helm/issues/2574 and more recently two more ffaps were let bound. I can fix by adding `(require 'ffap)` in the helm `use-package` `:config` -- wondering if this is the recommended way or if it might be something worth living inside helm-lib.el near the top where it requires cl-lib already?
  • Drastic slowdown in Helm+auctex
    1 project | /r/emacs | 22 Dec 2022
    Related to https://github.com/emacs-helm/helm/discussions/2577
  • Completion command for common file moving/copying commands
    4 projects | /r/emacs | 27 Oct 2022
    Yes, Helm. Probably others like Embark.

What are some alternatives?

When comparing fzf and helm you can also consider the following projects:

peco - Simplistic interactive filtering tool

vertico - :dizzy: vertico.el - VERTical Interactive COmpletion

zsh-autocomplete - 🤖 Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion.

doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]

z - z - jump around

consult - :mag: consult.el - Consulting completing-read

zsh-autosuggestions - Fish-like autosuggestions for zsh

selectrum - 🔔 Better solution for incremental narrowing in Emacs.

mcfly - Fly through your shell history. Great Scott!

company-mode - Modular in-buffer completion framework for Emacs

ranger - A VIM-inspired filemanager for the console

swiper - Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man!