next up previous contents index
Next: Специальные опции для vi Up: Экранный редактор vi Previous: Использование команд построчного редактора   Contents   Index

Завершение работы с редактором vi

Когда вы закончите работу с текстом, необходимо записать содержимое буфера в файл и возвратить управление shell. Для этого нажмите клавишу SHIFT и дважды нажмите Z(ZZ). Редактор сохранил имя того файла, который вы указали в начале сеанса редактирования, и в этот файл перепишет текст из буфера. Обратите внимание, что внизу экрана дается имя файла и количество строк и символов в файле. Затем shell выдает вам подсказку.

Пример. <a> This is a text file. I am adding text to a temporary buffer and now it is perfect. I want to write this file, and return to the shell.<ESC><ZZ> - - - - "stuff" [New file] 6 lines, 135 characters $ Вы также можете использовать команды :w и :q редактора vi для записи файла и окончания работы с редактором. Команды редактора начинаются с двоеточия (:) и появляются в последней строке экрана. Команда :w записывает буфер в файл. Команда :q завершает работу редактора и возвращает управление shell. Вы можете ввести эти команды раздельно, или в одной команде :wq

Пять основных команд могут быть использованы для завершения работы с редактором vi. Команды, которым предшествует :, являются командами построчного редактора:

:wq
- записать содержимое буфера vi в файл, который в данный момент редактируется и завершить работу с vi;
ZZ
- записать содержимое буфера, если он изменялся с момента последней записи;
:q
- записать временный буфер в новый файл filename и завершить работу с редактором vi;
:q!
- завершить работу с редактором vi без записи содержимого буфера в файл; не учитываются все изменения, проведенные в буфере;
:q
- завершить работу с редактором vi без записи содержимого буфера в файл. Эта команда работает в том случае, если вы не производили изменений в буфере. В противном случае vi выдаст предупреждающее сообщение о том, что вы должны сохранить буфер или воспользоваться для завершения работы с vi командой :q!.
Что нужно сделать, чтобы дать файлу другое имя? Например, вы хотите записать в новый файл junk. Введите команду: :w junk Затем завершите работу с vi с помощью :q.

Если вы попытаетесь записать в уже существующий файл, то получите предупреждающее сообщение. Например, если вы попытаетесь записать в файл johnson, система выдаст сообщение: "johnson" File exists - use "w!johnson" to overwrite

Если вы хотите заменить содержимое существующего файла на содержимое буфера, то воспользуйтесь командой :w!: :w! johnson



Alex Otwagin 2002-12-16