vi is a screen-oriented text editor computer program written by Bill Joy in 1976 for an early BSD release.
Да, vi уже 30 лет. Это стандартный для всех *nix'ов редактор, обладающий огромными возможностями. Vi IMproved (aka Vim) появился несколько позже, 15 лет спустя, вместе с операционной системой Linux. Программа, успешно просуществовавшая так долго, просто не может быть неинтересной.

Что же из себя представляет Vim? Это консольный текстовый редактор. Не надо махать рукой и закрывать эту страницу. Vim не похож на те редакторы, которыми приходится пользоваться в оффтопике (блокнот и иже с ним) или графических средах (gedit, kwrite, kate, mousepad aka leafpad). Не похож он и на другие консольные текстовые редакторы (nano и редактор MC). "Как так? Чем же может один из текстовых редакторов так сильно отличаться от остальных?" - спросит человек, ни разу в жизни не видевший Vim. И я отвечу. Основная "фишка" Vim заключается в том, что он работает в двух режимах. Режим вставки (Insert), как таковой, мало отличается от любого другого редактора - тут уж трудно изобрести велосипед. Есть курсор, есть текст, текст появляется за курсором. Все как должно быть. Гораздо более интересен стандартный (Normal) режим. Несложно заметить, что здесь не видно разнообразных меню (как в иксовых редакторах) или горячих комбинаций клавиш (как в nano). Только необходимая информация. В режиме Normal пользователь управляет курсором и дает команды редактору напрямую, нажимая необходимые клавиши и комбинации клавиш. Таким образом, например, в стандартном режиме клавиша j двигает курсор вниз, клавиша k - вверх, h - влево, l - вправо. Непривычно? Согласен. Но не забываем об оптимизации рабочего времени: чем тянуться к стрелкам, гораздо удобнее управлять курсором этими клавишами - остальная часть клавиатуры остается под рукой и не нужно отвлекаться и переносить руку в случае чего. О функциях клавиш можно узнать, использовав команду:
$ vimtutor
откроется туториал, по мере ознакомления с которым вы будете узнавать функции клавиш и сразу же пробовать применять их. Рекомендую сразу же этим заняться, если редактор вас заинтересовал.
Для тех, кого редактор еще не успел заинтересовать - пара слов о его возможностях. Первое, на что стоит обратить внимание - Vim умеет повторять выполнение команды. Достаточно ввести в Normal режиме 2dd, чтобы удалить две строки подряд. Или, если быть точным, вырезать их. Клавиша p в Normal режиме вставит удаленный (то есть вырезанный) текст после курсора. Опять же, 2p вставит его два раза. Это только пара примеров - вы можете применять эту функцию так, как вам только заблагорассудится. Удобно? Не сомневаюсь.
На скриншоте вы заметили раскраску текста в конфигурационном файле. Это так же одна из возможностей этого редактора. Естественно, раскраской кода никого не удивишь. Однако, полезность этой функции никто не отменял.
Нажав в Normal режиме ":", пользователь получает возможность ввести команду редактору. Например, ":w" сохранит документ, а ":q!" позволит выйти без сохранения. При установленном модуле TeX можно компилировать TeX-документы не отходя от кассы. Командой ":r документ" можно вставить после курсора содержимое документа "документ", а если вы хотите выполнить какую-нибудь команду "не отходя от кассы", то просто введите:
:! команда_и_ее_аргументы_как_в_обычной_командной_строке
Удобно? Не то слово. Особенно, если редактируемый документ надо компилировать (LaTeX или языки программирования) или, скажем смотреть в броузере (HTML-документы, CSS-стили).
Если попользоваться им некоторое время, то привыкаешь к нему настолько, что уже не хочется видеть другие, более "дружественные" текстовые редакторы. Пользователи операционных систем Window$ могут насладиться удобством Vim, если скачают с официального сайта http://www.vim.org/ версию для win32. Пользователи же Linux могут по этому поводу даже не волноваться. В репозитарии любого дистрибутива есть Vim и различные модули к нему (если сам Vim еще не ставится вместе с дистрибутивом), а vi идет со всеми дистрибутивами изначально.
Небольшое обновление: раскраска кода в Vim. Копируем файл /usr/share/vim/vimfiles/vimrc в ~/.vimrc , после чего в полученной копии находим и раскомментируем строку:
"syntax on
если наш терминал с темным фоном, раскомментируем и это:
"set background=dark