Программа vi, разработанная в Калифорнийском Университете для BSD Unix, входит сегодня в стандартный пакет поставки практически вcех версий Unix.
Редактор vi не поддерживает работу с графикой и использование мыши и на фоне современных средств выглядит достаточно архаично. Выполнение таких функций, как редактирование, сохранение и просмотр содержимого файлов возможно только с применением клавиатуры, Однако, поскольку клавиши, используемые при работе с этой программой, имеются на любой клавиатуре, он может работать с терминалом практически любого типа и является одним из самых популярных редакторов среди программистов и пользователей Unix.
При работе с редактором используются лишь клавиши с буквами, цифрами и знаками пунктуации, а также клавиша <Esc>. Клавиши управления курсором поддерживаются только некоторыми терминалами.
Режимы работы редактора vi. Существует по меньшей мере пять режимов работы программы vi. Чаще всего используются два из них - командный режим и режим ввода (рис. 10).
Рис. 10. Основные режимы работы редактора vi
В командном режиме редактор vi интерпретирует нажатие клавиш как команды. Можно указать редактору, например, переместить курсор, удалить текст и т.д.
Приведем часть команд, доступных в командном режиме, достаточных для редактирования текста.
Примечания:
· Если Вы не уверены, в каком режиме работает редактор vi, нажмите клавишу <Esc>.
· Команда, заданная в режиме команд, не отображается на экране. Почти каждое нажатие клавиши приводит к выполнению какой-либо команды.
(!) Будьте очень осторожны.
Основные команды редактора vi приведены в Табл. 7.
Таблица 7. Основные команды редактора vi.
l или <sp> или ®
h или <BS> или
j или ¯
k или
Перемещение курсора.
sp клавиша ПРОБЕЛ
BS клавиша Backspace
Примечание: односимвольные команды (l,h,j,k) работают на любых терминалах. Некоторые терминалы поддерживают также работу с клавишами управления курсором.
x
удаляет символ, расположенный справа от курсора (для удаления нескольких символов укажите перед командой x соответствующее числовое значение, например, 5xдля удаления 5 символов
dw
удалить целое слово справа от курсора
dd
удалить всю строку (для удаления нескольких строк необходимо указать их число перед командой dd)
a<текст><Esc>
добавить текст за символом, на который указывает курсор
i<текст><Esc
добавть текст перед символом, на который указывает курсор
o<текст><Esc>
вставить новую строку. Курсор помещается в начало пустой строки.
rc
замена одного символа, на который указывает курсор, на один символ c.
R
редактор переходит в режим замены и можно заменять один символ на произвольное число символов. Возврат в командный режим по <Esc>.
Приведенных команд достаточно для редактирования любого текста. Однако необходимо иметь в виду, что возможности редактора vi не ограничиваются приведенным списком команд. Редактор vi - это очень гибкий и мощный текстовый редактор.
Программа vi имеет еще так называемый режим последней строки. Все команды, вводимые в этом режиме, начинаются с двоеточия (:). Ввод двоеточия заставляет курсор переместиться в нижнюю часть экрана, где следует ввести оставшуюся часть команды.
Примечание. В режиме последней строки ввод команды завершается нажатием клавиши <Enter>.
Основные команды режима последней строки:
:wq запись изменений в редактируемый файл и выход;