你最近移除了哪些插件和功能

是的,开箱即用,很适合用来安利 Emacs。

不过我觉得这种框架都是有充足的知识去使用才能发挥得比较好,而熟悉 Elisp 最快的办法就是跟着自己写一套配置🤣

我是因为doom更新总失败网络问题无法解决,加上更倾向于原生键位 :joy:

我是因为作者合并太慢,好像有时候一个月左右才出现一次合并下东西,然后就弃用了

因为我想写 elisp

移除了which-key,因为which-key最近成了emacs30内置包

1 个赞

6月15日刚加进去的。

因为我的笔记本跑 Doomemacs 或 Spacemacs 太卡了,而且有一堆我不需要的预设功能,不方便我 hack

请教如何安装带which key的emacs 30?貌似这里的六月十五日版本还没有: https://corwin.bru.st/emacs-30/

用官方的repo: git clone https://git.savannah.gnu.org/git/emacs.git 然后手动编译安装,怎么编译本坛应该有好几个帖子

原来如此,感谢~

试过两次 vertico consult 这些,感觉不如 ivy counsel 跟手,都换回来了,大家没有这个感觉吗?

3 个赞

还好,我现在是 minad 大神的信徒 :face_holding_back_tears: 他处理 issue 是真的快。

1 个赞

哈哈,我还在用helm

1 个赞

移除了 projectile

瓶颈可能确实不在这里, 但也不能完全躺平吧?

以下是对 编译前ELisp, Python3.12, 编译后ELisp 的简陋的性能测试 (计算 斐波那契30 的平均用时). 换一台机器可能耗时就不一样了, 但大概率还是编译后的 ELisp 更快.

编译前 ELisp

(progn
  (defun fib (n)
    (if (<= n 1)
        n
      (+ (fib (- n 1))
         (fib (- n 2)))))
  (/ (time-to-seconds
      (time-since
       (prog1 (current-time)
         (dotimes (_ 10)
           (fib 30)))))
     10.0))
1.7420129

Python

>>> def fib(n): return n if n<=1 else fib(n-1) + fib(n-2)
>>> __import__("timeit").timeit("fib(30)", number=10, globals={'fib': fib}) / 10
0.0990394300000048

(注意这里 Python 的函数也编译了)

编译后 ELisp

(progn
  (defun fib (n)
    (if (<= n 1)
        n
      (+ (fib (- n 1))
         (fib (- n 2)))))
  (byte-compile 'fib)
  (/ (time-to-seconds
      (time-since
       (prog1 (current-time)
         (dotimes (_ 10)
           (fib 30)))))
     10.0))
0.0705959

我一直在 Windows,macOS 和 Linux 三大平台上用的 vertico + consult ,速度非常快。我是以前因为 ivy 在 Windows 下卡顿感明显,换到 vertico + consult。

除了上面这2 个,目前还用 flx 替换了 orderless

1 个赞

如果我是个例,可能是没配置好,有空了再继续试试,多谢!

没必要,编译这点性能相对于真正卡住的gc和单线程,九牛一毛。

只要把关键耗时插件用外部进程解决就好了。

编译会导致跨平台安装很麻烦,linux编译好了,mac启动不了,反之亦然。

1 个赞

awesome-tab
使用内置的 tab-line-mode 替代了

consult跟counsel比较,的确还缺很多功能,目前除了是百搭之外没啥突出的优势

1 个赞