well i have not learned vi yet, i tend to use emacs for my text editing needs.
as for rpms, as i said they are red hat package management files. they can be used for updates in the fashion i mention above, they can contain source code, which you can install using the same syntax, or you can convert the source code into binaries by typing "rpm --build whateveritis-i*86.src.rpm" also, rpms can contain libraries and other files that a certain application might depend on to run properly. RPMs can contain a lot of different stuff but basically its a red hat proprietary method of easily adding files to your system in a functional way.