从今天开始,Emacs里面可以运行任何你想要的程序 (Linux & Windows & Mac & BSD)

用EAF多了以后,会打开很多很多 file-manager 的buffer。

这个补丁的作用是,当EAF发现有重复的 file-manager 的buffer, 同时这些buffer不显示就直接清理掉重复 buffer, 保证每个路径只有一个 buffer 存在。

这样我就可以放心的打开任意文件,又不用花费时间去清理他们。

lsp-bridge 搞完终于把 eaf-git 的 Dialog 组件重写了,现在可以在底部显示全部按键帮助,方便

@EdmondFrank 大佬把 eaf-git 代码块的stage、unstage和delete 都搞完了,现在 100% 可以替代 magit 了,而且 Hunk 的操作比 magit 还方便,j/k 换文件, n/p 切换代码块, S/D 操作代码块, 超级快。

说一件怪事,包括 eaf 在内 gitee 很多项目都强制闭源了,比如 https://gitee.com/emacs-eaf/eaf-js-video-player

不知道 gitee 怎么想的

政策要求,需要过审查才能开源 :mask:

亲测,在M1 Mac上安装eaf,已经可以以native形式运行,不需要走rosetta了(qt6和webengine等都有arm了)

可以去掉 eaf–mac-enable-rosetta 选项,以及wiki中的使用arch x86_64兼容安装的方式

以native的方式运行效率更高,安装也省事

有一点需要注意的是,command tools默认安装一个python3.8.9和homebrew的python产生覆盖,导致install_eaf.py安装的package在emacs里找不到。需要手动设置一些环境变量,

export PATH=/opt/homebrew/bin:$PATH
export PATH=/opt/homebrew/opt/[email protected]/libexec/bin:$PATH

并且把pip编译的两个包也加到环境里(默认索引不到,emacs在load eaf的时候会直接崩溃),可以注意第一次安装pyqt6时的编译提示. 找到路径后加入即可,例如:

export PATH=/Users/liuyi/Library/Python/3.9/bin:$PATH

同时,建议如下配置解决emacs内的路径问题


    (add-hook 'inferior-python-mode-hook
              #'(lambda nil
                  (process-query-on-exit-flag
                   (get-process "Python"))))
    (eval-after-load 'python
      #'(lambda nil
          (progn
            (if
                (and
                 (executable-find "python3")
                 (string= python-shell-interpreter "python"))
                (progn
                  (setq python-shell-interpreter "python3")))
            (eval-after-load 'exec-path-from-shell
              #'(lambda nil
                  (exec-path-from-shell-copy-env "PYTHONPATH"))))))

这里我用了exec-path-from-shell这个包来获取python path,解决一些第三方python包在Mac上找不到的情况

1 个赞

m1用户之前使用rosetta转译运行的,可以试试这个方法切换到arm,速度杠杠的,eaf非常丝滑,没有之前的那种偶尔顿顿的感觉

大家可以试试有没有什么问题,不用转译后eaf比edge浏览器还快哈哈哈,回头可以请懒猫帮忙更到wiki上

可以给m1做一个补丁吗?

1 个赞

今天给eaf-git新写了一个补丁

专门为方便合并Github PR而设计的。

在eaf-git首页按a键输入PR的number,自动fetch PR并创建一个新的分支用于测试Github PR, 非常非常的方便。

请教大佬,EAF打开调试信息之后 (setq eaf-enable-debug t),EAF插件启动不了,eaf buffer 显示的 python 路径有问题,请问该如何处理,日志如下:

"C:\Users\Yanyang\AppData\Local\Programs\Python\Python310/python.exe": not in executable format: File format not recognized
No executable specified, use `target exec'.
No stack.

Process *eaf* finished

从你的报错信息看就是这个错误信息啊,这个不是一个正常的执行文件格式。

你自己搜索一下吧。

lsp-bridge的核心技术来源于EAF, lsp-bridge开发的过程中, 发现了很多可以反过来提升EAF的技术, EAF最近主要有以下提升:

  1. python 和 elisp 之间消息传递用 sexp 替代了 base64, 现在可以支持任意复杂的数据结构在Python/Elisp两边交换, 因为去掉了 base64 的编解码过程, EAF的性能会有一定提升
  2. 修复了调用 eval-in-emacs 时经常返回 “Got too many arguments in the reply” 的错误信息
  3. 对EAF所有应用的npm依赖包进行了升级, 解决了新用户安装EAF产生的依赖报错和白屏问题

建议所有EAF用户都升级一下。

7 个赞

更新了一下doom eamcs后不知道为啥突然eaf就不能用了,而且还提示缺少很多和pyqt相关的库,重新安装后就这样了。 M-x eaf-open 打开文件立马就崩溃

emacs -Q测试下

请问在archlinux下使用eaf会出现eafbuffer的位置偏移问题, 应该怎么解决? emacs -q时也会偏移. 我是完全按照github的安装步骤安装的

现在不支持emacs pgtk

谢谢回复,我重新编译了个emacs已经没问题了.

如果未来想要卸载eaf,有没有一种完全卸载的方法?(包括那些外部应用).

把eaf目录全部删除即可。

1 个赞

安装了 eaf,但出现如下报错,说 CPU 类型不对。

我用 m1 MacBook,macOS,按照 readme 里的 macOS 的安装方法。在终端里输入如下命令安装:

arch -x86_64 python3 ./install-eaf.py