Andrey Listopadov

Tags / editor-configuration

I use Emacs mainly for programming, but I also write a lot of non-code in it, either for this blog, documentation for my projects, or just when I take notes. And I do it with a git-friendly style of formatting with a single sentence per line.
After publishing the last post I 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 an inbuilt solution for managing packages, called package.el. However, there was one thing that bothered me, and 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.
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 a size of 9pt, and zero with a dot. I love it 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, a 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 files 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 an editor opened somewhere, a file is being opened in it, and the editor is brought to me via some focus event.
While working on my previous post I was mainly using Emacs, because it has the best support for Lisp languages. It has great integration with the REPL, can run a server for my application in the background, and so on. And actually, I use this a lot while working on this blog - I run hugo process in the background to see how my page is looking.
This is yet another follow-up post in the Emacs configuration series, which is also about Tabs. The 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 windows.
Newer Page 1 of 1 Older