It has been a while since the last posts from this series, so the title weekly doesn’t really apply. The previous 2 bite-sized commitments to improve my Vim skills worked well, with about 75% of the things I tried to internalize now in daily use. This week I will focus on some movements, sticking to the number 4.
Lmove to top and bottom screen.
ctlr+Bmove a page forward and back.
I find the behaviour of this a bit strange, because it places you on the second to last line of the current page.
'followed by a mark moves to the line of that mark.
Useful automatic marks are
.for the location of the last edit and
'for the location before the last jump.
nGmoves to line n.
I used to use
:nfor this, but that is not really a movement and thus can’t be combined with other commands.
For more movements also have a look at this Vim Movements Wallpaper. I won’t use it personally, but it makes for a handy reference.
Built a 4-bit synthesizer together with a friend, based on this project. We assembled it on a breadboard, still need to transfer it to a PCB. It is based on an ATMega48 microcontroller, and the sound is generated through a R-2R ladder DAC (the resistors soldered into a chunk in the picture)
Here is a sample of the lo-fi goodness:
The synth is controlled via MIDI, and can generate a single voice in one of 4 waveforms at a time. Several synths can be daisychained to be controlled via one MIDI connector and feed a single output though, so hopefully once we get to soldering everything together we can do that.
This is probably obvious and/or part of systems like GTD, but I came up with this for myself recently, and it has worked remarkably well.
When working and trying to focus on one task at hand, which may not be my favorite task of all times, I find myself having to deal with distracting ideas popping into my head. Some of them are good ideas, and some of them are completely useless, but this can really only be determined after spending some time thinking about them, which is exactly what I am trying to avoid. I used to frequently cave in on this type of internal distraction, and my productivity would take a hit. The worst part is that once you start considering one such idea, it tends to lead to another and another.
What I have started doing now is just capture these ideas on paper, and then get back to them in my next break. Often times I will realize that the idea was stupid, and doesn’t deserve being pursued any further. But having it there puts my mind at ease, and makes it a lot easier to get on with the current task. The simple act of moving the distracting thought onto paper seems to make it easier to remove it from my mind. I use a simple notepad for this, which I keep next to my keyboard.
Week 1 of my vim productivity boosting experiment went well. During the week most of the commands I aimed for ended up being used often.
I got a lot of helpful comments, both here and on Hacker News. I ended up unmapping my arrow keys, and I do feel like this made a difference, I am now comfortable with those keys. As a bonus, it feels a lot more natural using hjkl in compound movement commands than it did with the arrow keys.
This week I will focus on repeating previously issued commands. Since 4 at a time worked well for me last time, I will stick to that number.
.repeats the last edit
gvmarks the previous visual mark
&repeats a substitution
@:repeats a command
For next week I will go through the comments and pick the ones I found most useful in there.