I find myself using vi (often vim actually) a lot these days, not for large chunks of code, but for small scripts and configuration files on a variety of Linux servers. You can get along in vi using just the hjkliESC keys, but sticking with those is really limiting. I’m getting to the point where I remember to use other commands, and so it’s time to read again about all the vi commands, and try to increase my repertoire. These two references look useful:
I can’t quite explain why vim feels like my editor of choice for these sorts of occasional edits on Linux: I guess because it’s ubiquitous and a little familiar.