- Watch the video on YouTube!
- Check out the final code on GitHub
- Episode 2 of the Emacs From Scratch series
¶General Improvements
¶Line Numbers
(column-number-mode) (global-display-line-numbers-mode t) ;; Disable line numbers for some modes (dolist (mode '(org-mode-hook term-mode-hook eshell-mode-hook)) (add-hook mode (lambda () (display-line-numbers-mode 0))))
¶Rainbow Delimiters
(use-package rainbow-delimiters :hook (prog-mode . rainbow-delimiters-mode))
¶Packages
¶which-key
which-key package on GitHub
(use-package which-key :init (which-key-mode) :diminish which-key-mode :config (setq which-key-idle-delay 0.3))
¶ivy-rich
ivy-rich package on GitHub
(use-package ivy-rich :init (ivy-rich-mode 1) :config (setq ivy-format-function #'ivy-format-function-line) (setq ivy-rich--display-transformers-list (plist-put ivy-rich--display-transformers-list 'ivy-switch-buffer '(:columns ((ivy-rich-candidate (:width 40)) (ivy-rich-switch-buffer-indicators (:width 4 :face error :align right)); return the buffer indicators (ivy-rich-switch-buffer-major-mode (:width 12 :face warning)) ; return the major mode info (ivy-rich-switch-buffer-project (:width 15 :face success)) ; return project name using `projectile' (ivy-rich-switch-buffer-path (:width (lambda (x) (ivy-rich-switch-buffer-shorten-path x (ivy-rich-minibuffer-width 0.3)))))) ; return file path relative to project root or `default-directory' if project is nil :predicate (lambda (cand) (if-let ((buffer (get-buffer cand))) ;; Don't mess with EXWM buffers (with-current-buffer buffer (not (derived-mode-p 'exwm-mode)))))))))
¶helpful
helpful package on GitHub
¶doom-themes
doom-themes package on GitHub
- doom theme
- which-key
- Line numbers (hooks)