1833_emacs_smex的替代品counsel

Grey

#+ :OPTIONS ^:nil

emacs smex的替代品counsel

尝试原因

之前使用emacs的生涯中,大部分时间都在使用spacemacs的配置。由于自己对于设计实现的一点好奇,加上spacemacs配置过于庞大,催生了自己维护一套精简够用的配置的想法。这个配置也已经维护了很长时间,只是使用频率不是很高。而最近两年个人的工作性质有了一点变化,这也让我有机会一段时间内不需要特别完备的配置就可以满足我工作的要求。正好,借此机会来继续维护我自己的配置。
之前看过陈斌的一篇文章,也就是一年那篇文章。从里面看到了一个推荐的插件smex,但是使用下来具体我用过的spacemacs的两套机制相比体验略差。因此,尝试回归一下这方面的体验。
我自己的个人配置: speedemacs

几种流行配置的探索

  • purcell 首先我进行了类似的功能关键词搜索,找到了一个插件,支持ivy的模式。看了一下,刚好是purcell开发的一个小插件。我觉得可能purcell自己的M-x改进应该有自己的配置实现方式。为此,直接看了他的配置信息中M-x的实现。具体的信息如下:

    看起来,他的配置是直接使用了emacs新版本中的一个功能来实现的,自己插件似乎也没有用上。这样,我直接在我的配置中做一个对照的抄袭看一下效果,但是没有实现什么改善。看起来,这个实现还是有更加独到的地方。
  • spacemacs 回到spacemacs,我搜索一下这个配置中没有smex,但是有一个helm-smex。如果两个框架融合,肯定有不错的体验了。我启动了这个配置之后发现,其实这个也没有用。也可以理解,我用的框架其实是ivy,为什么这个插件在这里保留了暂时也不知道原因。或许真的是一个僵尸插件,用不上。
    启动之后看到的M-x的调用信息如下:

    而这个配置中的功能对应的插件文件如下:

    看起来,这个实现使用的插件是counsel。
  • 陈斌的配置 这个只在这里补充2个截图信息吧,我看这个应该是跟spacemacs的方式相同的。

自己配置的分析

接下来,其实目标很明确了。我需要去找一下counsel的插件用一下这个功能。比较令我开心的是,我在配置其他功能的时候这个配置已经被纳入到了我的配置中。因此,接下来只是修改配置即可。

自己配置的修改尝试

配置比较简单,具体如下:
#+beginsrc emacs-lisp (global-set-key (kbd "M-x") 'counsel-M-x)

#+endsrc
使用效果:

从上面的结果看,其实已经很符合我对这个功能的期待了。

总结自己的需求以体验现状

最初的需求:好用、快速、高效、稳定。

当前的效果:

  • 相比smex在体验上来说更好了一些。
  • 配置本身做了减法,减少了一个插件的使用。
  • 执行速度上没有太大的变化,但是操作体验的改进会让效率有所提升

小结

从使用体验上看,满足了自己对于初步改进的期待,值得长期使用下去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/234592.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Netty源码学习7——netty是如何发送数据的

一丶Write事件的产生和传播 在业务逻辑处理完毕后,需要调用write 或者 writeAndFlush方法 ChannelHandlerContext#write or writeAndFlush方法会从当前 ChannelHandler 开始在 pipeline 中向前传播 write 事件直到 HeadContext。 ChannelHandlerContext.channel()#…

Leetcode100 链表|2. 两数相加160. 相交链表 234. 回文链表

2. 两数相加 题目:给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0…

JAVA高级(后端需深入移步)

单元测试:使用Junit单元测试框架 使用Junit单元测试: 通过左侧的对❌来进行提示 Junit框架的常见注解: 反射(用于框架,也是最重要):展示框架的成员信息 由于是用于对象,即使在获取…

【Java期末复习资料】(2)常见例题 //持续更新

