用 Doom Emacs 一年多了,好像有点审美疲劳了,常用的是 vterm,用来写一些脚本,偶尔小规模的写 js, java, go,虽然有 lsp 了,但是 emacs 有时候不知道什么鬼,会卡一下无法操作,非常恼火,所以重度编码的话,还是会上 netbeans, vscode,虽然我的 .emacs.d-doom有几个G,但感觉没发挥 Emacs 的强大,也许是我不写 elisp 的缘故,不过还是很喜欢 Emacs 那种”可编程编辑器的感觉”,可以方便的看到命令、函数怎么实现的,文档也很齐备。
看 Emacs 29 发布了,新功能很炸裂,于是灌水一篇: 如果给你个 Emacs 29原装版,没有任何插件,你有什么是难以忍受,需要通过什么插件弥补,或者希望 Emacs 后续版本改进的?
LSP卡顿换 lsp-bridge 吧, 保证一点都不卡顿。
1 个赞
其实我不知道是什么原因卡顿,也没报错,我都怀疑是不是 macOS 的问题。并不是频繁出现,但出现一次就会特别特别恶心,Windows 那种假死的感觉回来了。
我觉得 28.2 就比较满意了。meow + rg + lsp-mode + cider + magit + pass 个人工作的话,一定需要的大概就是这几个插件。其它的插件对我都不是刚需。如果升级到 29, 那么可以少一个 lsp-mode。
3 个赞
Emacs 有没有啥开关可以持续打日志,告诉我什么操作什么函数花了多久,方便我定位问题?
pass 指这个吧?看着有点意思,我的密码用 vim -x 做了个加密笔记管理的。
用 doom 肯定不会是 gc设置不太合适的原因了。doom在这方面肯定都配置好了。
间歇性卡顿更可能的原因确实还是懒猫说的,插件出了问题,或者是emacs天生存在的弊端。
ksqsf
10
看了下下面的回帖,确实应该是插件问题,GC 不会卡到几秒十几秒。
profiler-start 和 profiler-report
但是卡死还是要用二分注释法去排查,profiler 这时候用不了。
一直在黑苹果上编译最新的master分支,目前30.0.50,默认编译选项,不开native-comp,速度正常,没感觉到卡慢。
几个G?这里面都装了啥东西?
spacemacs 我的目录200M。我用的另一个简单的配置61M。我平时只用emacs写代码,其他功能基本不用。
wsug
14
我org-mode用得比较多, 超长行卡顿 的问题能解决就好了
1 个赞
超长行卡顿确实是痛点, 打开文件之前都不知道有超长行, 打开后卡死就很烦。
这样设置一下呢?
我忘了从哪里抄来的了,据说会改善打开长行文件的性能,但没机会测试。
(global-so-long-mode 1) ;; optimize opening one line/long line files
随便找一个 npm 的包, 把 npm build 的包打开就好了, 因为 npm 会把所有 js 内容都压缩成一行。
一般都是直接卡死。
找到了个 137 KB 的,打开 so-long-mode,开始时有点卡,但是没崩溃。
不过确实表现不如 Vim 和 VSCode 虽然它俩表现也不怎么样。
超长行可以用 Python 进程在外部进行文件切片, 然后像 blink-search 那样做一个 offset + range 的可视区域处理就行了。
这样Emacs就探测到超长行的条件就转发给外部进程, 外部进程解析部分内容再返回给Emacs做语法渲染, 当然这种切断上下文的语法渲染给Emacs做也很难, 可以在Python端做完全文渲染后, 把语法高亮的范围列表也同可视区域一并返回。
这样应该可以解决超长行的性能问题, 又可以用Emacs的文字编辑功能, 仅提供想法, 还没有实践。
2 个赞
这种技术也可以用 PyQt 来实现一些二进制逆向工具给Emacs用。