prescient.el VS helm

Compare prescient.el vs helm and see what are their differences.

prescient.el

☄️ Simple but effective sorting and filtering for Emacs. (by radian-software)

helm

Emacs incremental completion and selection narrowing framework (by emacs-helm)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
prescient.el helm
13 48
591 3,347
0.3% 0.1%
5.7 9.7
2 months ago 6 days ago
Emacs Lisp 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.

prescient.el

Posts with mentions or reviews of prescient.el. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-04.
  • Emacs Commands I Got by with for Years
    7 projects | news.ycombinator.com | 4 Jan 2024
    > It keeps a history for that session, but so far I have not found a way to maintain history between sessions.

    I use prescient.el [0] with prescient-persist-mode for this, though a quick look seems that SMEX also has something similar [1] but I have not used that so I can't say anything about how it works.

    [0]: https://github.com/radian-software/prescient.el

    [1]: https://github.com/nonsequitur/smex#persistence

  • Have an emacs completion setup that works really smoothly in practice? Requesting examples
    2 projects | /r/emacs | 8 Mar 2023
    I use `orderless` for completion, for which there are a lot of good suggestions here, and `prescient` for sorting. `prescient` also has completion functionality, but I disable it. From the README:
  • How to get helm like narrowing behavior with selectrum?
    2 projects | /r/emacs | 26 Oct 2022
    In general, you want either orderless or prescient, with my personal preference being the former.
  • How many of you switched from ivy/counsel or helm to vertico/consult?
    1 project | /r/emacs | 6 Sep 2022
    I was a selectrum/prescient user and I thought I'd miss it, but it turns out I don't. It turns out the standard savehist-mode has been close enough for me. The good news is that there's some work to turn prescient into a real completion-style so that it could be integrated easily.
  • Vertico extensions demo
    2 projects | /r/emacs | 9 Jan 2022
    If you like to use Prescient, Selectrum is nice.
  • Requests for packages to add to NonGNU ELPA?
    6 projects | /r/emacs | 6 Oct 2021
    Selectrum and Prescient would be nice.
  • Company: Suggestions are not sorted, typing "doc" lists "Audi.., Doc.." first and "document" at last
    1 project | /r/emacs | 13 Sep 2021
    The behavior that you describe is the one related to company-prescient 😊
  • My setup(Almost the powerful C++ IDE) and Consume so many resources in GUI.
    3 projects | /r/emacs | 1 Sep 2021
    ;; ;;;;;;;;;;;;;;;;; PACKAGES ;;;;;;;;;;;;;;;;; ;; ;; ;;;;;;;;;;;;;;;;; C++ ;;;;;;;;;;;;;;;;; ;; (require 'package) ;; (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) (setq package-archives '( ("gnu" . "http://elpa.gnu.org/packages/") ;;("marmalade" . "https://marmalade-repo.org/packages/") ;;("milkmelpa" . "http://melpa.milkbox.net/packages/") ;;("stablemelpa" . "http://stable.melpa.org/packages/") ("melpa" . "https://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/") ;;("melpa" . "http://melpa.org/packages/") )) (package-initialize) (setq package-selected-packages '( avy all-the-icons centaur-tabs ;;cmake-ide cmake-mode company company-prescient company-quickhelp company-quickhelp-terminal ;counsel ;counsel-projectile dashboard dashboard-ls dap-mode eldoc-box ;;eldoc-overlay flycheck flycheck-inline helm-lsp helm-swoop helm-xref highlight-indentation hydra iedit imenu-anywhere imenu-list indent-guide ivy all-the-icons-ivy-rich ivy-dired-history ivy-file-preview ivy-prescient ivy-rich ivy-xref lsp-ivy lsp-mode lsp-treemacs lsp-ui markdown-preview-mode neotree org-bullets page-break-lines powerline projectile quick-peek ;; workgroups2 ;; Beta selectrum selectrum-prescient smartparens swiper treemacs use-package which-key yasnippet )) (when (cl-find-if-not #'package-installed-p package-selected-packages) (package-refresh-contents) (mapc #'package-install package-selected-packages)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dasboard (require 'dashboard) (dashboard-setup-startup-hook) (use-package dashboard :config (setq show-week-agenda-p t) (setq dashboard-items '((recents . 15) (agenda . 5))) (setq dashboard-set-heading-icons t) (setq dashboard-set-file-icons t) (setq dashboard-set-init-info t) (setq dashboard-startup-banner 3) (setq dashboard-set-navigator t) (dashboard-setup-startup-hook) ) ;; Set the title ;;(setq dashboard-banner-logo-title "Welcome to Emacs Dashboard") ;; Set the banner (setq dashboard-startup-banner [official]) ;; Value can be ;; 'official which displays the official emacs logo ;; 'logo which displays an alternative emacs logo ;; 1, 2 or 3 which displays one of the text banners ;; "path/to/your/image.png" or "path/to/your/text.txt" which displays whatever image/text you would prefer ;; Content is not centered by default. To center, set (setq dashboard-center-content t) (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) (setq dashboard-items '((recents . 5) (bookmarks . 5) (projects . 5) (agenda . 5) (registers . 5))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Detect files and modes (which-key-mode) (add-hook 'c-mode-hook 'lsp) (add-hook 'c++-mode-hook 'lsp) ;;(add-hook 'lisp-mode-hook 'lsp) (add-hook 'cmake-mode-hook 'company-mode) ;;(add-hook 'emacs-lisp-mode-hook 'lsp) ;; ;; Switch between Header and Source (add-hook 'c-mode-common-hook (lambda() (local-set-key (kbd "M-o") 'ff-find-other-file))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; LSP + Company (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-cmake t company-show-numbers nil company-minimum-prefix-length 1 company-dabbrev-other-buffers t company-dabbrev-code-other-buffers 'all company-dabbrev-code-everywhere t ; company-dabbrev-downcase nil ; company-transformers '(company-sort-prefer-same-case-prefix) ;; (company-sort-by-occurrence) ;; (company-sort-by-backend-importance) ;; (company-sort-prefer-same-case-prefix) lsp-idle-delay 0.1 ) ;; clangd is fast (require 'lsp-mode) ;;(add-hook 'XXX-mode-hook #'lsp) (add-hook 'emacs-lisp-mode #'lsp-deferred) (add-hook 'lisp-mode-hook #'lsp-deferred) ;;(add-hook 'prog-mode-hook #'lsp) ;; (add-hook 'js-mode-hook #'lsp) ;; (add-hook '-mode-hook #'lsp) (add-hook 'XXX-mode-hook #'lsp) (with-eval-after-load 'lsp-mode (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) (require 'dap-cpptools) (yas-global-mode)) (require 'dap-cpptools) (setq dap-auto-configure-features '(sessions locals controls tooltip)) (eval-after-load 'company '(add-to-list 'company-backends '( company-capf company-bbdb company-files company-yasnippet company-cmake company-clang ))) (global-set-key (kbd "C-c c") 'company-complete-common) ;;company-capf company-bbdb company-files company-yasnippet company-dabbrev-code company-semantic company-cmake ;;;; company ;; (use-package company ;; :ensure ;; :defer 4 ;; :init (progn ;; (global-company-mode) ;; (setq company-global-modes '(not python-mode cython-mode sage-mode)) ;; ) ;; :config (progn ;; (setq company-tooltip-limit 20 ;; company-idle-delay .1 ;; company-echo-delay 0 ;; company-begin-commands '(self-insert-command) ;; company-transformers '(company-sort-by-occurrence) ;; company-selection-wrap-around t ;; company-idle-delay .1 ;; company-minimum-prefix-length 1 ;; company-selection-wrap-around t ;; company-dabbrev-downcase nil ;; ) ;; (bind-keys :map company-active-map ;; ("C-n" . company-select-next) ;; ("C-p" . company-select-previous) ;; ("C-d" . company-show-doc-buffer) ;; ("" . company-complete) ;; ("" . company-abort) ;; ) ;; ) ;; ) ;; (setq lsp-enable-snippet t) ;; (setq lsp-enable-symbol-highlighting t) (setq lsp-ui-doc-header t) (setq lsp-ui-doc-include-signature t) ;;(setq lsp-ui-doc-alignment 'window) ;;(setq lsp-ui-doc-glance t) (setq lsp-ui-doc-enable t) ;; (setq lsp-ui-doc-enable nil) (setq lsp-ui-doc-show-with-cursor t) (setq lsp-ui-doc-show-with-mouse t) ;;(setq lsp-ui-doc-text-scale-level 5) (setq lsp-ui-doc-position 'at-point) (setq lsp-lens-mode t) (setq lsp-lens-enable t) (setq lsp-headerline-breadcrumb-enable t) (setq lsp-ui-sideline-show-code-actions t) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-hover t) (setq lsp-modeline-code-actions-enable t) (setq lsp-diagnostics-provider :flycheck) (setq lsp-ui-sideline-enable t) (setq lsp-ui-sideline-show-diagnostics t) (setq lsp-eldoc-enable-hover t) (setq lsp-modeline-diagnostics-enable t) (setq lsp-signature-auto-activate t) ;; you could manually request them via `lsp-signature-activate` (setq lsp-signature-render-documentation t) ;;(setq lsp-completion-provider :company-mode) (setq lsp-completion-show-detail t) (setq lsp-completion-show-kind t) (require 'eldoc-box) (eldoc-box-hover-mode ) ;;(use-package eldoc-overlay ;; :ensure t ;; :init (eldoc-overlay-mode 1)) ;; (use-package ;; lsp-ui ;; :hook (lsp-mode . lsp-ui-mode) ;; :after flycheck ;; :bind (:map lsp-mode-map ;; ("" . lsp-find-references) ;; ("S-" . lsp-ui-peek-find-references) ;; ("" . lsp-find-definition) ;; ("S-" . lsp-find-declaration) ;; ("" . lsp-ui-doc-glance) ;; ("C-c f" . lsp-format-buffer) ;; ("C-" . lsp-ui-sideline-apply-code-actions) ;; ("M-p" . lsp-ui-find-prev-reference) ;; ("M-n" . lsp-ui-find-next-reference)) ;; :custom (lsp-ui-sideline-diagnostic-max-lines 3) ;; (lsp-ui-flycheck-enable t) ;; (lsp-ui-doc-enable nil) ;; (lsp-ui-sideline-ignore-duplicate t) ;; (lsp-ui-sideline-show-code-actions t) ;; (lsp-ui-sideline-show-hover t) ;; (lsp-ui-sideline-show-symbol nil) ;; (lsp-ui-sideline-actions-kind-regex ".*") ;; (lsp-clients-clangd-args '("--compile-commands-dir=build" ;; "--header-insertion=never") nil nil ;; "Customized with use-package lsp-clients") ;; :custom-face ;; ;; Make the sideline overlays less annoying ;; (lsp-ui-sideline-global ((t ;; (:background "444444")))) ;; (lsp-ui-sideline-symbol-info ((t ;; (:foreground "gray45" ;; :slant italic ;; :height 0.99))))) ;; No es compatible con helm ;(setq lsp-ui-peek-mode t) ;; (global-set-key (kbd " ") #'lsp-ui-imenu) ;; (setq lsp-ui-imenu-auto-refresh t) ;; ;;;;;;;;;;;;;;;;; Centaur Tabs ;;;;;;;;;;;;;;;;; ;; (require 'centaur-tabs) (centaur-tabs-mode t) (global-set-key (kbd "M-") 'centaur-tabs-backward) (global-set-key (kbd "M-") 'centaur-tabs-forward) (centaur-tabs-headline-match) ;(setq centaur-tabs-style "alternate") ;(setq centaur-tabs-style "box") (setq centaur-tabs-style "rounded") ;(setq centaur-tabs-style "bar") (setq centaur-tabs-set-icons t) (setq centaur-tabs-plain-icons t) (setq centaur-tabs-set-close-button nil) (setq centaur-tabs-set-modified-marker t) (centaur-tabs-change-fonts "arial" 160) (setq centaur-tabs-set-bar 'under) ;; Note: If you're not using Spacmeacs, in order for the underline to display ;; correctly you must add the following line: (setq x-underline-at-descent-line t) ;; ;;;;;;;;;;;;;;;;; Ido Mode ;;;;;;;;;;;;;;;;; ;; ;;(ido-mode t) ;; Do not use ;; ;;;;;;;;;;;;;;;;; Indent-Guide ;;;;;;;;;;;;;;;;; ;; (require 'indent-guide) (indent-guide-global-mode) (setq indent-guide-delay 0.1) ;(set-face-background 'indent-guide-face "dimwhite") ;;(set-face-background 'indent-guide-face "gray") ;;(set-face-background 'indent-guide-face "#000000") ;;(set-face-background 'indent-guide-face "blue") (setq indent-guide-recursive t) (setq indent-guide-char "|") ;; ;;;;;;;;;;;;;;;;; Neotree ;;;;;;;;;;;;;;;;; ;; ;(require 'neotree) ;(global-set-key (kbd " ") 'neotree-toggle) ;(setq-default neo-show-hidden-files t) ;(setq neo-smart-open t) ; (neotree-show) ;; ;;;;;;;;;;;;;;;;; treemacs ;;;;;;;;;;;;;;;;; ;; (use-package treemacs :ensure t :defer t :init (with-eval-after-load 'winum (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) :config (progn (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) treemacs-deferred-git-apply-delay 0.5 treemacs-directory-name-transformer #'identity treemacs-display-in-side-window t treemacs-eldoc-display t treemacs-file-event-delay 5000 treemacs-file-extension-regex treemacs-last-period-regex-value treemacs-file-follow-delay 0.2 treemacs-file-name-transformer #'identity treemacs-follow-after-init t treemacs-expand-after-init t treemacs-git-command-pipe "" treemacs-goto-tag-strategy 'refetch-index treemacs-indentation 2 treemacs-indentation-string " " treemacs-is-never-other-window nil treemacs-max-git-entries 5000 treemacs-missing-project-action 'ask treemacs-move-forward-on-expand nil treemacs-no-png-images nil treemacs-no-delete-other-windows t treemacs-project-follow-cleanup nil treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory) treemacs-position 'left treemacs-read-string-input 'from-child-frame treemacs-recenter-distance 0.1 treemacs-recenter-after-file-follow nil treemacs-recenter-after-tag-follow nil treemacs-recenter-after-project-jump 'always treemacs-recenter-after-project-expand 'on-distance treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") treemacs-show-cursor nil treemacs-show-hidden-files t treemacs-silent-filewatch nil treemacs-silent-refresh nil treemacs-sorting 'alphabetic-asc treemacs-select-when-already-in-treemacs 'move-back treemacs-space-between-root-nodes t treemacs-tag-follow-cleanup t treemacs-tag-follow-delay 1.5 treemacs-user-mode-line-format nil treemacs-user-header-line-format nil treemacs-width 35 treemacs-width-is-initially-locked t treemacs-workspace-switch-cleanup nil) ;; The default width and height of the icons is 22 pixels. If you are ;; using a Hi-DPI display, uncomment this to double the icon size. ;;(treemacs-resize-icons 44) (treemacs-follow-mode t) (treemacs-filewatch-mode t) (treemacs-fringe-indicator-mode 'always) (pcase (cons (not (null (executable-find "git"))) (not (null treemacs-python-executable))) (`(t . t) (treemacs-git-mode 'deferred)) (`(t . _) (treemacs-git-mode 'simple))) (treemacs-hide-gitignored-files-mode nil)) :bind (:map global-map ("M-0" . treemacs-select-window) ("C-x t 1" . treemacs-delete-other-windows) (" " . treemacs) ("C-x t B" . treemacs-bookmark) ("C-x t C-t" . treemacs-find-file) ("C-x t M-t" . treemacs-find-tag))) (use-package treemacs-evil :after (treemacs evil) :ensure t) (use-package treemacs-projectile :after (treemacs projectile) :ensure t) (use-package treemacs-icons-dired :after (treemacs dired) :ensure t :config (treemacs-icons-dired-mode)) (use-package treemacs-magit :after (treemacs magit) :ensure t) (use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode :after (treemacs persp-mode) ;;or perspective vs. persp-mode :ensure t :config (treemacs-set-scope-type 'Perspectives)) (with-eval-after-load 'treemacs (define-key treemacs-mode-map [mouse-1] #'treemacs-single-click-expand-action)) ;; ;;;;;;;;;;;;;;;;; iMenu ;;;;;;;;;;;;;;;;; ;; (global-set-key (kbd " ") #'imenu-list-smart-toggle) ;; (setq imenu-list-focus-after-activation t) ;; (global-set-key (kbd "C-.") #'imenu-anywhere) ;(imenu-list-smart-toggle) (setq imenu-list-size 40) ;;(setq imenu-list-auto-resize t) ;;(setq imenu-max-item-length 40) ;;(setq imenu-min-item-length 30) ;; ;;;;;;;;;;;;;;;;; Projectile ;;;;;;;;;;;;;;;;; ;; (projectile-mode +1) ;; Recommended keymap prefix on macOS ;; (define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) ;; Recommended keymap prefix on Windows/Linux (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) ;;(setq projectile-project-search-path '("~/Workspace_SDD/emacs/")) ;; Usar ;; Projectile puede detectar proyectos con archivos cmake, git ..., pero tambien para "forzarlo" en la carpeta crea un archivo .projectile ;;(setq projectile-indexing-method 'native) (setq projectile-enable-caching t) (setq projectile-require-project-root t) (setq projectile-switch-project-action #'projectile-dired) (setq projectile-switch-project-action #'projectile-find-dir) (setq projectile-find-dir-includes-top-level t) ;; ;;;;;;;;;;;;;;;;; Powerline ;;;;;;;;;;;;;;;;; ;; ;; https://github.com/milkypostman/powerline (require 'powerline) (powerline-center-theme) (setq powerline-default-separator 'wave) ;(powerline-raw mode-line-mule-info nil 'l) ;;(setq powerline-arrow-shape 'arrow) ;; the default (setq powerline-arrow-shape 'curve) ;; give your mode-line curves ;;(setq powerline-arrow-shape 'arrow14) ;; best for small fonts ;; ParenMode. ;; https://www.emacswiki.org/emacs/ShowParenMode ;;(require 'paren) (show-paren-mode 1) (setq show-paren-delay 0) (setq show-paren-style 'mixed) ;; Smartparens (require 'smartparens-config) (smartparens-global-mode t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; sample `helm' configuration use https://github.com/emacs-helm/helm/ for details ;; ;; helm from https://github.com/emacs-helm/helm ;; ;;(require 'helm) ;; (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) ;; ;;(global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks) ;; ;; ;; This Solves the error with Flycheck ;; (setq helm-always-two-windows t ;; helm-split-window-inside-p t) ;; ;; Locate the helm-swoop folder to your path ;; ;;(add-to-list 'load-path "~/.emacs.d/elisp/helm-swoop") ;; (require 'helm-swoop) ;; ;; Change the keybinds to whatever you like :) ;; (global-set-key (kbd "M-i") 'helm-swoop) ;; (global-set-key (kbd "M-I") 'helm-swoop-back-to-last-point) ;; (global-set-key (kbd "C-c M-i") 'helm-multi-swoop) ;; (global-set-key (kbd "C-x M-i") 'helm-multi-swoop-all) ;; ;; When doing isearch, hand the word over to helm-swoop ;; (define-key isearch-mode-map (kbd "M-i") 'helm-swoop-from-isearch) ;; ;; From helm-swoop to helm-multi-swoop-all ;; (define-key helm-swoop-map (kbd "M-i") 'helm-multi-swoop-all-from-helm-swoop) ;; ;; When doing evil-search, hand the word over to helm-swoop ;; ;; (define-key evil-motion-state-map (kbd "M-i") 'helm-swoop-from-evil-search) ;; ;; Instead of helm-multi-swoop-all, you can also use helm-multi-swoop-current-mode ;; (define-key helm-swoop-map (kbd "M-m") 'helm-multi-swoop-current-mode-from-helm-swoop) ;; ;; Move up and down like isearch ;; (define-key helm-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-swoop-map (kbd "C-s") 'helm-next-line) ;; (define-key helm-multi-swoop-map (kbd "C-r") 'helm-previous-line) ;; (define-key helm-multi-swoop-map (kbd "C-s") 'helm-next-line) ;; ;; Save buffer when helm-multi-swoop-edit complete ;; (setq helm-multi-swoop-edit-save t) ;; ;; If this value is t, split window inside the current window ;; (setq helm-swoop-split-with-multiple-windows nil) ;; ;; Split direcion. 'split-window-vertically or 'split-window-horizontally ;; (setq helm-swoop-split-direction 'split-window-vertically) ;; ;; If nil, you can slightly boost invoke speed in exchange for text color ;; (setq helm-swoop-speed-or-color nil) ;; ;; ;; Go to the opposite side of line from the end or beginning of line ;; (setq helm-swoop-move-to-line-cycle t) ;; ;; Optional face for line numbers ;; ;; Face name is `helm-swoop-line-number-face` ;; (setq helm-swoop-use-line-number-face t) ;; ;; If you prefer fuzzy matching ;; (setq helm-swoop-use-fuzzy-match t) ;; ;; If you would like to use migemo, enable helm's migemo feature ;; ;;(helm-migemo-mode 1) ;; ;; ;;;;;;;;;;;;;;;;; Ivy ;;;;;;;;;;;;;;;;; ;; (ivy-mode) (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) ;; enable this if you want `swiper' to use it ;; (setq search-default-mode #'char-fold-to-regexp) (global-set-key (kbd "C-x C-b") 'ibuffer-list-buffers) (global-set-key "\C-s" 'swiper) (global-set-key (kbd "C-c C-r") 'ivy-resume) ;;(global-set-key (kbd "") 'ivy-resume) (global-set-key (kbd "M-x") 'counsel-M-x) (global-set-key (kbd "C-x C-f") 'counsel-find-file) (global-set-key (kbd " f") 'counsel-describe-function) (global-set-key (kbd " v") 'counsel-describe-variable) (global-set-key (kbd " o") 'counsel-describe-symbol) (global-set-key (kbd " l") 'counsel-find-library) (global-set-key (kbd " i") 'counsel-info-lookup-symbol) (global-set-key (kbd " u") 'counsel-unicode-char) (global-set-key (kbd "C-c g") 'counsel-git) (global-set-key (kbd "C-c j") 'counsel-git-grep) (global-set-key (kbd "C-c k") 'counsel-ag) (global-set-key (kbd "C-x l") 'counsel-locate) (global-set-key (kbd "C-S-o") 'counsel-rhythmbox) (define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history) ;; ;; ;; Ivy rich (require 'ivy-rich) (all-the-icons-ivy-rich-mode 1) (ivy-rich-mode 1) (setcdr (assq t ivy-format-functions-alist) #'ivy-format-function-line) (ivy-rich-modify-columns 'ivy-switch-buffer '((ivy-rich-switch-buffer-size (:align right)) (ivy-rich-switch-buffer-major-mode (:width 20 :face error)))) ;; ;; ;; Ivy icons ;; Whether display the icons (setq all-the-icons-ivy-rich-icon t) ;; Whether display the colorful icons. ;; It respects `all-the-icons-color-icons'. (setq all-the-icons-ivy-rich-color-icon t) ;; The icon size (setq all-the-icons-ivy-rich-icon-size 1.0) ;; Whether support project root (setq all-the-icons-ivy-rich-project t) ;; Definitions for ivy-rich transformers. ;; See `ivy-rich-display-transformers-list' for details." ;; all-the-icons-ivy-rich-display-transformers-list ;; Slow Rendering ;; If you experience a slow down in performance when rendering multiple icons simultaneously, ;; you can try setting the following variable (setq inhibit-compacting-font-caches t) ;; M-? ;; ;; Ivy xref (require 'ivy-xref) ;; xref initialization is different in Emacs 27 - there are two different ;; variables which can be set rather than just one (when (>= emacs-major-version 27) (setq xref-show-definitions-function #'ivy-xref-show-defs)) ;; Necessary in Emacs <27. In Emacs 27 it will affect all xref-based ;; commands other than xref-find-definitions (e.g. project-find-regexp) ;; as well (setq xref-show-xrefs-function #'ivy-xref-show-xrefs) ;; Ivy history (require 'savehist) (add-to-list 'savehist-additional-variables 'ivy-dired-history-variable) (savehist-mode 1) ;; ;; or if you use desktop-save-mode ;;(add-to-list 'desktop-globals-to-save 'ivy-dired-history-variable) (with-eval-after-load 'dired (require 'ivy-dired-history) ;; if you are using ido,you'd better disable ido for dired ;; (define-key (cdr ido-minor-mode-map-entry) [remap dired] nil) ;in ido-setup-hook (define-key dired-mode-map "," 'dired)) ;; ;; Selectrum (selectrum-mode +1) ;; to make sorting and filtering more intelligent (selectrum-prescient-mode +1) ;; to save your command history on disk, so the sorting gets more ;; intelligent over time (prescient-persist-mode +1) ;; ;; ;; Prescient ;; https://github.com/raxod502/prescient.el (ivy-prescient-mode) (company-prescient-mode) ;;(selectrum-prescient-mode) ;; ;;;;;;;;;;;;;;;;; Flycheck ;;;;;;;;;;;;;;;;; ;; ;; (require 'flycheck) ;; (add-hook 'after-init-hook #'global-flycheck-mode) ;; (global-flycheck-mode) ;; (autoload 'flycheck "flycheck-list-errors") ;; ;; Flycheck inline ;; (with-eval-after-load 'flycheck ;; (add-hook 'flycheck-mode-hook #'flycheck-inline-mode)) ;; ;; (setq flycheck-inline-display-function ;; ;; (lambda (msg pos err) ;; ;; (let* ((ov (quick-peek-overlay-ensure-at pos)) ;; ;; (contents (quick-peek-overlay-contents ov))) ;; ;; (setf (quick-peek-overlay-contents ov) ;; ;; (concat contents (when contents "\n") msg)) ;; ;; (quick-peek-update ov))) ;; ;; flycheck-inline-clear-function #'quick-peek-hide) ;; ;; (require 'flycheck-tip) ;; ;; (define-key your-prog-mode (kbd "C-c C-n") 'flycheck-tip-cycle) ;; ;(flycheck-tip-use-timer 'verbose) ;; ;;(setq flycheck-indication-mode 'left-fringe) ;; ;(setq flycheck-check-syntax-automatically '(mode-enabled )) ;; ;(with-eval-after-load 'flycheck (flycheck-pos-tip-mode)) ;; ;(setq flycheck-highlighting-mode 'columns) ;; ;(setq flycheck-highlighting-mode 'symbols) ;; (setq flycheck-highlighting-mode 'lines) ;; (add-to-list 'display-buffer-alist ;; `(,(rx bos "*Flycheck errors*" eos) ;; (display-buffer-reuse-window ;; display-buffer-in-side-window) ;; (side . bottom) ;; (reusable-frames . visible) ;; (window-height . 0.13))) ;; (add-hook 'flycheck-after-syntax-check-hook ;; (lambda () ;; (if flycheck-current-errors ;; (flycheck-list-errors) ;; (when (get-buffer "*Flycheck errors*") ;; (switch-to-buffer "*Flycheck errors*") ;; (kill-buffer (current-buffer)) ;; ;;;(delete-window) ;; )))) (provide 'Emacs_Packages) ;;; Emacs_Packages.el ends here
  • Prioritize certain completions in ivy
    2 projects | /r/emacs | 6 Aug 2021
    You could also try prescient.
  • [POLL] What's your ideal minibuffer completion UI?
    2 projects | /r/emacs | 3 May 2021
    show as I type as the results trigger memory... and for that selectrum. Use standard emacs completing-read, plugin prescient and you have history weightings .. of course, I am now more interested in the completion I have used ten times already, it's a no brainer when coding. It's a complete winner for me.

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 prescient.el and helm you can also consider the following projects:

selectrum - 🔔 Better solution for incremental narrowing in Emacs.

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

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

haskell-mode - Emacs mode for Haskell

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

org-roam - Rudimentary Roam replica with Org-mode

ivy-rich - More friendly interface for ivy.

fzf - :cherry_blossom: A command-line fuzzy finder

powerline - emacs powerline

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