Andrey Listopadov

emacs

I use Emacs mainly for programming, but I also write a lot of non-code in it, either for this blog, documentations for my projects, or just when I take notes. And I do it with a git-friendly style of formatting with single sentence per line.
After publishing the last post I’ve thought why won’t I post such things here occasionally? I have a few pieces of Emacs Lisp in my configuration that I wrote for myself some time ago to fix some annoyances or improve a certain workflow.
I was going through my git commit history in my public dotfiles repository, and noticed that prior to using straight.el I’ve, like many, used inbuilt solution for managing packages, called package.el. However, there was one thing that bothered me, and was one of the reasons that made me think about switching to straight was the fact, that a lot of times when I wanted to update or install packages, I couldn’t, due to an outdated package cache.
Not so long ago I’ve written about Paredit and its quirks. I’ve been happily using Smartparens ever since that post, but something still bugged me. I was constantly thinking about the fact that Smartparens has numerous quirks in various languages and some known bugs that are unlikely to be fixed in the foreseeable future, given that the main maintainer doesn’t have a lot of spare time.
Here’s a quick rant, kinda. I’ve become a huge fan of structural editing recently. My structural editing journey was maybe a bit unusual, but I’ve finally settled on Smartparens for quite some time. Originally I was introduced to structural editing by Parinfer mode which had some Paredit functionality, so it got me interested.
For a long time I was a fan of Hack font. It has really nice language support, great readability at size of 9pt, and zero with a dot. I love when zero comes with a dot. Many fonts use zero with a line, to differentiate it from capital O, but on small sizes it is not great, however dot looks fine when both small and big.
Modern text editors usually operate in one instance. When I select some advanced text editor as my preferred editor in the system, I expect this to happen: I click on some file in the file manager; If there’s no editor instance opened, a new instance opens with the file ready to edit; If there is an instance of editor opened somewhere, file is being opened in it, and the editor is brought to me via some focus event.
This is yet another follow up post in Emacs configuration series, that is also about Tabs. Previous post was about how tabs behave when you close them, and how I think the algorithm can be improved. This post is more about visuals and horizontal space management.
Another little piece from my Emacs config that I’ve decided to turn into a small post, following up on previous one. This time, we’re going to make tabs work as in most graphical editors. Tabs were added with global-tab-line-mode in Emacs 27, and are pretty simple tabs, that are being displayed on the top of a window, and by default their semantics are not very useful in my opinion.
Thought that I can share snippets of my Emacs config from time to time here, just like @clemera does on with-emacs.com. I highly recommend you to check it out, there are many great recipes and articles. A while ago I’ve added static Treemacs title to Treemacs buffer for aesthetic purposes - it adds good alignment with tabs in other window.