Karthinks
Karthinks
Karthinks
Where I collect notes. Sometimes you have to write to be able to think.
Latest Posts
Emacs features have a discoverability problem, and we’re chipping away at it one demo at a time. The years since I wrote the last one of these have yielded more surprising and useful finds, so it’s time again for a “batteries included”...
TL;DR: Get LLMs to do things from Emacs, with gptel and your help. A short one today, without the usual flourishes. gptel is a large language model (LLM) client for Emacs. At its core is a wrapper around the HTTP APIs provided by all LLM...
Continuing my avocation of writing to increasingly niche audiences, today we have a matter at the intersection of several small Venn bubbles: the group of Emacs users who code in Emacs, who use Git (or version control) everywhere, who...
Window management in Emacs gets a bad rap. Some of this is deserved, but mostly this is a consequence of combining a very flexible and granular layout system with rather coarse controls. This leaves the door open to creating and using...
TL;DR: “We have X-references at home” Cross-references in Org mode are not as well developed as its (relatively) new citation system. Org’s built-in linking system is fairly comprehensive and exports to all formats well enough. But if...
A modest defense of the rodent So, Emacs and the mouse. This is an unexpectedly contentious topic, with discussions that end, at best, with careless dismissal. More often they turn into arguments with folks talking past one another. The...
TL;DR: Sometimes Emacs needs a timeout A diamond is very pretty. But it is very hard to add to a diamond. A ball of mud is not so pretty. But you can always add more mud to a ball of mud. – Gerald Sussman, paraphrasing Joel Moses A...
Or: Further Musings on the Tedium of Long Key-Chords. In the past I’ve covered various bespoke approaches to the problem of repeating long key sequences: Transient, Hydra, repeat-mode (and repeat-mode’s helpers) require progressively...
Emacs 29 is getting native Tree-Sitter support, and the buzz is hard to miss. Tree-Sitter maintains and provides a concrete parse tree of the buffer that you can query, but that’s as far as it goes. Acting on this information to provide...
Addressing an innocuous question about the Notmuch email client’s default behavior took me surprisingly deep into the bowels of the package code. When the normal customization methods didn’t help, I realized it might be a good...
Are you tired of pressing C-x o repeatedly to switch to the window you want in Emacs? Or M-g n and M-g p to cycle through compile errors or grep matches? How about navigating outline headings with (yuck) C-c @ C-n and C-c @ C-p? The...
If you use Emacs for more than editing text, there are many daily occasions to use Emacs as a pager. Here’s my list: Read-only files (with view-mode) Scrolling through emails (notmuch) RSS feed entries (elfeed) Reading ebooks (nov.el)...
This is a post in my Latex editing series, a quick package announcement for better Latex previews. After complaining the other day about Latex previews in org-mode being unbearably slow, I decided to take a crack at adapting Org-mode to...
This is a post in my Latex editing series, an awkward solution to a tiny problem. The Problem A common issue with Latex previews in Emacs: The preview images don’t scale when you rescale text in latex-mode or org-mode: [VIDEO] Direct...
Emacs is reasonably consistent across its major-modes in its common usage patterns and keybindings. For example, C-M-a and C-M-e consistently move you to the beginnings and ends of functions in various language modes, and C-c C-z moves...