请问ivy和counsel究竟是什么?

使用Emacs快两年了,但仍然不清楚Ivy和counsel到底是什么。。。(感觉自己真是弱爆了)

只知道这两个东西很有用,一般都会装(事实上,我现在的配置也装了它们,然后也不知道是从谁那里拷贝了一些配置)

它们好像还和Swiper有关:

我记得最早我的Emacs的Swiper只有最下面minibuffer,也不知什么时候能弹出一个窗口了(这是Ivy/counsel的功劳?)

有没有懂这方面的坛友简单讲讲这两个东西究竟是干什么用的?

另外,它们究竟是两个插件,还是一个?

多谢~~

请看 @abo-abo 的回答:Document relationship between ivy, swiper, and counsel · Issue #500 · abo-abo/swiper · GitHub

counsel depends on swiper and swiper depends on ivy . That’s all there is to it. Use the commands that you need, everything is automatic.

2 个赞

项目主页有写吧,一个前端ui框架提供一个ivy-read的接口 ,counsel 和swiper 就是基于ivy前端实现的两个具体后端功能,大概就是这样了

Ivy如果是前端的话,`counsel和swiper就是后端了(swiper depends on ivy)

换句话说,abo-abo的那套东西是后端依赖于前端的?也就是说后端直接往前端吐数据?而不是前端向后端主动获取?

ivy是core,counsel是实用工具。swiper是单独的一个isearch增强工具

如果说ivy是linux内核,counsel就是gnu写的一大票bash coreutils这类东西

1 个赞

说反了吧,ivy 是核心

我是这么理解的,但是没有写过,具体还是去github去看吧,在这不懂装懂容易遭雷劈

abo-abo 那句话不难理解吧:{ counsel { swiper { ivy } } }