eee.el: 将 Emacs 和优秀的 tui 应用结合起来

不要图形界面,外部进程套多线程再和emacs rpc互调用肯定没问题,lsp-bridge和EAF已经证明了方法可行,如果喜欢lisp风格就cloel吧。

要图形界面,membrane是终端模拟器,跑各种shell都可以。

emacs的gc和多线程限制,注定内部搞不行,你挂vterm里面,如果要做强过滤,性能达不到还有可能卡emacs。

内部搞无解,这个问题我思考了很多年啦,光靠elisp完美不了。

第一次使用,按照仓库里的 Readme 来配置,出现如下消息:

ee-yazi opening: cat: /tmp/ee-yazi.tmp: No such file or directory
ee-find-file: cat: /tmp/ee-yazi.tmp: No such file or directory
Use M-x make-directory RET RET to create the directory and its parents
ee-yazi opening: cat: /tmp/ee-yazi.tmp: No such file or directory
ee-find-file: cat: /tmp/ee-yazi.tmp: No such file or directory

不知道是否和我用的终端有关系,我用的是 Warp。

配置这么写不知道对不对:


;; (use-package eee
;;   :ensure (:host github :repo "eval-exec/eee.el")
;;   :config
;;   (setq ee-terminal-command "Warp")
;;   (general-def "C-x C-f" 'ee-yazi)
;;   (general-def "C-S-f" 'ee-rg)
;;   (general-evil-define-key 'normal 'global "M-f" 'ee-line)
;;   )

其实有时候简单一点, 看哪些应用场景 Elisp 直接解决会卡, 甚至不方便。

这些现实的场景更有吸引力。

我和你的出错信息一样

是不是没有包括 *.sh 文件?

:files (:defaults "*.el" "*.sh")

如果你没包括.sh文件,就不会执行比如ee-yazi,(猜测)看不到弹出的终端或者闪退,同时 /tmp/xxx.tmp 就不会创建,导致运行出错。

1 个赞

应该是的,默认build 里面只有 .el

这个设置写在哪?

如果用的 straight 就写在 straight 配置那里

不知道判断是在哪个终端,再单开一个tab用gui会不会效果好点。我一般只用在终端,感觉再单开一个终端,用起来怪怪的。

或许你应该 给 ee-terminal-options 做些改动。 假如你用 wezterm 的话,可以试试给 ee-terminal-options 中添加一些 “控制 wezterm 在现有 wezterm 实例中新建 tab” 的参数:

感觉也就gnome-terminal --tab的写法简单点,其他的我还得再找找办法。

厉害,思路牛逼

要不要试试增加选中文本发送到终端,或者发送到其他类似于fzf这种的tui上,感觉这样功能性会更好。我试了下新建tab页的参数,感觉不是很统一,也没正常实现,比如kitty上,貌似它的命令行是支持新建tab的,但是只在kitty上有效。。。

要!我也很喜欢这个功能。