Repolode
minad

minad/corfu

Corfu — минималистичное всплывающее меню автодополнения прямо в буфере Emacs, использующее встроенные механизмы completion-at-point.

Open source альтернатива:Company

Звёзды
1,555
Форки
59
Открытые issues
0
Последний коммит
6 дней назад

Что это?

Corfu показывает варианты автодополнения во всплывающем окне рядом с точкой в буферах Emacs: между вариантами можно перемещаться стрелками, а выбрать один из них — клавишей TAB или RET. Это аналог Vertico для интерфейса minibuffer, построенный на стандартных интерфейсах completion-at-point (Capf) и completion-in-region, а не на собственной API бэкендов.

Corfu не включает собственные бэкенды автодополнения. Варианты предоставляют встроенные Capf Emacs, сторонние языковые пакеты или dabbrev, а дополнительные источники подключают сопутствующие пакеты, например Cape. Автодополнение по умолчанию выключено; его можно включить с помощью corfu-auto. Необязательные расширения добавляют документацию по вариантам в echo area или во всплывающем окне, сортировку по истории, быстрый выбор клавишами и поддержку мыши.

Corfu совместим с Orderless и другими стилями автодополнения; его можно использовать в minibuffer, а также в буферах Eshell и shell. В Emacs 31 он работает в терминальной версии Emacs; для более старых версий нужен отдельный пакет corfu-terminal.

Ключевые возможности

  • 01Всплывающее окно показывает варианты над точкой или под ней; перемещаться между ними можно стрелками.
  • 02Автодополнение запускается по таймеру или при вводе заданных символов; по умолчанию оно выключено.
  • 03Предварительный просмотр вариантов и аннотации с помощью функций annotation и affixation.
  • 04Сортировка по префиксу, длине, алфавиту или истории.
  • 05Поддержка стиля автодополнения Orderless с настраиваемыми разделителями.
  • 06Необязательные расширения для документации в echo area и во всплывающем окне, быстрого выбора клавишами и истории.

Сценарии использования

  • Получение вариантов автодополнения прямо в буфере при редактировании кода в Emacs.
  • Автодополнение команд и путей в буферах Eshell или shell.
  • Использование dabbrev или источников Capf для автодополнения слов при написании текста.
  • Сочетание быстрого фильтра по префиксу с Orderless для более гибкого поиска совпадений.

Быстрый старт

  1. 1

    Установите Corfu из ELPA или MELPA

    M-x package-install RET corfu RET
  2. 2

    Включите глобальный второстепенный режим

    M-x global-corfu-mode RET
  3. 3

    Нажмите M-TAB (или TAB) в буфере, чтобы выполнить автодополнение

Что важно знать

  • В версиях Emacs до 31 для всплывающего окна нужны дочерние фреймы, поэтому для Emacs в терминале требуется отдельный пакет corfu-terminal.
  • Автодополнение по умолчанию отключено, а некоторые функции автодополнения могут выполнять ненадёжный код, поэтому использовать его следует с осторожностью.

Темы

#emacs#completion#editor#elisp#in-buffer-completion#autocomplete

Частые вопросы

Что такое corfu?
Corfu — минималистичное всплывающее меню автодополнения прямо в буфере Emacs, использующее встроенные механизмы completion-at-point. Corfu показывает варианты автодополнения во всплывающем окне рядом с точкой в буферах Emacs: между вариантами можно перемещаться стрелками, а выбрать один из них — клавишей TAB или RET. Это аналог Vertico для интерфейса minibuffer, построенный на стандартных интерфейсах completion-at-point (Capf) и completion-in-region, а не на собственной API бэкендов.
corfu можно использовать бесплатно? Какая у него лицензия?
corfu распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
corfu всё ещё поддерживается?
Активно поддерживается. Последний коммит в corfu — 1 нояб. 2026 г..
Для чего можно использовать corfu?
Получение вариантов автодополнения прямо в буфере при редактировании кода в Emacs. Автодополнение команд и путей в буферах Eshell или shell. Использование dabbrev или источников Capf для автодополнения слов при написании текста. Сочетание быстрого фильтра по префиксу с Orderless для более гибкого поиска совпадений.
Как установить corfu?
Установите Corfu из ELPA или MELPA: M-x package-install RET corfu RET Включите глобальный второстепенный режим: M-x global-corfu-mode RET Нажмите M-TAB (или TAB) в буфере, чтобы выполнить автодополнение
Где скачать corfu?
Исходный код и инструкции по установке — на GitHub: https://github.com/minad/corfu

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Плагин для Vim и Neovim: асинхронно проверяет код во время набора, запускает форматтеры и исправления вроде prettier и eslint, а также работает как LSP-клиент.

14 тыс.+4 за неделю1,5 тыс.Vim ScriptBSD-2-ClauseОбновлён 18 дней назад