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

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

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

Например, вы хотите записать в новый файл junk. Введите
команду:

	:w junk<CR>

Затем завершите работу с vi:

	:q<CR>

Если вы попытаетесь записать в уже существующий файл, то получите предупреждающее сообщение. Например, если вы попытаетесь записать в файл johnson, система выдаст сообщение:

         "johnson" File exists - use "w!johnson"
         to overwrite 

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

	:w! johnson<CR>

В табл. 18 приведены команды завершения работы с редактором vi.

Таблица 18
Команды завершения

Команда Функция
ZZ Записать буфер в файл, если после последней записи в буфере были сделаны изменения, и завершить работу с vi
:wq<CR> Записать буфер в файл и завершить работу с vi
:w filename<CR> Записать буфер в новый файл filename
:q<CR> и завершить работу с vi
:w! filename<CR> Перезаписать содержимое буфера в уже
:q<CR> существующий файл filename и завершить работу с vi
:q!<CR> Завершить работу с vi без записи буфера в файл, даже если содержимое буфера изменялось
:q<CR> Завершить работу с vi без записи буфера в файл, если буфер не изменялся

Еще материалы по теме: