9 Emacs packages for your consideration: async-backup, iedit, auto-yasnippet, which-key and more
rainbow-delimiters
https://github.com/Fanael/rainbow-delimiters/tree/7919681b0d883502155d5b26e791fec15da6aeca
Highlights delimiters such as parentheses, brackets or braces according to their depth.
Deadgrep: use ripgrep from Emacs
- Install ripgrep
(global-set-key (kbd "<f8>") #'deadgrep)
which-key
minor mode for Emacs that displays the key bindings following your currently entered incomplete command (a prefix) in a popup
(require 'which-key) (which-key-mode)
affe
Asynchronous Fuzzy Finder for Emacs
https://github.com/minad/affe/tree/3fcd1e4eb38fedf29cef58737ad28e382d997351
(use-package affe :config ;; Manual preview key for =affe-grep' (consult-customize affe-grep :preview-key "M-.")) ;; -*- lexical-binding: t -*- (defun affe-orderless-regexp-compiler (input _type _ignorecase) (setq input (orderless-pattern-compiler input)) (cons input (lambda (str) (orderless--highlight input str)))) (setq affe-regexp-compiler #'affe-orderless-regexp-compiler)
TIMU-MACOS-THEME
wfnames
Allows editing lists of absolute files, this allows editing the directory parts as well.
This package have no user interface, but you can easily use it with Helm package by customizing helm-ff-edit-marked-files-fn variable. If you are not using Helm you will have to define yourself a function that call wfnames-setup-buffer with a list of files as argument.
async-backup
Emacs has a built-in backup system, but it does not backup on each save. It can be made to, but that makes saving really slow (and the UI unresponsive), especially for large files.
It automatically creates a async-backup folder in .emacs.d directory.
(add-hook 'after-save-hook #'async-backup)
iedit
Edit multiple occurrences in the same way simultaneously
Both iedit
and multiple-cursors
are powerful tools for editing multiple occurrences of text in Emacs. However, iedit is better suited for editing within a region of text, while multiple-cursors is more flexible and can be used to edit arbitrary occurrences of text.
https://github.com/victorhge/iedit/tree/dd5d75b38ee0c52ad81245a8e5c932d3f5c4772d
Place point on target, and then invoke C-;. Make changes are reinvoke C-;
> Llorremm ipsum dolor sit amet, consectetuer adipiscing elit. Donec hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum accumsan nisl.
> Llorremm ipsum dolor sit amet, consectetuer adipiscing elit. Donec hendrerit tempor tellus. Donec pretium posuere tellus. Proin quam nisl, tincidunt et, mattis eget, convallis nec, purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non turpis. Cras placerat accumsan nulla. Nullam rutrum. Nam vestibulum accumsan nisl.
(require 'iedit)
auto-yasnippet
https://github.com/abo-abo/auto-yasnippet
Create snippets on the go
(global-set-key (kbd "C-c C-y w") #'aya-create) (global-set-key (kbd "C-c C-y TAB") #'aya-expand) (global-set-key (kbd "C-c C-y SPC") #'aya-expand-from-history) (global-set-key (kbd "C-c C-y d") #'aya-delete-from-history) (global-set-key (kbd "C-c C-y c") #'aya-clear-history) (global-set-key (kbd "C-c C-y n") #'aya-next-in-history) (global-set-key (kbd "C-c C-y p") #'aya-previous-in-history) (global-set-key (kbd "C-c C-y s") #'aya-persist-snippet) (global-set-key (kbd "C-c C-y o") #'aya-open-line)
>RaoĂșl Comninos
>John Comninos
>Jody Comninos
>countofred = gettotal("red");
>countofblue = gettotal("blue");