Emacs cheat sheet

Мой маленький конспект для C-h r

Движение курсора

  • M-g M-g (M-g g)
    перейти к заданой строчке (по умолчанию взять число около курсора)
  • C-u M-g M-g (M-g g)
    перейти к заданой строчке в соседнем окне
  • M-r
    двигает курсор не меняя скрол (vim: H M L)
  • C-u C-SPC
    передвижение по кольцу меток(mark ring)
  • C-x C-SPC
    передвижение по глобальному кольцу меток
  • C-M l
    умный скроллинг (показать заголовок функции)
  • M-x follow-mode
    двух-страничный скролл

Минибуффер

  • C-x ESC ESC
    повторить предыдущую команду

Поиск

  • С-[sr] DEL
    поиск; С-[sr]: след. вхождение; DEL — предыдущее
  • С-M-[sr]
    regexp поиск
  • M-r
    toggle regexp search
  • M-c
    toggle case sensitive
  • M-e
    редактировать текущий шаблон поиска
  • C-w
    добавить слово под курсором к поиску
  • M-s C-e
    добавить к поиску остаток строки
  • C-M-y
    добавить символ под курсором к поиску
  • C-M-w
    удалить символ
  • M-s w
    поиск слов
  • M-x occur / M-s o
    вывести список найденых строк [e — редактировать не месте]
  • M-s w
    Инкрементный поиск по списку слов (игнорирует разделяющую пунктуацию)
  • M-x multi-occur-in-matching-buffers
    occur по буфферам подходящем по regexp
  • M-x how-many
    печатает сколько найдено выражений по regexp’у
  • M-x flush-lines
    удаляет строки по регулярке
  • M-x keep-lines
    удаляет все строки кроме регулярки

Замена

  • M-%
    замена
  • C-M-%
    regexp замена
  • M-x replace-regexp RET pattern RET repl\?ace
    замена по регэкспу с запросом ввода вместо \?

Универсальное

  • C-x z [z +]
    повторить предыдущее действие
  • M-x hi-lock-mode
    режим кастомной подсветки:
  • C-x w h
    Подсветить регулярку
  • C-x w r
    Разподсветить регулярку

Minor modes

  • Mx whitespace-mode
    отображение пробельных символов

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

  • C-o
    вставить пустую строку после курсора
  • C-x C-o
    удалить пустые строки, оствляя только одну
  • C-q
    вставить непечатный символ или символ по восьмеричному коду
  • C-x 8
    вставить символ юникода по имени или по коду
  • C-M-\
    indent region
  • M-$
    проверить орфографию
  • M-\
    удалить все пробелы около точки
  • M-SPC
    удалить все пробелы кроме одного около точки
  • С-S-BACKSPACE
    удалить всю строку
  • M-z CHAR
    удалить до символа
  • C-M-w + kill command CHAR
    добавить к предыдущему скопированному объекту
  • C-x RET + x
    задать кодировку для X clipboard
  • M-x check-parens
    найти несбалансированные скобки
  • C-t
    обменять местами символы
  • M-t
    обменять местами слова
  • С-M-t
    обменять местами выражения
  • С-x C-t
    обменять местами строки
  • M-- M-l
    предыдущее слово в нижний регистр
  • M-- M-u
    предыдущее слово в верний регистр
  • M-- M-c
    предыдущее слово сделать с большой буквы

Регистры

  • C-x r SPC
    point-to-register
  • C-x w SPC
    window-configuration-to-register
  • C-x f SPC
    frame-configuration-to-register
  • C-x r h
    jump-to-register (alsi restore frames configuration)
  • C-x s SPC
    copy-to-register
  • C-x i SPC
    insert-register

Информация

  • M-=
    показывает количество строк и символов в регионе
  • C-x =
    показывает информацию по символу под курсором
  • M-@ (S-M-2)
    выделить слово не двигая курсор
  • С-M-@ (C-M-SPC)
    выделить sexp не двигая курсор
  • M-h
    курсор в начала параграфа и выделить его
  • C-M-h
    курсор в начала defun и выделить ее
  • C-x h
    выделить весь буфер

Управление буферами

  • C-x k
    Убить буфер
  • C-x 4 C-o
    Переключить буфер в соседнем окне, оставив фокус на текущем
  • M-x ibuffer
    навороченная переключалка
  • M-x buf-move-{up,down,left,right}
    передвинуть окно (buffer-move.el)
  • M-x winner-mode
    История окон C-c left/right undo/redo

Программирование

  • M-x imenu
    переход к определению символа
  • M-x whitespace-mode
    отображает табы и пробелы
  • M-;
    comment-dwim: do what i mean

Справка

  • C-h w COMMAND
    показать биндинги для команды

Файлы

  • C-x RET r
    переоткрыть файл у другой кодировке
  • C-x С-v
    Убить текущий буффер и открыть вместо него новый файл (полезно если случайно открыли не тот файл)
  • C-x 4 f
    Открыть файл во втором окне, создав его если нужно
  • M-x auto-revert-{tail}-mode
    Автоматически обновлять файл с диска при изменениях
  • M-x file-cache-add-directory-using-find
    Добавить директорию в кеш файлов. Автодополнение по C-Tab при открытии.

Настройки

  • M-x load-file
    загрузить и выполнить lisp-файл

Добавить комментарий