From 390a7768a26a4a836b6fa2280684a37640372be1 Mon Sep 17 00:00:00 2001 From: Random936 Date: Fri, 15 Dec 2023 19:00:54 -0800 Subject: [PATCH] Switched from ivy to vertico --- .emacs.d/config.org | 66 +++++++++++++-------------------------------- .emacs.d/lsp.org | 8 ------ 2 files changed, 18 insertions(+), 56 deletions(-) diff --git a/.emacs.d/config.org b/.emacs.d/config.org index af1f0d3..14f618d 100644 --- a/.emacs.d/config.org +++ b/.emacs.d/config.org @@ -137,15 +137,6 @@ Install use package for easier installation of other packages. (setq use-package-compute-statistics t) #+end_src -Fixes path issue that occurs on mac. - -#+begin_src emacs-lisp - (use-package exec-path-from-shell - :config - (when (memq window-system '(mac ns x)) - (exec-path-from-shell-initialize))) -#+end_src - ** Installed Packages This is a list of installed packages not included in any other category. @@ -184,11 +175,8 @@ Command Log Mode creates a window that logs all commands and corresponding keybi (global-set-key (kbd "C-c C-d") #'helpful-at-point) ;; Look up *F*unctions (excludes macros). - (global-set-key (kbd "C-h F") #'helpful-function) + (global-set-key (kbd "C-h F") #'helpful-function)) - ;; Syncing with ivy and counsel - (setq counsel-describe-function-function #'helpful-callable) - (setq counsel-describe-variable-function #'helpful-variable)) #+end_src *** Perspective @@ -197,11 +185,10 @@ Command Log Mode creates a window that logs all commands and corresponding keybi #+begin_src emacs-lisp (use-package perspective - :bind (("C-x b" . persp-ivy-switch-buffer) + :bind (("C-x b" . persp-switch-to-buffer*) ("C-x k" . persp-kill-buffer*)) :custom (persp-mode-prefix-key (kbd "C-x w")) - :init - (persp-mode)) + :init (persp-mode)) #+end_src * Cosmetic @@ -299,51 +286,34 @@ This adds relative line numbers while excluding certain modes. Packages associated with Emacs auto-completion. This does not include auto-completion from language servers just the auto-completion of commands etc. -** Counsel +** Vertico -Adds various completion functions used by Ivy. +Vertico is a package that implements a drop-down like menu in the mini buffer allowing for much better searching. #+begin_src emacs-lisp - (use-package counsel - :bind (("M-x" . counsel-M-x) - ("C-x C-f" . counsel-find-file) - :map minibuffer-local-map - ("C-r" . counsel-minibuffer-history))) +(use-package vertico + :init + (vertico-mode)) #+end_src -** Ivy - -Ivy is a basic auto-completion package that completes Emacs functions. +One feature of Vertico that is really helpful is that it works with another built-in emacs package, ~savehist~, to save directory history when navigating with Vertico. #+begin_src emacs-lisp - (use-package ivy - :diminish - :bind (("C-s" . swiper) - :map ivy-minibuffer-map - ("TAB" . ivy-alt-done) - ("C-l" . ivy-alt-done) - ("C-j" . ivy-next-line) - ("C-k" . ivy-previous-line) - :map ivy-switch-buffer-map - ("C-k" . ivy-previous-line) - ("C-l" . ivy-done) - ("C-d" . ivy-switch-buffer-kill) - :map ivy-reverse-i-search-map - ("C-k" . ivy-previous-line) - ("C-d" . ivy-reverse-i-search-kill)) - :config - (ivy-mode 1)) +(use-package savehist + :init + (savehist-mode)) #+end_src -** Ivy-rich - -Install *Ivy-rich* for function info in Ivy auto complete. +One last feature I will also add is the ~marginalia~ package which adds some nice /footnotes/ to the command information. This can be extra helpful when looking up Elisp functions for example. #+begin_src emacs-lisp - (use-package ivy-rich - :init (ivy-rich-mode 1)) +(use-package marginalia + :after vertico + :init + (marginalia-mode)) #+end_src + * Keybindings Contains the configuration for any keybindings or packages relating to keybindings. diff --git a/.emacs.d/lsp.org b/.emacs.d/lsp.org index 2d028a2..def8bf6 100644 --- a/.emacs.d/lsp.org +++ b/.emacs.d/lsp.org @@ -29,20 +29,12 @@ Below I am installing the actual package and adding some basic configuration. ** Lsp Additional Packages -*** Lsp-UI - #+begin_src emacs-lisp (use-package lsp-ui :hook (lsp-mode . lsp-ui-mode) :config (setq lsp-ui-sideline-show-diagnostics t)) #+end_src -*** Lsp-Ivy - -#+begin_src emacs-lisp - (use-package lsp-ivy :commands lsp-ivy-workspace-symbol) -#+end_src - ** Company Mode Company is a package that automatically finds completions instead of making the user run a command for completions.