Corfu 项目使用教程
1. 项目介绍
Corfu 是一个基于 Emacs 的内联补全插件,它通过一个小型的补全弹出窗口增强 Emacs 的内联补全功能。Corfu 的当前候选补全项会显示在光标下方或上方的弹出窗口中,用户可以通过上下键进行选择。Corfu 是 Vertico 最小化内联补全的对应插件,它依赖于 Emacs 的补全设施,专注于提供一个精致的补全用户界面。
Corfu 支持基于时间的自动补全(默认关闭)、带有滚动条指示器和箭头键导航的弹出显示等功能。用户可以随时通过按下 TAB
键显式调用弹出窗口。当前的补全项可以通过 TAB
键插入,通过 RET
键选择。Corfu 还支持多种排序方式、候选者预览、自动提交补全项等功能。
2. 项目快速启动
要安装 Corfu,请确保你的 Emacs 版本支持子框架(Emacs 31 或更高版本),或者在旧版本的 Emacs 中使用 corfu-terminal
包。
以下是通过 GNU ELPA 安装 Corfu 的步骤:
M-x package-install RET corfu RET
安装完成后,激活全局补全模式:
M-x global-corfu-mode RET
在缓冲区中按 M-TAB
(或者 TAB
)进行补全。自动补全默认是关闭的,以防在不可信文件中执行任意代码。如果需要启用自动补全,可以将 corfu-auto
设置为 t
。
3. 应用案例和最佳实践
案例一:在 Elisp 缓冲区中补全函数名
打开一个 Elisp 文件,输入函数名的首字母,然后按 M-TAB
,Corfu 会显示所有以这些字母开头的函数名供你选择。
案例二:在 Shell 缓冲区中补全命令
在 Shell 或 Eshell 缓冲区中,输入命令的首字母,然后按 M-TAB
,Corfu 会提供命令补全。
最佳实践
- 在你的
init.el
文件中使用use-package
来配置 Corfu。 - 通过自定义
corfu-*
变量来调整 Corfu 的行为,以满足你的需求。 - 在编程模式中默认启用 Corfu,以便充分利用其功能。
4. 典型生态项目
Corfu 是 Emacs 生态中的一个组成部分,它可以与其他插件和包协同工作,以下是一些典型的生态项目:
- Orderless:提供更灵活的补全过滤。
- Cape:提供额外的补全后端和工具。
- Vertico:Corfu 的内联补全对应插件,用于最小化 minibuffer UI。
通过整合这些项目,你可以创建一个高度定制且功能强大的 Emacs 工作环境。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考