This channel is a feed for r/emacs. @r_channels @reddit2telegram
Fortnightly Tips, Tricks, and Questions — 2025-07-01 / week 26
This is a thread for smaller, miscellaneous items that might not warrant a full post on their own.
The default sort is new to ensure that new items get attention.
If something gets upvoted and discussed a lot, consider following up with a post!
Search for previous "Tips, Tricks" Threads.
Fortnightly means once every two weeks. We will continue to monitor the mass of confusion resulting from dark corners of English.
https://redd.it/1loqznm
@r_emacs
consult-(rip)grep
by specifying multiple terms?
Hi all, often I have the need to grep files that contain two or more words, but that do not appear together, for example using rg
, find all files with orders
AND food
(order does not matter):
$ rg -i orders -l | xargs rg -i food
consult-grep
or consult-ripgrep
?Planning sprint in Emacs with org-mode and gptel
https://redd.it/1lobvrl
@r_emacs
Why EMACC is the Optimal Tool for Measuring Cognitive Change
They misspelled EMACS. Emacs use and engagement definitely helps with cognitive health.
https://www.youtube.com/watch?v=3-J3nx_uxMc
https://redd.it/1lo8fqr
@r_emacs
Long term vanilla keybinds users: how are your hands?
https://redd.it/1lo0mlz
@r_emacs
I created a set of macOS 26 "Liquid Glass" app icons for Emacs
https://redd.it/1lnjwpp
@r_emacs
How do you store and revisit articles from web?
I have 200+ bookmarked articles, that were interesting to me earlier but I have not revisited them since they were bookmarked. So my question to you is:
- How do save some article for future consumption or purusal?
- What tool/packages do you use?
- How frequently do you revisit these separate bits of article/Notes?
- How do you get the that one note/article from a long list of notes/articles?
Thanks in Advance.
https://redd.it/1lnhtbs
@r_emacs
properly setting up auctex
i've recently started using LaTeX and I'd like to fully utilize auctex for this. Things like key-chords for inserting `\textbf{}` and so on, and also ensuring that latex-mode is enabled for buffers with the .tex extension. Somehow both these things don't work and I've been trying to figure out what's wrong with my config. i do realise that my config is really messy but this is what it's like currently
(use-package tex
:straight (auctex :host github
:repo "emacsmirror/auctex"
:files (:defaults (:exclude "*.el.in")))
:mode ("\\.tex\\'" . latex-mode)
:hook ((LaTeX-mode . auto-fill-mode)
(LaTeX-mode . TeX-PDF-mode)
(LaTeX-mode . flyspell-mode)
(LaTeX-mode . flycheck-mode)
(LaTeX-mode . turn-on-reftex)
(LaTeX-mode . TeX-source-correlate-mode)
(LaTeX-mode . turn-on-cdlatex)
(LaTeX-mode . (lambda ()
(require 'tex-site)
;; NOT display compilation windows
(setq TeX-show-compilation nil
;; PDF mode enable, not plain
TeX-global-PDF-mode t
;; use xelatex default
;;TeX-engine 'default
TeX-clean-confirm nil
TeX-save-query nil))))
:config
(require 'tex-site)
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)
;;(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex%(mode)%' %t" TeX-run-TeX nil t))
;;(setq TeX-command-default "XeLaTeX")
(add-to-list 'TeX-command-list '("LaTeX" "%`pdflatex -shell-escape --synctex=1%(mode)%' %t" TeX-run-TeX nil t))
(setq TeX-command-default "LaTeX")
;;(setq TeX-command-default "pdflatex --synctex=1")
(setq TeX-parse-self t ; parse on load
reftex-plug-into-AUCTeX t
TeX-auto-save t ; parse on save
TeX-view-program-selection '((output-pdf "PDF Tools"))
TeX-source-correlate-mode t
TeX-source-correlate-method 'synctex
TeX-source-correlate-start-server t
TeX-electric-sub-and-superscript t
;; TeX-engine 'luatex ;; use lualatex by default
TeX-save-query nil
;; '$' inserts an in-line equation '\(...\)'
TeX-electric-math (cons "\\(" "\\)"))
;; pdftools
;; https://emacs.stackexchange.com/questions/21755/use-pdfview-as-default-auctex-pdf-viewer#21764
(setq TeX-view-program-selection '((output-pdf "PDF Tools"))
TeX-view-program-list '(("PDF Tools" TeX-pdf-tools-sync-view))
TeX-source-correlate-start-server t) ;; not sure if last line is neccessary
;; to have the buffer refresh after compilation,
;; very important so that PDFView refesh itself after comilation
(add-hook 'TeX-after-compilation-finished-functions
#'TeX-revert-document-buffer))
https://redd.it/1lnf6cz
@r_emacs
Authentication issues when sending mail using smtpmail
Hello. I've been trying for hours to get smtpmail working and would appreciate some help!
This is the output in the Messages buffer I got after attempting to send an outgoing email
Sending...
Sending via mail...
Decrypting /home/[user]/.emacs.d/.authinfo.gpg...done
530-5.7.0 Authentication Required. For more information, go to
530 5.7.0 https://support.google.com/accounts/troubleshooter/2402620. d9443c01a7336-23acb3b5009sm47636515ad.162 - gsmtp
221 2.0.0 closing connection d9443c01a7336-23acb3b5009sm47636515ad.162 - gsmtp
smtpmail-send-it: Sending failed: 530-5.7.0 Authentication Required. For more information, go to
530 5.7.0 https://support.google.com/accounts/troubleshooter/2402620. d9443c01a7336-23acb3b5009sm47636515ad.162 - gsmtp
-> il - 4: word not found
config.el
(I'm using Doom Emacs):(require 'smtpmail)
(setq message-send-mail-function 'smtpmail-send-it
starttls-use-gnutls t
smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
smtpmail-auth-credentials (expand-file-name "~/.emacs.d/authinfo.gpg")
;; smtpmail-auth-credentials
;; '(("smtp.gmail.com" 587 "[user]@gmail.com" nil))
smtpmail-smtp-user "[user]@gmail.com"
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587
smtpmail-stream-type 'starttls
smtpmail-debug-info t
smtpmail-debug-verbose t
)
(setq auth-sources
'((:source "~/.emacs.d/.authinfo.gpg")))
.authinfo.gpg
. To ensure that the port and password are conveyed, I set up .authinfo.gpg
as follows:machine smtp.gmail.com login [user]@gmail.com password "[app password]" port 587
Karthink's new org-latex preview does not work in narrowing
I've already used Karthink's new org-latex preview for several weeks. There are some small frictions but generally it's great! Typing latex in org-mode has never been smooth like now.
I notice that it does not work for narrowing. When I run org-latex-preview, emacs freezes like running info some infinite loop. I am wondering if anyone else observes similar issues.
I still highly recommend this new preview mechanism, and anyone who uses a lot of LaTeX in org should give it a try. It's really amazing. I hope this feature can be released officially soon.
https://redd.it/1lmpl1v
@r_emacs
Call for Proposals open for EmacsConf 2025
Ahoy Fellow Emacsians!
We are excitedly calling for your participation for EmacsConf 2025,
planned for December 6 and 7, 2025 (Sat-Sun)! Please submit your
proposal by September 19, 2025 (Friday).
(I'm happy to check here for comments and discussion however please consider directing replies to the emacsconf-discuss
mailing list/reviewing the publicaly archived discussions there. Thank you.)
# Quick Links:
- https://emacsconf.org/2025/
- https://emacsconf.org/2025/cfp/
- https://emacsconf.org/2025/submit/
- https://lists.gnu.org/archive/html/emacsconf-discuss/2025-06/msg00000.html
# The Full 2025 CFP:
## 1 Call for participation
What have you found exciting about Emacs lately? Have you figured out a good workflow? Used Emacs for something interesting? Come share bwhat you've been learning at EmacsConf 2025 and meet other enthusiasts balong the way! All backgrounds and all levels of experience are welcome. Emacs isn't just a text editor, it's a way of life! EmacsConf 2025 will be a virtual conference on December 6 and 7, 2025 (Sat-Sun, 9AM-5PM UTC-5 America/Toronto, which is the same as 2PM-10PM UTC). We hope to get your talk proposal by Friday, September 19, 2025.
If there are similar proposals, we'll work with people so that the talks can cover different facets.
## 2 Talk formats
Ideally, talks will be prerecorded so that you can script and edit them as tightly as you want, and so that they can be captioned for accessibility. Here are the talk options:
- 5-10 minute lightning talk: just the essentials! If you can squeeze your prerecorded talk into 5-10 minutes by focusing on the essentials (not by talking super quickly!), we might be able to repeat it during the conference in order to fill gaps.
- 20-minute talk: short enough to keep people's attention, long enough to get into some details.
There will be time for questions and answers after your talk, so you don't need to include that in your talk timing. Just like in previous EmacsConf, you can answer questions via a live video conference, IRC (Internet Relay Chat), the Etherpad (a web-based collaborative document), the wiki, or email (your choice). The stream will move on to the next talk at the scheduled time, but interested people can keep hanging out with you for a longer conversation.
If you are not available during the conference itself but you have a neat idea that you'd like to share, please propose it anyway! You can always handle questions after the conference, and we might even be able to coordinate with other Emacs meetups for events in other time zones.
We may have time for a few longer sessions. If you'd like to be considered for a longer time slot, please include an outline for the extra time in addition to your 20-minute proposal. Other session formats such as tutorials, workshops, and hangouts are welcome as well.
## 3 Submitting your proposal
Send us your idea as soon as you can, so that you can have more time to work on your talk. (Proposal deadline: Friday, September 19, 2025)
If you need help, you can email us publicly at emacsconf-org@gnu.org or privately at emacsconf-org-private@gnu.org. You can also come and say hi to us on our IRC channel #emacsconf' on
irc.libera.chat' using your favourite IRC client, or by visiting chat.emacsconf.org in your web browser.
## 4 Know someone who might have something to share?
All kinds of people use Emacs for all kinds of things. We'd love it if EmacsConf 2025 could highlight interesting perspectives and reflect the diversity of our community. If you know someone who might have a good idea for a talk, please reach out to them and encourage them to submit a proposal. Many people (especially from underrepresented
Help me stay with Emacs
Hi,
I switched from Eclipse to Emacs because I had some issues with Eclipse, but it's not working; I tried, I googled, I experimented, I consulted LLM models, but there are some things that I just can't make work as I want so... can you help me solve my issues?
I'm using Emacs 30.1 on Linux (Debian).
First, keybindings: I want to rebind C-b to "project-recompile" (among others), but whatever I do C-b stays associated to ivy-switch-buffer . I tried keymap-global-set , keymap-local-set, global-set-key, local-set-key and other things I found looking around... what should I do to rebind a keymap?
Second: when working in a C++/CMake project with projectile and lsp-mode activated, Emacs can't find my headers and thus most of the LSP thing doesn't work. How do I make it work correctly?
Third, debugging: I can't start a debug session with DAP, depending on the configuration template I use I get Warning (dap-variables-expand-variable): variable ${workspaceFolder} is nil here, same thing if I start a gdb run session I can't see any sign that the debugger is started with the app, if I click on the debug bar that appears nothing happens, typing r or n or whatever gdb command somewhere does nothing. Is there a step-by-step tutorial on how to start debugging with dap in Emacs? Here is my configuration for gdb run:
(dap-register-debug-template
"GDB::Run"
(list :type "gdb"
:request "launch"
:name "GDB::Run"
:target "funilib-test-app"
:cwd "${workspaceFolder}/build"))
Fourth: how do I automatically start lsp-treemacs-symbol automatically when a C/C++/Python/other file is opened?
Fifth, optional but appreciated: is there a way to set a layout and make Emacs not change it? Like on the left lsp-treemacs-symbols, on the bottom messages/build results/gdb/other things and above that two editor windows.
I've spent quite some hours trying to make it work as I would like, but now it's time to define if I can make it work as desired rapidly or if it's better to swith back to Eclipse: I wanto to spend time writing my code, not get a PHD in Emacs Configuration.
I avoided posting now my init.el file, if you think is needed let me know.
Thanks to all who'll help me solve my problems.
https://redd.it/1lmh0d5
@r_emacs
Grammarly replacement recommendations?
Just what the title says and thanks!
https://redd.it/1lmashg
@r_emacs
What direct key combinations works in the TTY?
Is there like a list of all the direct key-combinations that works in the TTY?
, like
C-F1
C-PgUp
C-\
There are so many that don't work, like
C->
C-#
We also have the off-limits ones, like
C-i
C-m
https://redd.it/1lm5f29
@r_emacs
[ANN] - Wingman: LLM-assisted Copilot-style text completion
https://github.com/mjrusso/wingman/
https://redd.it/1llzrnt
@r_emacs
Asynchronous Elfeed Updates
I was searching for a package to prevent Emacs from freezing during Elfeed feed updates, especially for my setup with 400 feeds. Despite extensive searching, I couldn’t find an existing solution that fully addressed this issue.
With the help of Grok AI assistant from xAI, I developed a custom solution using async.el to update Elfeed feeds asynchronously. This approach fetches feeds via curl in a background process, ensuring Emacs remains responsive, saves data to the Elfeed database (~/.elfeed), and displays new entries in the search buffer with a single "Elfeed update completed successfully" message.
I know AI can be controversial, but as someone who isn’t an Elisp expert, collaborating with AI its a big +. The result is a lightweight, reusable configuration that works seamlessly for large feed lists.
Check out the code at https://codeberg.org/danrobi/elfeed-async-update. If you know of an existing package that achieves non-freezing Elfeed updates, please share—I’d love to hear about it!
https://redd.it/1loma3x
@r_emacs
Take Two: Eshell
http://yummymelon.com/devnull/take-two-eshell.html
https://redd.it/1locdez
@r_emacs
setting up a mailing list on an org-publish static site
has anyone managed to accomplish something like a newsletter for a blog with an org-publish based static site? perhaps just something that sends emails to, say, a read only Sourcehut list which then can be subscribed to
https://redd.it/1lo8lyw
@r_emacs
Released elisp-dev-mcp, an MCP server running in Emacs for Elisp development
I just got published on MELPA elisp-dev-mcp - an MCP server, that runs in Emacs, and provides some tools for LLMs for Elisp development. The current tools are:
- elisp-describe-function
: get the output of M-x describe-function
with some more metadata;
- elisp-get-function-definition
: get the Elisp source of an Elisp function;
- elisp-describe-variable
: get the metadata about an Elisp variable, specifically excluding its actual value, to avoid leaking sensitive data;
- elisp-info-lookup-symbol
: return the Info documentation node for a symbol;
- elisp-read-source-file
: return the whole Elisp source file, limited to site installation and user's ELPA.
I'd welcome any feedback and suggestions for new tools/resources. At the moment I cannot think of anything else immediately usable, thus I'll be looking to tag a melpa-stable release too.
This builds on mcp-server-lib.el, that I wrote about some time ago.
Now I am extending mcp-server-lib.el
with resource support, which I am planning to use to write an Org-accessing MCP server.
https://redd.it/1lo6ep8
@r_emacs
Powershell script to Update Tree Sitter langs to latest , for emacs on Windows
This is a powershell script that downloads the latest release of tree-sitter-langs from https://github.com/emacs-tree-sitter/tree-sitter-langs/releases , and then extracts them into a new directory in .emacs.d named with the appropriate version. It then renames all the "LANG.dll" files to "treesitter-lang-LANG.dll" and then tries to create a junction named "tree-sitter" pointing to that new directory.
Runs in Powershell, for emacs on Windows.
https://gist.github.com/DinoChiesa/30e044408b127fa03ac8ee3218c7d985
https://redd.it/1lnifx3
@r_emacs
Fate of the r/planetemacs
Just curious, but does anyone happen to know what happened to r/planetemacs? It looks like whoever was running it deleted their account. I enjoyed having that daily-ish feed of Emacs-related articles. Did they perhaps move it to another platform?
https://redd.it/1lnjmv7
@r_emacs
Looking for a minimal modeline.
I'm creating an Emacs config from scratch and I'm looking for a minimal modeline. I don't really like the ones with the "modern" look with fancy glyphs/icons (Doom, Spacemacs, etc.). My idea of aesthetics is an ncurses tui like interface, so that's the kind of look I'm going for.
Even the default modeline has more information than I actually need. I think all I really need is:
buffer name (and whether there are unsaved changes)
major mode / language
column
git branch
Anything that isn't too bloated, has none or minimal dependencies, and can be customized it for various usecases?
https://redd.it/1lngbnn
@r_emacs
vim-tab-bar.el: Make the Emacs tab-bar Look Like Vim’s Tab Bar (Release: 1.0.8)
https://github.com/jamescherti/vim-tab-bar.el/
https://redd.it/1ln58ap
@r_emacs
mcp-server.el - implementing MCP servers in elisp
https://redd.it/1lmxcs3
@r_emacs
groups such as women, people of colour, non-developers, etc.) might not consider themselves proficient enough to share their thoughts. If you let them know that you value their knowledge and experiences, and maybe even suggest something that you think others would like to hear about, they may realize that they do have something worth sharing and that we would love to hear from them.
## 5 Want to volunteer?
If you would like to help with the conference (planning the sessions, reviewing proposals, helping with infrastructure, making sessions more accessible, editing video transcripts, checking in speakers, reading questions out loud, organizing notes, etc.), please see our volunteer page. Volunteers get early access to talks and learn lots of things along the way. We'd really appreciate your help in making EmacsConf 2025 the best one so far!
## 6 Commitment to freedom
We remain fully committed to freedom. You'll be able to participate in EmacsConf using free/libre software, and we use free/libre software to organize and run the conference. You can find some notes about our setup and process at https://emacsconf.org/infra/.
https://redd.it/1lmpw8s
@r_emacs
Trying to learn to send an email on emacs through userland arch on android
gotten to sending an email but nothing is received on the other end. any advice is greatly appreciated :)
https://redd.it/1lml1il
@r_emacs
How can I add filenames or exclusions in the Minibuffer when dynamically searching?
I don't think packages like helm-rg and all the rest supports this, but I want to dynamically add stuff like
foo *.cs -test
This would search for "foo", in *.cs files, but exclude "test"
Does any package do this kind of thing.
I know I can C-u to add filetypes and I can add .ignore files, which I do, today, but I want to dynamically type it into the Minibuffer;)
https://redd.it/1lmgsdu
@r_emacs
Is it possible to config Vertico completion to work like fzf-lua
I am trying to change my workflow from vim to emacs (just want to change something new). Currently I am playing around with vertico and wonder how can i achieve something similar to how fzf-lua search for a file.
For example, in fzf-lua, I can quickly search for app/controllers/application.controller by "apccontroller"
In Vertico i currently have to use tab completion but with fullpath "app/controllers/app"
https://redd.it/1lmcsq8
@r_emacs
Multiple compilation-mode buffers
Hi! I work mostly with React projects that support hot module reloading, so my compilation process often involves a constantly running process that recompiles every time I make changes to the code.
However, I have other commands like parsing LESS into CSS that I'd also like to run while the main process is running. Is there any way I can set up multiple *compilation* buffers so that I can use compilation-mode in all of them?
https://redd.it/1lm2e5m
@r_emacs
shutting down emacs logout on ubuntu
So title tells almost everything. This behaviour starts when I add this to early init:(require 'server)
(unless (server-running-p)
(server-start))
https://redd.it/1llvkjh
@r_emacs