Здравствуйте. Штудировал документацию по emacs, в результате родилась небольшая шпаргалка. Родная документация хороша, но очень многословна и информация размазана. Краткой версии найти не удалось, сделал свою. Оставлю здесь. Конечно, список можно продолжить, но на мой взгляд, базовые вещи обозначены.
<DEL> == <BACKSPACE>
############### Перемещение точки ##############################################
* C-p C-n Вверх/Вниз
* C-b C-f Влево/вправо
* M-f M-b На слово вперёд/назад
* C-a C-e Начало/конец строки
* M-a M-e Начало/конец предложения
* M-< M-> Начало/конец буфера
* M-g-g Перейти к строке. С C-u без num переходит к строке в другом
буфере (в наиболее недавнем)
* M-g c Перейти к символу с указанным номером
* M-r Репозиционирование точки по левом краю
* C-M-a C-M-e В начало/конец defun
* C-M-f C-M-b Перемещения по сбалансированным выражениям
* C-M-n C-M-p Перемещения по группам выделенным скобками. u/d - перейти
C-M-u C-M-d на верхний/нижний уровень
* C-c C-n C-c C-p Перемещение по препроцессорным условиям
C-c C-u
* C-x-<SPC> Точку в позицию, на которую указывает global ring
* C-u C-<SPC> Точку в позицию, на которую указывает mark ring
* imenu Точку к указанной defun
* Заметка: Перемещение точки в позицию из регистра см. "Регистры"
############### Перемещение экрана #############################################
* M-v C-v Экран назад/вперёд. C-u задаёт кол-во линий
* C-l Точка в центре, х2 - вверху, х3 - внизу
* C-x-= C-x-- Увеличить/уменьшить текст (приблизить/отдалить экран)
* C-x-0 Восстановить стандартный размер шрифта
* Заметка: Листание другого окна (см. Окна)
############### Поиск ##########################################################
* C-s C-r Поиск вперёд/назад
* C-M-s C-M-r Поиск вперёд/назад регулярками
* M-p M-n История поиска
* M-% Поиск с заменой
* multi-occur-in-matching-buffers Создаёт список совпадений с regex в буферах
совпадающих с regexname
* C-h-h Во время поиска - справка по поиску
############### Выделение ######################################################
* C-<SPC> Метка. Второй C-<SPC> деактивирует метку.
* C-x <SPC> Установить прямоугольную метку
* C-x-x Поменять местами метку и точку
* M-@ Пометить слово
* C-M-@ Пометить сбалансированное выражение
* C-M-h Пометить defun
* C-x h Пометить весь буфер
* Shift-selection
* M-Drag-Mouse-1 Вторичное выделение, выделение не помещается в kill ring
* M-Mouse-1 Первая точка для вторичного выделения
* M-Mouse-3 Вторая точка, выделение помещается в kill ring
############### Удаление без сохранения ########################################
* <DEL> Удалить предыдущий символ или регион
* <Delete> Удалить следующий символ или регион
* C-d Удалить следующий символ
* C-x r d Удалить регион-прямоугольник
* M-\ Удалить табы и пробелы вокруг точки
* M-<SPC> Удалить табы и пробелы вокруг точки оставив
один пробел
* C-x-o Удалить пустые строки за текущей строкой
* M-^ Объединить текущую и предыдущую строки
* C-c <DEL> C-c-d Удалить пробелы до/после точки
* delete-trailing-whitespace Удалить пробелы в конце строк
* delete-whitespace-rectangle Удалить пробелы в начале прямоугольника
############### Удаление с сохранением и копирование ###########################
* C-k Убить линию до '\n'
* C-S-<DEL> Убить линию вместь с '\n'
* M-d Убить вперёд до конца слова
* M-<DEL> Убить назад до конца слова
* C-w Убить регион
* C-x r k Убить регион-прямоугольник (сохранение не в kill ring)
* M-w Копировать регион
* C-x r M-w Копировать регон-прямоугольник (не в kill ring)
* C-M-k Убить сбалансированное выражение
* M-z Убить до заданного символа включительно
* C-M-w Последующие kill команды добавляют текст в последнюю ячейку
kill ring
############### Вставка ########################################################
* C-y Вставка из kill ring. С префиксом точка не
сдвигается (C-u C-y). Числовой префикс сдвигает
указатель kill ring (C-u 2 C-y)
* C-x r y Вставка последнего убитого прямоугольного региона
* M-y Замена вставки следующим вариантом из kill ring
* C-m <ENTER>
* C-o Вставка '\n' после точки, можно с fill prefix
* C-x r o Заполнение прямоугольника пустотой, прежние
символы выталкиваются вправо
* C-x r N Нумерация строк в прямоугольнике. При вызове с
C-u можно задать начальнцй номер и формат
* C-j <RET> но без <TAB>
* M-; Вставить комментарий, с C-u убивает.
Рас/закомментировать регион
* M-j Продолжить комментирий на следующей строке.
* C-c C-\ Вставить и выровнять \ в конце региона
* string-insert-rectangle Вставка заданной строку в каждую линию
прямоугольника с вытеснением вправо
* M-Mouse-2 Вставка вторичного выделения
* Заметка: Команды по вставке из "Буфера", "Файлы" и "Регистры"
############################ Замена текста #####################################
* C-x r c Затереть прямоугольник пробелами
* C-x r t Заменить каждую линию прям-ка на заданную строку
* Заметка: Вставка в буфер с затиранием см. "Буфера"
######################### Числовой аргумент ####################################
* M-{num}
* C-u {num} По умолчанию num == 4. C-u C-u num == 16 и т.д.
* M-{num} C-u 2 C-u отделяет num от 2. Аналогично: C-u {num} C-u 2
############################ Регистры ##########################################
* view-register Просмотр содержимого регистраа
* C-x r <SPC> R Записать в регистр R текущее положение точки
* C-x r w Сохранить в регистр конфигурации окон фрейма
* C-x r f Сохранить в регистр конфигурации всех фреймов
* C-x C-k x Сохранить последний макрос в регистре
* C-x r j Переместить точку в позицию записанную в регистре или
восстановить конфигурац окон/фреймов или запуск макроса
* C-x r s Копировать регион в регистр. С C-u регион вырезается
* C-x r r Копировать прямоугольник в регистр. С C-u вырезается
* C-x r i Вставить текст из регистра. С C-u точка перносится
* C-u N C-x r n Сохранить число N в регистр, без префикса сохраняется 0
* C-x r + Если в регистре текст, то аналог append-to-register.
Если число, то оно инкрементируется (C-u 2 C-x r + на 2)
* append-to-register С C-u текст из буфера вырезается
* prepend-to-register С C-u текст из буфера вырезается
########################### Поменять местами ###################################
* C-t Поменять местами два символа
* M-t Поменять местами два слова
* C-M-t Поменять местами два сбалансированных выражения
* C-x C-t Поменять местами две строки
* C-u 0 Будет выполнено перемещение объекта после метки с объектом после
точки
################################# Макросы ######################################
* <F3> Запись макроса. Нажатие при записи - вставка счётчика
макрсоа с последующей инкрементацией. C-u задаёт
инкремент, C-u <F3> == счётчик не инкрементируется
* <F4> Закончить запсь или вызвать головной макрос. C-u 0
запустит бесконечный цикл до отмены или ошибки
* C-u <F3> Дописать макрос предварительно исполнив начальную часть
* C-u C-u <F3> Дописать макрос без исполнения начальной части
* C-x C-k r Выполнить макрос на каждой строке региона
* C-x C-k C-k Вызвать головной макрос
* C-x C-k C-n Переместить указатель вершины буфера макросов вперёд
* C-x C-k C-p Переместить указатель вершины буфера макросов назад
* Заметка: После C-x C-k [C-k|C-n|C-p] следующие команды можно
вызывать без префикса: C-x C-k C-k C-n C-p
* C-x C-k C-i Вставка счётчика++ макроса, работает и за его пределами
* C-x C-k C-c Установить значение счётчика головного макроса. С C-u
префиксом в теле макрса, присвоит значение == значение
при запуске макроса
* C-x C-k C-a Прибавить к счётчику головного макроса
* C-x q Установить в макросе запрос на продолжение. С C-u
создаёт вход в рекурсиный уровень
* C-x C-k n Назначить имя последнему макросу
* C-x C-k b Назначить макросу сочетание клавиш. Для этого зарезерви-
рованы диапазоны: от C-x C-k 0 до C-x C-k 9 и от C-x C-k
A до C-x C-k Z (C-x C-k b 4 назначит на C-x C-k 4)
* M-x insert-kbd-macro Сохранить макрос в файл, если с C-u, то сохраняется и
сочетание клавиш для вызова этого макроса. load-file
загрузит сохранённый макрос
* C-x C-k C-e
C-x C-k e Редактор макросов, последнего / с указанным именем
* C-x C-k <SPC> Пошаговое выполнение с возможностью редактирования
################################### Файлы ######################################
* C-x C-f Посетить файл
* C-x C-r Посеть файл в режиме "для чтения"
* C-x C-v Посетить файл, заместить им текущий буфер
* C-x 4 f Посетить файл в другом окне
* C-x C-s Сохранить текущий буфер
* C-x s Сохранить все или выбранные буфера
* M-~ Пометить буфер как "неизменённый", с C-u пометит как "изменённый"
* C-x C-w Сохранить буфер в другой файл
* append-to-file Добавить регион в указанный файл
################################## Буфера ######################################
* C-x b Выбрать или создать буфер
* C-x 4 b Выбрать или создать буфер в другом окне
* C-x <LEFT>
C-x <RIGHT> Выбрать предыдущий / следующий буфер
* C-x C-b Список буферов. С C-u перечислит только посетившие файл
* C-x C-q Переключить атрибут "только для чтения"
* C-x k Закрыть буфер
* kill-some-buffers Предложение закрыть для каждого буфера
* kill-matching-buffers Закрыть буфера совпадающие с регуляркой
* rename-uniquely Добавит число к имени
* append-to-buffer Добавить регион в указанный буфер до точки
* prepend-to-buffer Добавить регион в указанный буфер после точки
* copy-to-buffer Вставить регион в указанный буфер с затиранием
* insert-buffer Вставка в текущий буфер из указанного буфера
#################################### Окна ######################################
* C-x 2 Разделить окно горизонтально. Положительный префикс задёт кол-во
строк у верхнего окна, отрицательный - у нижнего
* C-x 3 Разделить вертикально. Положительный префикс - ширина левого,
отрицательный - правого
* C-x o Активировать другое окно
* C-M-v
C-M-S-v Листать другое окно
############################### Фолдинг #######################################
* C-c @ C-h Свернуть текущий блок
* C-c @ C-s Развернуть текущий блок
* C-c @ C-c Переключить режим отображения текущего блока
* C-c @ C-M-h Скрыть все блоки верхнего уровня
* C-c @ C-M-s Развернуть все блоки буфера
* C-c @ C-l Свернуть блоки на заданной глубине от текущего
############################# Разное ###########################################
* C-/ Undo, отмена действия. Если выделен регион, то
отеняются действия сделанные внутри региона
* С-/ С-f С-/ Redo (отмена отмены), C-f -любая команда
* C-x z Повторить предыдущую команду, дальнейшее нажатие z
вновь инициирует повтор
* C-q Вставка экранированного символа
* bookmarks Не команда
* C-r C-M-c C-] Рекурсия / выход из рекурсии / прервать вместе с
операциеей верхнего уровня
* C-x = Информация о символе после точки, с C-u подробно
* C-h S Поиск документации в info
* man Поиск документации в man
* compile
recompile
kill-compilation