(use-package counsel :diminish counsel-mode :ensure t :after ivy :init (counsel-mode 1) :bind (("M-x" . counsel-M-x) ("C-x C-f" . counsel-find-file) ("C-x C-r" . counsel-recentf) ("C-c f" . counsel-git) ("C-c /" . counsel-rg) ("C-x r l" . counsel-bookmark)) :custom (counsel-find-file-ignore-regexp "\\.git\\|\\.DS_Store\\|\\.localized\\'") (counsel-find-file-at-point t)) (use-package ivy :ensure t :diminish ivy-mode :init (ivy-mode 1) :custom (ivy-use-virtual-buffers t) (ivy-count-format "(%d/%d) ") (ivy-height 20) (ivy-use-selectable-prompt t) :bind (("C-x b" . ivy-switch-buffer) ("C-s" . swiper))) (use-package ivy-rich :ensure t :after (ivy) :config (ivy-rich-mode 1) :custom (ivy-extra-directories '("../" "./")) (ivy-virtual-abbreviate 'full) (ivy-rich-switch-buffer-align-virtual-buffer t) (ivy-rich-path-style 'abbrev)) (provide 'fcuny-ivy)