ссылки про emacs
В целом про емакс
- https://www.emacsdocs.org/
- https://www.gnu.org/software/emacs/manual/index.html - всякомануалы
- https://www.reddit.com/r/emacs/
- https://github.com/emacs-tw/awesome-emacs - A community driven list of useful Emacs packages, libraries and other items.
- https://habr.com/ru/hub/emacs/
- https://emacswiki.org
- https://ergoemacs.org
- http://ergoemacs.org/emacs/emacs.html - руководство
- https://github.com/alexott/emacs-configs
- http://pragmaticemacs.com/
- https://www.masteringemacs.org/
- https://www.masteringemacs.org/reading-guide - как советуют читать.
- https://wikemacs.org/wiki/Main_Page
- https://emacs.stackexchange.com/ - Вопросы и ответы про emacs.
- https://alexott.net/ru/emacs/
- http://xtalk.msk.su/~ott/ru/emacs/ Статьи про Emacs и не только
- https://sachachua.com/blog/ - занятный блог про emacs преимущественно
- http://pages.sachachua.com/.emacs.d/Sacha.html - конфиг Sacha Chua.
- http://sachachua.com/blog/category/geek/emacs/ - то, что в блоге посвящено emacs-у.
- http://karl-voit.at/2017/06/03/emacs-history/ - товарисч, продвинутый в техниках облегчения жизни компом. Немецкоязычный, но много англоязычных текстов.
- http://karl-voit.at/tags/pim - то, что про персональную инфу.
- http://endlessparentheses.com/ - клевый емаксер, он же https://github.com/Malabarba/.
- https://emacstil.com - блог
- https://emacsredux.com/ - блог не только о. И это автор projectile.
- https://planet.emacslife.com/ - агрегатор
- https://sachachua.com/blog/
- https://irreal.org
- https://karthinks.com
- https://manueluberti.eu/archive
- https://blog.aaronbieber.com//archive.html
- https://mbork.pl/CategoryEmacs - конкретный человек пишет. Мож поразглядываю в будущем.
- https://www.n16f.net
- https://emacspeak.blogspot.com/2024/07/emacspeak-speech-odyssey.html – красивое про emacspeak и не только.
Тг
- https://t.me/emacs_ru - "Общаемся на темы, посвященные замечательному редактору Emacs. Решаем проблемы, обмениваемся опытом и делимся новостями. Правила чата и примеры конфигов: https://github.com/EmacsRuPub/chat-rules"
- https://t.me/emacs_en
- https://t.me/emacs_posts - канал с постами из разных инет-источников.
Конфиги
- https://framagit.org/steckerhalter/steckemacs.el
- https://protesilaos.com/dotemacs/
- https://github.com/dexager/zettelkasten-emacs
- https://emacsredux.com/tags/#crux (есть уйма мелких полезняшек), https://github.com/bbatsov/crux - они одной кучей. https://emacsredux.com/blog/2021/06/08/emacs-as-your-calendar/ - про календарь, кажется, в комментах есть полезное.
- https://gitlab.com/link0ff/emacs-init/ - не разбиралась особо. Но там, как минимум, своя keymap.
- https://github.com/aragaer/dotfiles/
- https://github.com/rpdillon/emacs-config/blob/master/init.el - Bootstrap the Emacs environment to load literate Emacs initialization files.
- https://github.com/eastwood/config/blob/master/emacs.d/org-init.org - довольно компактный конфиг
- https://gitlab.com/zahardzhan/well-tuned-emacs
- https://bitbucket.org/holgerschurig/emacsconf/src/3d477513b71f?at=master ещё один конфиг
- https://github.com/wuliang/MyEmacsConfig/blob/master/wl.el - что-то мне тут казалось занятным.
- https://github.com/turboMaCk/Dotemacs
- https://tecosaur.github.io/emacs-config/config.html
- https://github.com/rigidus/.emacs.d - ссыль сохранена - и на 2022-09-24 живо
- https://github.com/zamansky/dot-emacs
Ссылки и заметки про какие-то отдельные штуки, не доросшие до странички
как сделать команду disabled или переспрашивать, точно ли я хочу запустить именно это
- https://mbork.pl/2024-08-12_How_to_require_confirmation_before_launching_an_Emacs_command
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Disabling.html
(put 'mu4e-compose-reply 'disabled "It's better to use `mu4e-compose-wide-reply' instead.\n")
Вместо сообщения можно t, если ничего сообщать не хочется. Но лучше объяснить себе, что происходит :)
(command-query 'mu4e-compose-reply "Do you really want to reply only to the sender?") (command-query 'mu4e-compose-reply "Do you really want to reply only to the sender?" t)
Во втором случае должно спрашивать не y/n, а yes/no. Если хочется чуууточку больше внимания к теме от себя.
Другой ellipsis
https://www.jamescherti.com/emacs-customize-ellipsis-outline-minor-mode/
(defun my-set-standard-display-table-ellipsis (ellipsis) "Set the standard display table ellipsis to ELLIPSIS." (let* ((face-offset (* (face-id 'shadow) (lsh 1 22))) (value (vconcat (mapcar (lambda (c) (+ face-offset c)) ellipsis)))) (set-display-table-slot standard-display-table 'selective-display value))) (my-set-standard-display-table-ellipsis " ▼")
неразобранное
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Holiday-Customizing.html – закастомайзить праздники. Пока добавила себе день фламенко :)
- https://codeberg.org/danderzei/emacs-data-studio/ – попытка сделать удобно для датасатанистов.
- https://magnus.therning.org/2024-09-01-improving-how-i-handle-secrets-in-my-work-notes.html – хранить логины-пароли, которые нужны в блоках кода
- https://www.jamescherti.com/elisp-code-and-emacs-packages-for-maintaining-proper-indentation-in-indentation-sensitive-languages-such-as-python-or-yaml/ – про отступы.
M-x list-load-path-shadows
показывает коллизии файлов библиотек в разных путях (https://t.me/emacs_ru/554496)- http://xenodium.com/building-your-own-bookmark-launcher - закладочник, но интересно как команда, доступная извне. А мне еще и мелкой фигней типа «как прибирать за собой, когда уже выполнено то, что надо было выполнить».
- https://www.masteringemacs.org/article/how-to-get-started-tree-sitter - пригодилось недавно :) Для облегчения себе поиска — «treesitter», а то без пробела искала у себя.
M-x treesit-install-language-grammar
— что мне там обычно нужно.- https://github.com/emacs-mirror/emacs/blob/master/admin/notes/tree-sitter/starter-guide
- https://www.emacswiki.org/emacs/Tree-sitter
- https://github.com/emacs-php/php-ts-mode
- https://magnus.therning.org/2023-11-19-making-emacs-without-terminal-emulator-a-little-more-usable.html
- https://github.com/jdtsmith/comint-fold - comint-fold is a small Emacs global minor-mode which configures hideshow mode in comint buffers to allow folding (hiding and unhiding) blocks of input and associated output. It can optionally bind the Tab key to fold such blocks (when prior to the prompt), and add a fringe indicator for folded blocks.
- https://habr.com/ru/articles/755362/ - сделать мод.
- https://rostre.bearblog.dev/building-my-ideal-emacs-journal/ - про доработки org-journal.
- http://yummymelon.com/devnull/customizing-the-emacs-tools-menu.html - как сделать себе удобные меню. Добавить нужное, убрать ненужное.
- https://alexschroeder.ch/view/2023-10-11-scdoc - очень маленький мод для редактирования текста с некоторой разметкой
- https://en.liujiacai.net/2023/06/10/troubleshoot-tramp-hang/ - как разбираться, если с tramp что-то пошло не так.
- https://github.com/emacs-evil/goto-chg - полезность, переход к месту последнего, предпоследнего и т.д. изменения.
- https://github.com/bbatsov/crux - ряд мелочей, которые могут зайти.
- https://github.com/xenodium/dwim-shell-command - полезняшка, чтоб удобнее делать себе всякие полезные команды.
- https://github.com/xenodium/dwim-shell-command/blob/main/dwim-shell-commands.el - пример того, какие.
- TRAMP extends the Emacs file name syntax by adding a remote component. A remote file name always looks like /method:user@host:/path/to/file .
- https://github.com/emacsorphanage/terraform-mode - подсветка и ещё какие-то полезности для terraform. Есть в мельпе.
- https://tajd.co.uk/2021/12/29/literate-emacs-terraform - ничо хитрого от слова вообще, но поработало мне моральной поддержкой.
- https://sachachua.com/blog/2023/01/checking-image-sizes-and-aspect-ratios-in-emacs-lisp-so-that-i-can-automatically-smartcrop-them/ - про пообрезать картинки.
- https://karthinks.com/software/fifteen-ways-to-use-embark/ - мож вкурить?
- В емаксе ещё и метроном есть, ой. metronome
- https://github.com/emacs-eaf/emacs-application-framework - обещают прям много. Мож дойдут руки глянуть, что это.
- expand-region, sudo-edit, mini-modeline, browse-kill-ring, envrc - типа разное прикольное
- rainbow-delimiters - для раскрашивания скобочек
- electric-pair-mode - для автозакрывания всяких скобочек, а также кавычек и что там ещё назначишь. - https://github.com/Bruce-Connor/ham-mode - править html как маркдаун. Когда важен текст, а не разметка.
- http://pragmaticemacs.com/emacs/read-your-rss-feeds-in-emacs-with-elfeed/ - rss
- https://github.com/arbox/org-sync - синхронизация с багтрекерами
- https://github.com/zachcurry/emacs-anywhere - редактировать какие попало текстовые поля в емаксе
- https://ruzkuku.com/texts/lesser-known.html
- align-regexp - сурово-магическая штука для выравнивания всякого текста не только по краю.
- text-scale-increase и text-scale-decrease - менять размер текста.
- https://github.com/abo-abo/avy - прыгать по видимому
- https://github.com/leoliu/easy-kill
- https://github.com/magnars/expand-region.el
- https://github.com/bbatsov/guru-mode - улучшать привычки :)
- https://github.com/emacsfodder/move-text
- M-x command history
- https://emacsconf.org/2020/talks/
- http://ergoemacs.org/emacs/elisp_menu.html как добавить меню. (Искала я не это, но чоуж.)
- https://www.emacswiki.org/emacs/CommonLisp, https://www.gnu.org/software/emacs/manual/html_mono/cl.html
- https://www.emacswiki.org/emacs/TrampMode
- https://www.flycheck.org/ - syntax checking
- https://depp.brause.cc/nov.el/ - про nov.el - читалку epub для emacs
- https://github.com/novoid/Memacs - вспоминалка всего.
- https://github.com/punchagan/org2blog - бложилка для вордпресса. Одно время прям пользовалась, и надеялась, что будет реально удобно поддерживать блог актуальным. В принципе, может, и сейчас реально пробовать так бложить из цеттеля.
- https://github.com/Malabarba/camcorder.el - запись скринкастов из emacs
- https://github.com/lateau/charmap -
M-x charmap
to display a unicode block that you want to see. Чуточку настраиваемо. - https://github.com/skeeto/elfeed - читалка RSS
- http://tuhdo.github.io/index.html - Emacs Mini Manual, helm, projectile. (2023-06-22 вообще, сча смотрю и думаю, что ссылка-то чисто «для коллекции»)
- https://www.emacswiki.org/emacs/MakingPackages
- https://www.emacswiki.org/emacs/CoffeeMode - заваривать кофе
- https://github.com/emacsmirror - большая коллекция отзеркаливаемого всякого. Вызывает уважение…
емаксобейджи
https://erkin.party/emacs/ - страничка с картинками https://news.ycombinator.com/item?id=36035748 - дискуссия https://social.lansky.name/@hn50/110419300433474690 - источник.
Установить input-method для файла
https://stackoverflow.com/questions/45893232/how-to-set-a-specific-input-method-to-a-file
-*- eval: (activate-input-method 'latin-4-postfix); -*-
Or at the end of the file:
Local Variables: eval: (activate-input-method 'latin-4-postfix) End:
In either case, you can/should comment the lines if the major mode has a comment syntax.
If you just want to select which input method will be enabled if you type C-\ then instead of:
eval: (activate-input-method 'latin-4-postfix)
you would use:
default-input-method: latin-4-postfix
tabulated-list и tablist в емаксе
- https://www.gnu.org/software/emacs/manual/html_node/elisp/Tabulated-List-Mode.html
- https://www.emacswiki.org/emacs/TabulatedListMode
- https://vallyscode.github.io/posts/tabulated-list-mode/
- https://github.com/politza/tablist
- https://willschenk.com/articles/2021/emacs_blogging_mode/ - c использованием табулатед-листа
- https://emacsnotes.wordpress.com/2019/04/16/how-i-shortlist-add-ons-for-my-emacs-introducing-tablist/
запуск всякого и руление этим
- https://git.sr.ht/~swflint/time-block - можно менять поведение с учётом времени. Типа, блокировать «не то» в рабочее время. Или нерабочее. Или ещё как-то :)
- M-x proced - список процессов
- https://github.com/bard/emacs-run-command - кажется, премилая штука для запуска всякого внешнего, по умолчанию в compilation-mode. (https://github.com/semenInRussia/emacs-run-command-recipes некоторый набор готовых рецептов для неё. Но кукбук оригинала мне пока интереснее). 2022-02-08
run-with-idle-timer secs repeat function &rest args
Set up a timer which runs the next time Emacs is idle for secs seconds. The value of secs may be a number or a value of the type returned by current-idle-time. If repeat is nil, the timer runs just once, the first time Emacs remains idle for a long enough time. More often repeat is non-nil, which means to run the timer each time Emacs remains idle for secs seconds. https://www.gnu.org/software/emacs/manual/html_node/elisp/Idle-Timers.html
таблички и считалки
- jupiter и ein - времен, когда пыталась въехать в обработку данных.
- emacsql-sqlite - тож смутно помню, что зачем-то было, и что-то было ж хорошее о нём.
- esqlite - мод для скулайта. https://github.com/mhayashi1120/Emacs-esqlite
- literate-calc https://github.com/sulami/literate-calc-mode.el - Displays inline results for calculations, supports variables and updates as you type. Тормозил как не знаю что. Но интересновое.
- https://www.gnu.org/software/emacs/manual/html_mono/ses.html - таблички. В орг-моде в src-блоке, похоже, работать не хочет, но само по себе может быть интересно.
The radar chart
Точно помню, что получилось :)
is also known as web chart, spider chart, star chart, cobweb chart, star plot, irregular polygon, polar chart, or kiviat diagram.
В большинстве случаев наглядностью не балует. Но, можно сравнивать общее впечатление, можно смотреть баланс направлений.
- http://www.mcld.co.uk/blog/blog.php?285
- http://orgmode.org/worg/org-tutorials/org-plot.html
- http://matplotlib.org/examples/api/radar_chart.html
- http://orgmode.org/manual/Org_002dPlot.html
- http://stackoverflow.com/questions/30649826/how-to-highlight-regions-of-plot-with-gnuplot/30684027%5C#30684027
- http://stackoverflow.com/questions/12709820/how-to-create-a-spider-plot-in-gnuplot
- http://stackoverflow.com/questions/6772135/how-to-get-a-radialpolar-plot-using-gnu-plot
- https://github.com/jimktrains/gpr
password-generator
Generate a password and insert it in-place. Such functions provided:
- password-generator-numeric - generate PIN-code or any other numeric password.
- password-generator-simple - simple password for most websites.
- password-generator-phonetic - easy to remember password.
- password-generator-strong - strong password and still suitable for most web sites with strange password requirements to used special chars.
- password-generator-words - generate rememberable password from top used 1500 english words.
- password-generator-custom - generate custome password from your alphabete.
Use C-u <length> password-generator-simple to specify length of generated password. This works with other functions too.
See full docs here: http://github.com/vandrlexay/emacs-password-genarator
timestamps - вставить и обновлять актуальную дату
https://www.emacswiki.org/emacs/TimeStamp
В конфиг:
(add-hook 'before-save-hook 'time-stamp)
The default ‘time-stamp-pattern’ in Emacs is roughly this,
"8/Time-stamp:[ \t]+\\\\?[\"<]+%:y-%02m-%02d %02H:%02M:%02S %u\\\\?[\">]"
Можно настроить свой через Local Variables в файле или Directory Variables в .dir-locals.el
каталога (действует и на подкаталоги).
У меня есть такой .dir-locals.el
.
((org-mode . ( (time-stamp-pattern . "8/#\\+date: <%04Y-%02m-%02d %02H:%02M:%02S %Z>") (time-stamp-time-zone . "Europe/Moscow") ) ))
diminish - меньше текста в модлайне
- https://github.com/myrjola/diminish.el Есть в Melpa.
Оччень полезная штука. Позволяет убрать minor-моды из modeline, или заменить текст на свой. На прочую работу мода не влияет.
(require 'diminish) (diminish 'anzu-mode) (diminish 'abbrev-mode)
И что там ещё неинтересно видеть.
Вариант с заменой текста:
(diminish 'abbrev-mode "Abv")
Есть более новый аналог delight, смотреть https://www.emacswiki.org/emacs/DelightedModes
нумерация строк
M-x display-line-numbers-mode
nlinum
- этот надо ставить, если зачем-то нужен.- некогдашний
linum
- не рекомендуется использовать
file local variable
consider a file local variable set in each file. The shortest, most general way to set one of these is to include the following in the first line of the target file:
-*- eval: (auto-revert-mode 1); -*-
In source files, the text can follow a comment delimiter (//, \verb|#|, etc). You can run M-x add-file-local-variable-propline to have Emacs generate this for you automatically, or M-x add-file-local-variable for a format that uses the bottom of your file instead of the top.
Автозакрывание ненужных буферов через какое-то время
Вместе с удобными способами открывать и благодаря тому, что как-то открытые буферы не особо мешают, позволяет вообще не особо помнить, что открыто, что не открыто, и не особо заморачиваться закрыванием. Иногда закрываю вручную, конечно :) Изредка. :)
Midnight
https://www.emacswiki.org/emacs/MidnightMode Для выполнения чего-либо автоматом и с некоторой регулярностью. Обычно применяется для удаления ненужных буферов. И я не оригинальна.
(require 'midnight) (midnight-mode 1)
Когда выполнять.
(midnight-delay-set 'midnight-delay "4:30am")
Другой вариант - в секундах после полуночи.
Если хочется, чтоб задание выполнялось чаще:
(setq midnight-period 7200) ;; (eq (* 2 60 60) "2 hours")
Что, собстна, делаем-то.
(add-hook 'midnight-hook 'clean-buffer-list)
clean buffer list}
https://www.emacswiki.org/emacs/CleanBufferList Запускаем через midnight-mode.
Вычищать буферы старше одного дня.
(setq clean-buffer-list-delay-general 1)
Вычищать «специальные» буферы старше 6 часов.
(setq clean-buffer-list-delay-special (* 3 3600))
Настроить, какие «специальные». (По умолчанию “*Help*”, “*Apropos*”,“*Buffer List*”,“*Compile-Log*”,“*info*”,“*vc*”, “*vc-diff*” or “*diff*”.)
Убираем маны, кастомайз, поиски.
(add-to-list 'clean-buffer-list-kill-buffer-names '("*buffer-selection*" "*ag search text*" "*vc-change-log*")) (add-to-list 'clean-buffer-list-kill-regexps '("\\`\\*Customize .*\\*\\'" "\\`\\*\\(Wo\\)?Man .*\\*\\'"))
Никогда не удаляет “*scratch*”, “*Messages*”, “*server*”, минибуферы (называются “*Minibuf-”), показываемые на момент буферы, буферы с процессами и внутренние буферы, которые никогда не показываются, буферы с изменёнными файлами.
Настроить и это.
(add-to-list 'clean-buffer-list-kill-never-buffer-names '("*eshell*" "*ielm*" "*mail*" "*w3m*" "*w3m-cache*")) (add-to-list 'clean-buffer-list-kill-never-regexps '("\\`\\*tramp/.*\\*\\`" "\\`\\*ftp .*\\*\\`"))
Пишет, что делает в Messages.
про открывание файлов - задумчивость
Поймала себя на том, что временами мешает необходимость соображать, что мне сейчас нужно: открыть файл по адресу, открыть проект и файл в нём, открыть другой файл в открытом проекте по имени файла, открыть заметку в org-roam. Это всё делается сочетаниями клавиш, все «близко» в памяти рук, но руки временами делают не то, приходится отменять начатое и делать заново уже нужное.
И то ли надо делать так, чтоб было легко переключиться на другой вариант, если первый сделанный по рефлексу не прокатил. То ли избавляться от каких-то вариантов, но каких? То ли надо делать так, чтоб вообще не получалось делать «не приходя в сознание». Пока не знаю.