Evil is an Emacs package which brings features of VI/VIM into Emacs
Evil is an extensible vi layer for Emacs. It provides Vim features like Visual selection and text objects, and is the successor to Vimpulse and vim-mode.
The Emacs wiki page for it has a lot of information about it as well.