Чтобы редактировать файл, вы должны дать команду редактору считать его и подготовить буфер, содержащий копию текста файла. Эта операция называется обращением к файлу. Команды редактирования применяются непосредственно к тексту в буфере, то есть к копии внутри Emacs. Ваши изменения появятся в самом файле только после сохранения буфера. Как уже отмечалось, для обращения к файлу служит команда C-x C-f
. Если вы обращаетесь к файлу, который уже был открыт, то новый буфер не создается.
Можно стартовать Emacs с указанием конкретного имени файла, например "emacs file.txt &". В этом случае редактор создаст буфер и загрузит в него содержимое указанного файла (если файл с таким именем отсутствует, то будет создан пустой буфер), после чего можно сразу приступать к редактированию.
После внесения изменений в буфер нужно сохранить его содержимое. Сохранение буфера в Emacs означает запись его содержимого обратно в файл, с которым связан этот буфер. Для этого служит команда C-x C-s
.
Если буфер содержит изменения, которые не были сохранены в файл, то о буфере говорят, что он изменен (или модифицирован). Это означает, что изменения будут потеряны, если буфер не сохранить. Признаком того, что буфер изменен, служат две звездочки в статусной строке окна редактора.
Emacs время от времени (основываясь на подсчете нажатых вами клавиш) самостоятельно записывает все модифицированные буфера. Эта операция называется самосохранение или автосохранение. При автосохранении создается файл, имя которого отличается от имени исходного файла наличием в начале и конце имени символа "#". Например, буфер, связанный с файлом exam.txt
, будет сохранен в файл #exam.txt#
. Когда вы сохраните буфер, Emacs удалит автосохраненный файл.
Для создания и редактирования документа можно воспользоваться строкой меню, расположенной в верхней части окна Emacs. Строка меню содержит следующие пункты:
- Buffers -- служит для перемещения по ранее созданным буферам с файлами;
- Files -- это меню дублирует команды работы с файлами;
- Tools -- служит для выполнения множества различных действий; отметим, что оно содержит возможность работы с несколькими буферами;
- Edit -- при редактировании документа можно воспользоваться этим меню, среди функций есть возможность проверки орфографии (Spell);
- Search -- это меню нужно для поиска фрагментов текста в документе;
- HTML (или TeX, Java и т. д.) -- появляется, если Emacs "узнал" расширение файла, в этом случае предоставляются дополнительные возможности, специфические для файлов с данным расширением (так, например, если это файл с расширением html, то появляются возможности вставки наиболее распространенных команд разметки гипертекста);
- Help -- меню помощи.
Выделять и копировать текст удобно с помощью мыши. Выделенный фрагмент текста можно удалить, щелкнув на нем правой кнопкой мыши, а также вставить в любую часть документа нажатием на среднюю кнопку мыши или путем выполнения команды 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) фрагмент, на какой производится замена.
Эта последовательность действий приведет к автоматической замене всех вхождений указанного фрагмента на новый, введенный вами.