Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебное пособие по дисциплине ОССиО.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

6.2. Редакторы VI и ex

Текстовый редактор, это программа, используемая для редактирования файлов, которые содержат текст. Традиционным текстовым редактором ОС UNIX является редактор vi.

Вызов vi:

  • $ vi myfile – одно или несколько имен файлов через пробелы для последовательного вызова их на редактирование. Если такого файла нет, то появится начало пустого файла.

  • $ vi + myfile – на экране появится конец файла.

  • $ vi +10 myfile – на экране появится часть файла и строка 10 в центре экрана, курсор – в начале этой строки.

При использовании vi в любое время можно находиться в одном из трех режимов работы. Эти режимы известны как командный режим, режим вставки и режим последней строки.

Командный режим позволяет использовать определенные команды для редактирования файлов или перехода в другие режимы. Например, напечатав «x» при нахождении в командном режиме, удаляется символ, находящийся перед курсором. Стрелки передвигают курсор по редактируемому файлу. Большинство команд, используемых в командном режиме, состоит из одного или двух символов.

В режим вставки можно перейти с помощью команды «i» из командного режима. В режиме вставки вставляется текст в документ на место, указываемое курсором. Для завершения режима вставки и возврата в командный режим следует нажать Еsc.

Режим последней строки – это специальный режим, используемый для расширения возможностей командного режима. При вводе таких команд они появляются в последней строке экрана. Например, если напечатать «:» в командном режиме, можно перейти в режим последней строки и можно использовать такие команды, как «wq» (записать (write) файл и выйти (quit) из vi). Режим последней строки в общем случае используется для команд vi, которые длиннее одного символа.

Выход из vi:

  • Esc : wq! Enter – выход из редактора с сохранением (нажать на клавишу Esc, ввести двоеточие – оно появится в нижней части экрана, ввести символы w, q и восклицательный знак, нажать на клавишу Enter).

  • Esc : q! Enter – выход без сохранения.

Существует строковый редактор ex. Для выхода из vi в ex надо нажать клавишу Esc для перехода в командный режим, если были в режиме текста, а затем нажать клавишу «:» (двоеточие). Будет напечатана подсказка редактора ex – двоеточие, приглашающая вводить команды редактора ex.

Поскольку ex – строчный редактор, вводится понятие номера строки и понятие текущей строки. Все строки текста пронумерованы натуральными числами, начиная с единицы. Знак $ (доллар) означает номер последней строки текста.

Команда глобального поиска начинается префиксом g (для глобального поиска по всему тексту) и печатает все строки, содержащие предъявляемый образец, например:

: g/seed;

int seed;

output (seed).

Подстановка образца текста выполняется командой s, в которой указывается искомый образец и заменяющий образец, например:

: s/eed/ace/

int sace.

Отмена последней подстановки выполняется командой u (undo). Реализация команды u выполняется обратной подстановкой, поэтому повторная подача команды отменяет первую команду u.

Если редактор был вызван для редактирования нескольких файлов, например, $ vi .* или $ ex *.c, то переход к редактированию следующего файла выполняется командой n (next).

Командой e (edit) можно вызвать на редактирование произвольный файл, указанный именем, например, : e another.

Для выполнения команды системы внутри редактора ex используется префикс «!» (восклицательный знак).

Два восклицательных знака «!!» повторяют предыдущую команду.

Переход в режим редактора vi выполняется командой vi, которой может предшествовать номер строки, высвечиваемой в начале экрана, например, : 10 vi

В режиме vi доступны все средства редактора. Выход из режима vi выполняется подачей команды Q (большое).

Выход из редактора ex в режим команд системы выполняется командой q, например, : q (маленькое).

Команду выхода можно для удобства комбинировать с командой записи, например, : wq.

В последние годы все большую популярность получает редактор Emacs. Это очень мощный многооконный редактор, который позволяет не только писать программы (и другие тексты), но также и компилировать, компоновать и отлаживать программы (а также делать многое другое, например, принимать и отправлять электронную почту). Основным недостатком редактора Emacs является большой набор (более 200) функциональных клавиш. При использовании Emacs в оконной системе X он обеспечивает более удобный интерфейс.