logo
Информатика

Редактирование

Чтобы редактировать файл, вы должны дать команду редактору считать его и подготовить буфер, содержащий копию текста файла. Эта операция называется обращением к файлу. Команды редактирования применяются непосредственно к тексту в буфере, то есть к копии внутри Emacs. Ваши изменения появятся в самом файле только после сохранения буфера. Как уже отмечалось, для обращения к файлу служит команда C-x C-f. Если вы обращаетесь к файлу, который уже был открыт, то новый буфер не создается.

Рис. 46. Окно редактора

Можно стартовать Emacs с указанием конкретного имени файла, например "emacs file.txt &". В этом случае редактор создаст буфер и загрузит в него содержимое указанного файла (если файл с таким именем отсутствует, то будет создан пустой буфер), после чего можно сразу приступать к редактированию.

После внесения изменений в буфер нужно сохранить его содержимое. Сохранение буфера в Emacs означает запись его содержимого обратно в файл, с которым связан этот буфер. Для этого служит команда C-x C-s.

Если буфер содержит изменения, которые не были сохранены в файл, то о буфере говорят, что он изменен (или модифицирован). Это означает, что изменения будут потеряны, если буфер не сохранить. Признаком того, что буфер изменен, служат две звездочки в статусной строке окна редактора.

Emacs время от времени (основываясь на подсчете нажатых вами клавиш) самостоятельно записывает все модифицированные буфера. Эта операция называется самосохранение или автосохранение. При автосохранении создается файл, имя которого отличается от имени исходного файла наличием в начале и конце имени символа "#". Например, буфер, связанный с файлом exam.txt, будет сохранен в файл #exam.txt#. Когда вы сохраните буфер, Emacs удалит автосохраненный файл.

Для создания и редактирования документа можно воспользоваться строкой меню, расположенной в верхней части окна Emacs. Строка меню содержит следующие пункты:

Выделять и копировать текст удобно с помощью мыши. Выделенный фрагмент текста можно удалить, щелкнув на нем правой кнопкой мыши, а также вставить в любую часть документа нажатием на среднюю кнопку мыши или путем выполнения команды C-y или Shift+Insert.

Для переключения ввода с русского на английский текст и обратно используются возможности, предоставляемые операционной системой. Кроме этого часто настраивают Emacs так, чтобы переключение осуществлялось клавишей F5. Emacs позволяет использовать два режима раскладки русских букв на клавиатуре: раскладка под пишущую машинку ("йцукен", как правило, указанная на клавиатуре) и фонетическая раскладка (по созвучию, на клавише с английской буквой k находится и русская к). Переключение между ними осуществляется клавишей F6, либо стандартными средствами переключения клавиатуры.

Перечислим некоторые команды редактора Emacs для работы с текстом. Если вы ошиблись при вводе какой-либо команды, то комбинация клавиш C-g прервет ее ввод.

Команда

Назначение

DEL

Удалить знак перед позицией курсора

C-d

Удалить знак после позиции курсора

C-k

Уничтожить все до конца строки

M-d

Уничтожить слово

M-DEL

Уничтожить предыдущее слово

C-y

Восстановить последний уничтоженный текст

C-a

Переместить курсор в начало строки

C-e

Переместить курсор в конец строки

M-f

Переместить курсор на слово вперед

M-b

Переместить курсор на слово назад

C-n

Переместить курсор на строку вниз

C-p

Переместить курсор на строку вверх

M-l

Перевести слово в нижний регистр

M-u

Перевести слово в верхний регистр

M-c

Перевести слово в нижний регистр с первой заглавной буквой

C-x u

Отменить действие последней команды (откатка)

C-_

То же самое

Esc число команда

Повторить указанное число раз команду

Для проверки орфографии нужно в меню Edit выбрать пункт Spell и указать язык, на котором будем осуществлять проверку. После этого выполнить команду Check Buffer из этого же пункта меню. Редактор Emacs будет выводить на экран пронумерованный список слов для замены; указав номер нужного слова, вы автоматически исправите ошибку. Если вы не хотите изменять существующее слово, нужно нажать клавишу Space. Очень удобен режим Incremental Mode, при котором проверка орфографии происходит в реальном времени, одновременно с просмотром или вводом текста: все слова с неверным написанием немедленно подчеркиваются.

Как и в других редакторах, в Emacs есть команды для поиска вхождений в текст какой-либо строки. Необычность их в том, что они являются наращиваемыми. Наращиваемый поиск начинается, как только вы набрали первый знак строки поиска. По мере того, как вы набираете строку поиска, Emacs показывает вам, где эта строка может быть найдена. C-s начинает наращиваемый поиск вперед; C-r используется для поиска назад.

Редактор Emacs позволяет производить автоматическую замену одного фрагмента текста на другой. Для этого необходимо выполнить команду M-x, после чего в окне минибуфера вводятся следующие данные (каждый ввод завершается нажатием клавиши Enter):

1) команда replace-string;

2) фрагмент текста, который вы хотите заменить;

3) фрагмент, на какой производится замена.

Эта последовательность действий приведет к автоматической замене всех вхождений указанного фрагмента на новый, введенный вами.