I’m not sure if some time comes that I finally can say I know vim. But I don’t think that would happen before I read the whole manual.
This week I learned these new commands:
I’ve always used ctrl-o
to move to last place I was editing in vim. Turns out there’s a keybinding to move to the previous file that was open it’s Ctrl-^
(or Ctrl-6
).
This command switches to the last visited file.
It provides quick toggling between two files if you do it repeatedly.
:g
is powerful. To move/delete things that have a pattern.
You are probably familiar with gj
and gk
but there’s also gq
(or gw
if the other did not work.) gw
helps to split a long line into smaller lines.
Other things:
- I made a chrome extension, Readwise Reader Importer to import links into Readwise. I wanted this tool myself for importing youtube playlists to Readwise. This time I decided to build it as an extension so I can share with others. It got 10 users! I did most of the work using Claude code. It costed around 10 euros, but I’m happy with the resulting look.
- I moved my reading list off Notion and to my blog. I was tired of me entering books I read and notes about them in Obsidian and the Notion was rarely updated. So I found a solution to update my blog with Obsidian, and then show the book notes just as any other page on my blog. The bonus is that I can make it more beautiful in the future.
- I’ve heard about this language called ungrammar that is used in Rust to generate CSTs. I did not know anything about it. Thanks to this issue in Ruff , I did some work related to generating AST. There’s this nice video that explains how it’s used in the Rust Analyzer code.
- I implemented Redis streams in toy clone of Redis. I took some time doing this, I wanted to use an array instead of a linked list. This would make a good candidate for a blog post so I won’t go into details. Redis uses radix tree to implement streams(according to AI)
- I read https://sive.rs/su and decided to keep my own URLs shorter too.
That’s it for this week.