Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы OC UNIX_часть3.doc
Скачиваний:
23
Добавлен:
18.04.2015
Размер:
543.23 Кб
Скачать

1.2.1. Редактирование нескольких файлов

При первом вызове редактора viможно сразу указать несколько редактируемых файлов, а затем перемещаться между ними, применяя команды редактораex.

% vi файл1 файл2

По этой команде сначала редактируется первый файл, файл1. После окончания редактирования по команде:w редактораexэтот файл записывается (сохраняется), а по команде:nначинает редактироваться следующий файл,файл2. С помощью командыvi *вы можете задать редактирование всех файлов в каталоге.

При необходимости получить имя текущего файла задайте команду :f.

Команда :argsвыведет имена всех файлов, которые заданы в командной строке, и поместит в квадратные скобки имя текущего файла.

С помощью команды :eредактораexможно также в любое время переключиться на другой файл, который в командной строке не указан. Если вам необходимо в редактореvi отредактировать еще один файл, сохраните сначала текущий файл,(:w), а затем наберите команду

:e имя_файла.

Редактор vi«помнит» имена двух файлов, текущего и альтернативного. На эти имена можно сослаться, воспользовавшись символами%(имя текущего файла) и#(имя альтернативного файла).

Символ #особенно полезен при использовании команды:e,поскольку позволяет легко переключаться между двумя файлами. Команда:e#– это всегда команда “переключиться на другой файл”. В некоторых системах команда[CTRL–^]редактораvi является синонимом команды:e#, набирать эту клавиатурную комбинацию необходимо в командном режиме.

Если вы вначале не сохраните текущий файл, то редактор viне позволит переключиться на другой файл с помощью команды:eили:n(если только вы не прикажите ему сделать это безоговорочно, добавив после команды восклицательный знак).

Команда :e! также достаточно полезна. Она отвергает результаты редактирования и возвращает пользователя к последней сохраненной версии текущего файла.

Символ %, в противоположность символу#, полезен главным образом при записи содержимого результатов редактирования в новый файл. Например, вторую версию файлаletterможно сохранить посредством команды

:w %.new, не набирая команды

:w letter.new

1.2.2. Вставка текста из одного файла в другой

Когда буферу обмена присваивается однобуквенное имя, у пользователя появляется удобный способ перемещения текста из одного файла в другой. Именованные буферы не очищаются, когда по команде :eредакторviзагружает новый файл. Таким образом, путем копирования или удаления текста из одного файла в буфер (или в несколько именованных буферов, если это необходимо), вызова нового файла посредством команды:eи вставки содержимого именованного буфера в новый файл производится перемещение редактируемого материала между файлами.

Ниже показано, как переместить текст из одного файла в другой:

  1. Команда “f4yy– копирует 4 строки текста в буфер.

  2. Команда :w– сохраняет файл.

  3. Команда :e letter– загружает новый файл в редактор. Переместите курсор в то место, куда будет помещен скопированный текст.

  4. Команда “fp– поместит ранее скопированный текст из именованного буфераfпод курсором.

Если вы скопируете текст в буфер и наберете имя этого буфера прописными буквами, то новый текст будет добавлен к уже находящемуся в буфере.

Например, по команде“f4yyможно скопировать четыре строки в буфер, который носитимя f. Если вы затем переместитесь в какое–либо место и наберете команду“F6yy(букваFдолжна быть прописной), в этот же буферf будет добавлено еще шесть строк (т.е. всего их станет десять). Вы можете копировать в буфер, имя которого задается прописной буквой, столько данных, сколько вам заблагорассудится. Когда необходимо вывести весь скопированный текст, для задания имени буфера воспользуйтесь строчной буквой (как в команде“fp). Для того чтобы очистить буфер и начать заполнение сначала, укажите его имя строчной буквой(“fy…)еще раз.