Its a list of what you should know as a CS Major, NOT as a Software Engineer. It also doesn't say you'll need it, it says you should know it (big difference, you should know lots of things you don't need to know)
The document is intended to position you to seize basically every opportunity that comes along, from my reading. Vim is a useful tool for that. Nothing on this page is mandatory to be a successful software guy, even a senior guy. Everything on this page is useful as a tool in your arsenal for getting there and will help you take advantage of opportunities along the way. Vim and Emacs are both ubiquitous across unix-based systems, and they are one of the more common bits of technology among organizations that use them - learning them is definitely a useful thing, and I've got no problem with them appearing on this list. They also encourage a mentality that is useful for Computer Scientists even if they don't end up using them in their job BECAUSE they don't just hand everything to you, but expect you to use it as the base of a tool customized to fit your needs. The document emphasizes in multiple places how important it is to do things from scratch at least once, understand how and why the pieces fit together and fit them together yourself. Something like Vim is an extension of that and useful to know. He makes it quite clear that you're learning it to familiarize yourself with the philosophy, not because of it's usefulness. Even if you don't adopt the Unix philosophy yourself, familiarity with it is extremely important if you want to keep doors open moving forward.
It's not needed and I don't think the document says otherwise. Much like learning Racket, it's about the benefits of learning the tool rather than needing to use the tool moving forward.
I really, really can't argue with you, because my english sucks. I can write a novel in my original language about how this article is wrong on many levels, but I disgress.
On a foot note, overall, it's a terrible document for anybody who is going for practitioning programming. I mean real job. If you ever is going for senior position in a software company - it's a bad reading. I mean it - it's harmful and you will be dissapointed in the end. It's good theorethically, but otherwise stupid. I dont even want to start to talk about how business needs is important in practical programming. And this is totally absent there. And I am generally adamant about how education system is bad for real job needs, but it's a whole new topic worthy.
Sorry, I was folllowing this thread from start, and I really was taken away just by this exact text. So I thought I should answer, whatever crude my answer was. And gosh, vim vs IDE is last subject which matters, please stop it, I am already bored.