Repolode
minad

minad/corfu

Corfu는 Emacs의 내장 completion-at-point 기능을 활용하는 미니멀한 버퍼 내 자동완성 팝업입니다.

대체할 수 있는 제품:Company

스타
1,555
포크
59
열린 이슈
0
마지막 커밋
6일 전

어떤 프로젝트인가요?

Corfu는 Emacs 버퍼에서 포인트 근처에 작은 팝업으로 자동완성 후보를 표시하고, 화살표 키로 후보를 이동하거나 TAB 또는 RET로 선택해 삽입할 수 있게 해줍니다. 미니버퍼 UI인 Vertico에 대응하는 버퍼 내 인터페이스이며, 자체 백엔드 API 대신 표준 completion-at-point(Capf) 및 completion-in-region 인터페이스를 기반으로 동작합니다.

Corfu는 자체 자동완성 백엔드를 제공하지 않습니다. 자동완성 후보는 Emacs 내장 Capf, 서드파티 언어 패키지 또는 dabbrev에서 가져오며, Cape 같은 보조 패키지는 추가 소스를 제공합니다. 자동완성은 기본적으로 꺼져 있으며 corfu-auto로 활성화할 수 있습니다. 선택 확장 기능을 사용하면 echo area나 팝업에 후보 설명을 표시하고, 이력 기반으로 정렬하거나 빠른 키 및 마우스 지원을 추가할 수 있습니다.

Corfu는 Orderless를 비롯한 다른 completion style과 함께 사용할 수 있으며, 미니버퍼와 Eshell 또는 shell 버퍼에서도 사용할 수 있습니다. Emacs 31에서는 터미널 Emacs에서도 동작하며, 이전 버전에서는 별도의 corfu-terminal 패키지가 필요합니다.

핵심 기능

  • 01포인트 아래 또는 위에 후보 팝업을 표시하며, 화살표 키로 이동할 수 있습니다.
  • 02타이머 또는 트리거 문자로 자동완성을 실행하며, 기본값은 꺼져 있습니다.
  • 03annotation 및 affixation 함수를 통해 후보 미리보기와 주석을 표시합니다.
  • 04접두사, 길이, 알파벳순 또는 이력을 기준으로 후보를 정렬합니다.
  • 05구분자를 설정할 수 있는 Orderless completion style을 지원합니다.
  • 06echo area 설명, 팝업 설명, 빠른 키 및 이력 기능을 위한 선택 확장 기능을 제공합니다.

활용 사례

  • Emacs에서 코드를 편집할 때 버퍼 내 자동완성을 사용합니다.
  • Eshell 또는 shell 버퍼에서 명령과 경로를 자동완성합니다.
  • 텍스트를 작성할 때 dabbrev 또는 Capf 소스로 단어를 자동완성합니다.
  • 빠른 접두사 필터링과 Orderless를 결합해 고급 매칭을 사용합니다.

빠른 시작

  1. 1

    ELPA 또는 MELPA에서 Corfu를 설치합니다

    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로 선택해 삽입할 수 있게 해줍니다. 미니버퍼 UI인 Vertico에 대응하는 버퍼 내 인터페이스이며, 자체 백엔드 API 대신 표준 completion-at-point(Capf) 및 completion-in-region 인터페이스를 기반으로 동작합니다.
corfu은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
corfu은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
corfu은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. corfu의 마지막 커밋은 2026년 11월 1일입니다.
corfu은(는) 어디에 사용할 수 있나요?
Emacs에서 코드를 편집할 때 버퍼 내 자동완성을 사용합니다. Eshell 또는 shell 버퍼에서 명령과 경로를 자동완성합니다. 텍스트를 작성할 때 dabbrev 또는 Capf 소스로 단어를 자동완성합니다. 빠른 접두사 필터링과 Orderless를 결합해 고급 매칭을 사용합니다.
corfu는 어떻게 설치하나요?
ELPA 또는 MELPA에서 Corfu를 설치합니다: M-x package-install RET corfu RET 전역 마이너 모드를 활성화합니다: M-x global-corfu-mode RET 버퍼에서 M-TAB(또는 TAB)을 눌러 자동 완성합니다
corfu은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/minad/corfu

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트