The Valuable Dev - How to Create Vim Text-Objects in Lua
Wednesday Greetings, Valuable Developer
I hope everything's going well on your side!
This month, I've been travelling a bit in Germany during the Easter holidays. Travelling is the only way for me to unplug from my 281898 side projects. It's important to unfocus sometimes; it's how I get my best ideas. It's difficult for me to be creative when I'm focusing most of the time!
I began, during my travel, to write a series of short posts about my experience writing the book Building Your Mouseless Development Environment. Hopefully, some of them will be ready beginning of next month on my other-more-personal-blog. I also plan to write more small posts there.
The article of this month: how to create new text-objects for Vim (or Neovim) in Lua.
How to Create Vim Text-Objects in Lua
Text-objects, such as aw
(around a word) or a(
(around parentheses), are useful constructs to edit our content in Vim. What could be better? Creating our own!
Updates
- I've published two new videos on my Youtube channel:
- The first one is about shell keybindings and completions for fzf
- The second one describe the great CLI vidir.
Resources
- I think that job interviews for developers are broken. Here's an interesting article on the subject with many good points: you suck at technical interviews
- Here's a very good talk from Jessica Kerr: Keynote: Collective Problem Solving: Music, Science, Software. It's about system, problem solving, and many other ideas I've also written about on The Valuable Dev.
Mouseless
- The CLI warpd is a great and quite unique mouseless tool to move our cursor with the keyboard. The same author also developed a low level key remapping tool, working on both Wayland and X: keyd
- Here's an interesting project which allows us to save webpages and Youtube videos, and manage them on our computers: Monk
- Do you want to archive some website on your hard disk? Here's a Personal Wayback Machine for you.
Book
I've read an interesting book last week-end, mainly about problem solving: Obliquity: Why Our Goals Are Best Achieved Indirectly.
It reminds the reader that the "map is not the reality", and that it's important to try to take indirect paths to solve problems in complex systems. There's also some nice ideas about getting what we need as opposed to getting what we want.
Next Article
I'll publish the third article in my series about measuring complexity next month. This time, we'll look at two open source projects (a small and a large one), and we'll try to get some useful information about them, using the techniques I've explained in the two previous articles.
Let's Connect
If you want more information about the content of this newsletter, or if you have any question, you can hit the wonderful "reply" button. I'm always happy to receive emails!
Similarly, if you think this newsletter is boring, if you didn't like my last article, or if you have any feedback of any sort, don't hesitate to reach out.
Thanks for your interest in my work, and see you in a month!