使用ido进行Emacs补全
使用ido进行Emacs补全
我是ido的重度用户——我用它处理我所有的补全,无论是 execut-extencommand
, find-file
,还是其他任何东西。然而,ido的默认配置还有很多不足之处:
- 它默认显示结果的方式非常难以阅读,因为所有补全项都在一个行中列出,因此你不能用眼睛快速跳到下一个项目。
- 它默认只根据前缀进行补全
- 使用ido来补全所有东西有点费劲
幸运的是,通过几个包和一点配置我们就能修正这些问题:
ido-everywhere
,当设置为t
时,会将ido用于更多地方的补全。ido-virtual-buffers
本身不做任何修改,但它确实将recentf文件添加到find-file
的补全项中,这非常方便。- ido-vertical-mode 使ido每个结果显示一行,每次显示的行数是可配置的(尽管我只使用默认值)。
- flx-ido通过使用flx补全引擎修复不足。
- ido-hacks 和 ido-ubiquitous 一起使ido补全了我想要的任何内容
我的全部ido配置如下:
(use-package ido :quelpa :config (setq ido-auto-merge-delay-time 99999999) (setq ido-everywhere t) (setq ido-virtual-buffers t) (ido-mode)) (use-package flx-ido :quelpa :requires ido :config (flx-ido-mode)) (use-package ido-vertical-mode :quelpa :requires ido :config (ido-vertical-mode)) (use-package ido-hacks :quelpa (:stable nil) :requires ido :config (ido-hacks-mode)) (use-package ido-ubiquitous :quelpa :requires ido :config (ido-ubiquitous-mode))
祝你开心