大佬不敢当😄,我就是用的较多一点。
我了解的材料除了官方仓库的 README 也没别的有用的了。
楼上 @theFool32 大佬分享的应该对你有帮助。
每当我要干啥的事情,一定要在论坛问一下,说不定大佬们都搞了。
我把 @theFool32 代码改改发布一个新的 corfu-english-helper 包吧。
4 个赞
感谢大佬,我新写了一个包 corfu-english-helper
大部分都基于大佬的代码,完善了一下自动模式的细节。
需要终端中用corfu的注意下,目前 corfu-popup
已经改名为 corfu-terminal,目前正在申请加入 nongnu,未来可能也会加入 elpa。
2 个赞
kind-icon 在 Windows 系统下使用有问题,给作者提了个 issue,遇到同样问题的可以关注一下:
PS:这个问题已经解决。Windows 系统下,在 custom.el
中定制一下图标的高度为 0.9
就可以了。
(custom-set-variables
'(kind-icon-default-style
'(:padding 0 :stroke 0 :margin 0 :radius 0 :height 0.9 :scale 1.0)))
Purcell 的Emacs配置也从 Company 切换到 Corfu了
1 个赞
corfu是否有类似company当中company-complete-common
和company-complete-common-or-cycle
的函数?个人习惯是一步步通过过滤,边打边tab补全一些部分;至于用tab切换候选项倒是可以改,但不能补全部分实在是有点难受……
EDIT:找到了解决方案,(setq corfu-preselect-first nil)
就好了
你是用的手动触发补全吗?
我尝试过配置 TAB 手动触发 Corfu,但是 TAB 在 org-mode 和 markdown-mode 下都有特殊用途。
特别是在 haskell-mode 下,不知道怎么用 TAB 去手动触发补全,因为 TAB 首先会去进行缩进。
zqso
73
请问怎么实现 corfu-auto-prefix 在不同输入场景中使用不同值?
在输入英文时值为 3,在输入中文时值为 2。
比如在 org-roam 中作记录时的补全,希望值为 2,因为中文信息密度比英文大,无需三个汉字才出现补全。
之前在提过issue, 但能力有限,不知道怎么实现minad提的建议:
lynnux
74
在你的场景的hook里添加:
(make-local-variable 'corfu-auto-prefix)
(setq corfu-auto-prefix 2)
最近找到了一个包,可以在 corfu 中使用 yasnippet 了。
配置如下:
(add-hook 'emacs-lisp-mode-hook
(lambda ()
(setq-local completion-at-point-functions
(list (cape-super-capf
#'cape-yasnippet
#'cape-dabbrev
#'cape-file
#'elisp-completion-at-point
))
cape-dabbrev-min-length 2
cape-dabbrev-check-other-buffers t
)))
3 个赞
zhua
76
在 company 补全中, 如果设置 company-show-numbers 后, 可以 用数字 来选择 补全的词
corfu 中 是用 这个 扩展吗,corfu-indexed-mode, 索引数字 到是出现了, 但
比如 输入数字 7 后, 并没有选中 「buffer-name」, 直接 变成 「buf7」
是那里, 不对呢?
是通过这个 corfu-indexed-mode 支持的,但我没用过这个扩展,你参考下这个提问:
1 个赞
我用下来的感觉是 corfu-quick
比 corfu-indexed-mode
好用。我现在这块的配置是
(define-key corfu-map (kbd "M-SPC") #'corfu-quick-complete)
主要是按键要方便些。
corfu-indexed-mode
使用方法有楼上提到的,还有一种就是和 Emacs 默认输入数字前缀方法一样,
C-u [x] RET
这里有个视频介绍 Corfu,以及和其他各种 Emacs 补全框架的对比。
1 个赞
试了下这一套,确实比ivy+swiper+counsel轻量很多
1 个赞
请问capf里面不同的源默认是不是按顺序触发但是只会触发一个,比如lisp模式下最前面的lisp的补全取到了返回,corfu的补全列表里就不会有排在后面的dabbrev?
如果要多个源同时出现在corfu的列表里必须使用cape-super-capf来合并是么?