В режиме редактирования контекстное меню будет полнее на один пункт: Вставить (Paste here). Он позволяет, как и сочетания <Ctrl>+<V>, <Shift>+<Ins>, вставить в панель в позиции курсора текст из буфера обмена.

При закрытии или повторном сравнении вам будет выдан запрос на сохра­нение измененных файлов. Но вы можете открыть диалог сохранения в лю­бой момент (даже вернувшись с несохраненным файлом в режим просмот­ра), если воспользуетесь кнопкой с дискетой или классическим сочетанием <Ctrl>+<S>.

Набор кнопок в диалоге сохранения зависит от того, в какой панели (левой, правой, обеих) имеются измененные строки. На рис. 38.2 приведен наиболее полный вариант.

Тут все очевидно и особых пояснений не требует. Отметим лишь, что при закрытии или повторном сравнении разница между кнопками Не сохранять (Don’t save) и Отмена
ясна: одна кнопка выполнит соответствующее дейст­вие, аннулируя результаты правки, другая, напротив, его отменит и вернет вас к измененному, но несохраненному файлу. Если же вы открыли этот диа­лог сами, сохранение отменяют
обе кнопки.

При неудачной попытке сохранения выводится сообщение об ошибке, а ори­гинальный файл восстанавливается.

При сохранении тип конца строки (Windows, Unix, Mac) определяется по преобладанию типа конца строки в первоначальном файле. Например, если оригинал содержал преимущественно концы строк в стиле Windows и лишь несколько — в стиле Unix, то и весь файл будет сохранен в стиле Windows.

Сама технология сохранения измененных файлов может управляться клю­чом
CompareSaveOriginal(СМ. Приложение 2). Обычно Оригинальный файл копируется при сохранении с расширением ВАК, после чего данные запи­сываются в исходный файл. Это удобно при работе с потоками NTFS или специальными атрибутами, поскольку все они сохраняются у редак­тируемого файла. Но можно сделать иначе: данные записываются в файл имя_файла. tmp, оригинальный файл получает расширение ВАК, а затем имя_файла. tmpпереименовывается в имя_файла. В этом случае запись произ­водится только один раз, а файл остается неповрежденным при возникнове­нии ошибки записи.

Итак, мы знаем теперь, как выполняется редактирование в окне сохранения. Но мы можем не только вносить и сохранять изменения, но при необходимости и отказываться от них! Кнопка Откат (Undo) может последовательно отме­нять все предыдущие изменения в обоих файлах, вплоть до их первоначаль­ного состояния. Функция вызывается также клавишами <Ctrl>+<Z> или <Alt>+<BackSpace>. Курсор всегда помещается в то место, где он находился непосредственно перед выполнением отмененного действия. Даже если вы вернулись в режим просмотра, функцию можно вызвать и оттуда, но при этом произойдет переключение в режим редактирования.