17.4. Основы редактирования

После того, как вы открыли файл, вы можете перемещаться по нему с помощью курсора. Клавиши со стрелками, PgUp и PgDn работают так, как и ожидается. Home и End перемещают вас в начало и конец строки соответственно. (Вообще-то в старых версиях они выполняли переход в начало и конец буфера.) Однако для перемещения курсора существуют ещё комбинации с клавишами Control и Meta (Alt). Поскольку для их использования вам не нужно перемещать руки по всей клавиатуре, с их помощью вы сможете перемещаться гораздо быстрее. Такие наиболее важные команды перечислены в Табл. 17-1.

Таблица 17-1. Основные команды редактирования в Emacs

Команда Результат
C-b перемещение на один символ назад
C-f перемещение на один символ вперёд
C-n перемещение на одну строку вниз
C-p перемещение на одну строку вверх
C-a перемещение в начало строки
C-e перемещение в конец строки
M-b перемещение на одно слово назад
M-f перемещение на одно слово вперёд
M-} перемещение на один параграф вперёд
M-{ перемещение на один параграф назад
M-a перемещение на одно предложение назад
M-e перемещение на одно предложение вперёд
C-d удаление одного символа под курсором
M-d удаление до конца текущего слова
C-v перемещение вниз на один экран (т.е. PgDn)
M-v перемещение вверх на один экран (т.е. PgUp)
M-< перемещение в начало буфера
M-> перемещение в конец буфера
C-_ отмена последнего изменения (может быть повторена); обратите внимание, что на самом деле для этого вы должны нажать Shift+Control+дефис .
C-k удаление до конца строки
C-s поиск вперёд
C-r поиск назад

Обратите внимание, что многие Meta-команды работают “параллельно” Control-командам за тем исключением, что последние оперируют единицами большей величины: так C-f выполняет переход вперёд на один символ, а M-f выполняет переход вперёд на одно слово и т.д.

Также обратите внимание, что для M-< и M-> требуется нажать Shift+Alt+запятая и Shift+Alt+точка соответственно, поскольку символы < и > набираются как Shift+запятая и Shift+точка. (Конечно же за тем исключением, что у вас не используется раскладка клавиатуры, отличающаяся от стандартной американской раскладки.)

Учтите, что C-k удаляет (или как обычно говорят - убивает) весь текст от курсора до конца строки, но не удаляет саму строку (т.е. при этом не удаляется символ конца строки). Строка удаляется только в том случае, если после курсора нет текста. Другими словами, чтобы удалить целую строку, вам нужно поместить курсор в начало строки, а затем нажать C-k дважды: первый раз, чтобы удалить весь текст в строке, а второй, чтобы удалить саму строку.