The real point is that almost the entire vi interface sensibly combines that way to operate on words, lines, paragraphs, regexps etc. Whereas a good IDE works on that which the words, lines, etc represent: i.e. a code dom.
Actually, "words, lines, paragraphs" also includes statements, function calls, class definitions, and the rest of the "code dom", in a language-specific manner. Not so in nvi (a barebones vi), but definitely in vim.
Don't suppose you have a link to a decent tutorial on these features for, say, java?