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
gv marks 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.
I’m a long time user of vim, but sometimes I feel I have retained some bad habits from when I first started using it, or that I am stagnating in my skills. Sure, I learn a new trick every now and then, but most of them I tend to forget again. So I am going to pick a few commands, and make an effort to stick to them consciously for a week. Hopefully. they will make it into my permanent repertoire that way. Depending on how well this goes, I might make a series out of it.
Here’s what I am going for this week:
- use c for change instead of deleting and then going to insert mode
- use ctrl-O to jump to the previous location (I just found out this also works across buffers)
- use ctrl-R to paste registers in insert mode
- use hjkl instead of arrow keys for navigation. (this is a big one, tried it before, and failed. But it makes a lot of sense to keep the fingers on home row as much as possible. Might go as far as remapping the arrow keys to force myself to do this.)
Seems like a short enough list to be tractable. More to come next week if I find this approach to be helpful.