本文章主要是常见例题,解析不会太详细,有问题、不会的可以给我发消息哦,后续会出模拟卷 常见例题: 1.下列跟Java技术平台有关的是(ABD) A.JVM B.JDK C.JPN D.JRE 2.面向对象的特征包括(ACD&…

m.2固态硬盘怎么选择?

一、什么是固态硬盘 固态硬盘又称SSD,是Solid State Drive的简称,由于采用了闪存技术,其处理速度远远超过传统的机械硬盘,这主要是因为固态硬盘的数据以电子的方式存储在闪存芯片中,不需要像机械硬盘那样通过磁头读写磁…

五:爬虫-数据解析之xpath解析

三:数据解析之xpath解析 1.xpath介绍: ​ xpath是XML路径语言,它可以用来确定xml文档中的元素位置,通过元素路径来完成对元素的查找,HTML就是XML的一种实现方式,所以xpath是一种非常强大的定位方式​ XPa…

LeetCode5.最长回文子串

昨天和之前打比赛的队友聊天,他说他面百度面到这道算法题,然后他用暴力法解的,面试官让他优化他没优化出来,这道题我之前没写过,我就想看看我能不能用效率高一点的方法把它做出来,我一开始就在想用递归或者…

FreeSSL申请免费域名证书

本文详细讲解如何申请免费证书,需要先准备好域名,将服务器IP和域名绑定。 1、注册FreeSSL账号 网址: https://freessl.org/ 2、申请流程 登录后首页输入域名,然后点击Create certificate,跳转到证书申请页面。 或者…

使用最小花费爬楼梯

1.状态表示 2.状态转移方程 3.初始化 保证填表时, 不越界 4.填表顺序 从左往右 5.返回值 解法2: 1.状态表示 2.状态转移方程 3.初始化 4.填表 从右往左 5.返回值 min( dp[0] , dp[1] ) ----------------------------------------------------…

基于TCP的多路复用

1. 知识点 目前支持I/O多路复用的系统调用有select,pselect,poll,epoll。与多进程和多线程技术相 比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,也不必维护这些进 程/线程,…

Spring Boot中的事务是如何实现的?懂吗?

SpringBoot中的事务管理,用得好,能确保数据的一致性和完整性;用得不好,可能会给性能带来不小的影响哦。 基本使用 在SpringBoot中,事务的使用非常简洁。首先,得感谢Spring框架提供的Transactional注解&am…

Proteus仿真--串口发送数据到2片8×8点阵屏滚动显示

本文介绍2片88点阵屏滚动显示设计(完整仿真源文件及代码见文末链接) 仿真图如下 仿真运行视频 Proteus仿真--1602LCD显示电话拨号键盘按键实验(仿真文件程序) 附完整Proteus仿真资料代码资料 链接:https://pan.baidu…

Leetcode每日一题

https://leetcode.cn/problems/binary-tree-preorder-traversal/ 这道题目需要我们自行进行创建一个数组,题目也给出我们需要自己malloc一个数组来存放,这样能达到我们遍历的效果,我们来看看他的接口函数给的是什么。 可以看到的是这个接口函…

qt可以详细写的项目或技术

1.QT 图形视图框架 2.QT 模型视图结构 3.QT列表显示大量信息 4.QT播放器 5.QT 编解码 6.QT opencv

2023北京智慧城市与电气高峰论坛-安科瑞 蒋静

2023年7月27日,北京土木建筑学会电气设计委员会、北京电气设计技术协作及情报交流网联合举办的“北京电气设计第43届年会”在京盛大召开。安科瑞作为企业微电网能效管理平台服务商与广大同仁共聚本次盛会,尽享技术盛宴。 本次会议采用线上线下相结合&…

【C++】:红黑树

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关多态的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结…

12.视图

目录 1.视图的含义与作用 2.视图的创建与查看 1.创建视图的语法形式 2、查看视图: 1.使用DESCRIBE语句查看视图基本信息 2.使用SHOW TABLE STATUS语查看视图基本信息查看视图的信息 3.使用SHOW CREATE VIEW语查看视图详细信息 4.在views表中查看视图详细信息…

【合集】SpringBoot——Spring,SpringBoot,SpringCloud相关的博客文章合集

前言 本篇博客是spring相关的博客文章合集,内容涵盖Spring,SpringBoot,SpringCloud相关的知识,包括了基础的内容,比如核心容器,springMVC,Data Access;也包括Spring进阶的相关知识&…

智能优化算法应用:基于正余弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于正余弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于正余弦算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.正余弦算法4.实验参数设定5.算法结果6.参考文…

【数电笔记】54-或非门构成的基本RS触发器

目录 说明: 1. 电路组成 2. 逻辑功能 3. 特性表 4. 特性方程 5. 例题 6. 两种基本RS触发器的形式比 说明: 笔记配套视频来源:B站;本系列笔记并未记录所有章节,只对个人认为重要章节做了笔记;标题前…