Редактор vi (по крайней мере, его клон vim, присутствующий в большинстве дистрибутивов Linux) знает о существовании 8-ми битных символов. Это даёт вам возможность вводить кириллические буквы. Редактор правильно распознает границы слов.
Насколько я понимаю, vim использует locale для преобразования букв из строчных в заглавные и обратно, т.е. на всех встреченных мной unix-like системах vim правильно работал с русским языком после настройки locale (Как настроить локаль смотрите раздел “Настройка локали”).
Для того, чтобы постоянно не переключаться в командном режиме между английскими и русскими буквами, необходимо выполнить мапирование русских букв в английские — либо (в старых версиях vim или vi) через команду map для каждой буквы, либо (в новых версиях vim) через опцию langmap. Последнее делается добавлением в ваш ˜/.vimrc, или в общесистемный vimrc, двух строк:
set langmap=ж;; set langmap=ё`,йq,цw,уe,кr,еt,нy,...<и так далее>...,ЬM,Б<,Ю>
Подробности — в :help langmap.