点击的是scratch 是不是要点GNU Emacs的欢迎页才行?
不是,你的设备有没有连接或自带硬件键盘?
在我看来,是以下这个问题没有彻底解决好,相比emacs下不够灵活,所以直接放弃
非常感谢!MPV的问题已经解决。
doom-emacs虽然还没有成功安装,但是至少开始执行,看上去是在正确的方向。目前git命令执行出错:
/data/data/org.gnu.emacs/files/.emacs.d.doom/bin/doom install
Installing Doom Emacs!
- Skipping /storage/4A21-0000/dotfiles/.doom.d/ (already exists)
- Skipping init.el (already exists)
- Skipping config.el (already exists)
- Skipping packages.el (already exists)
- Envvar file already exists, skipping
Installing plugins
> Installing packages...
> Updating recipe repos...
Error: error ("Failed to run \"git\"; see buffer *straight-process*")
signal(error ("Failed to run \"git\"; see buffer *straight-process*"))
error("Failed to run %S; see buffer %s" "git" "*straight-process*")
(if success (let ((output (concat stdout stderr))) (if straight--process-trim (string-trim output) output)) (error "Failed to run %S; see buffer %s" program straight-process-buffer))
x The package manager threw an error
x Last 16 lines of straight's error log:
$ cd /data/data/org.gnu.emacs/files/.emacs.d.doom/.local/straight/repos/melpa/
$ git rev-parse HEAD
[Return code: 127]
! Wrote extended straight log to ~/.emacs.d.doom/.local/state/logs/cli.doom.240126180427.17784.error
✓ Finished in 10.15682s
255|:/data/data/org.gnu.emacs/files $
试着在emacs shell中执行,没有问题。
$ cd /data/data/org.gnu.emacs/files/.emacs.d.doom/.local/straight/repos/melpa/
$ git rev-parse HEAD
看了下doom的env文件,termux bin加入到PATH变量了
"LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib:/data/app/~~FOrmtXdz6CyU88YA-WPLlA==/org.gnu.emacs-DGEUkxV3UgrhX0UlLlMaAg==/lib/arm64"
"PATH=/data/data/com.termux/files/usr/bin:/data/data/org.gnu.emacs/files/.emacs.d.doom/bin:/data/data/com.termux/files/usr/bin:/product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin"
"SHELL=/system/bin/sh"
尝试执行doom-call-process “git” 也是正常的
(doom-call-process "git" "-C" "/data/data/org.gnu.emacs/files/.emacs.d.doom/.local/straight/repos/melpa/" "rev-parse" "HEAD")
还在研究doom的机制,但是说实话,doom这种方式在android emacs上没有Spacemacs友好啊
又学到了,才知道doom原来是可以编辑的,emacs原来也可以有这种类似python argparser的功能。
把 android-use-exec-loader 设置为 nil 能解决吗?
好像eshell可以,shell会报错?我再跑跑
现在复现不了之前(“Failed to run "git"; see buffer straight-process”) 的错误,就算android-use-exec-loader 设置为 t,在eshell还是shell都能跑成功。没太搞明白原因。
在您的帮助下,doom-emacs已经成功安装在android emacs!非常感谢!
接下来就是优化调整了,处理一下字体、按键、package的兼容问题。等我整理一下在单独发一篇说明如何在android emacs中使用doom-emacs。
此外,发现加载lsp会报错:
debug-init 发现是因为lsp-mode中有调用:
(defvar lsp-json-rpc-mutex (make-mutex))
而make-mutex函数在android emacs中不存在。
这是否意味着在android emacs无法使用lsp?
是的,目前建议用 Eglot.
没有连接或自带硬件键盘
不知道是换了输入法还是换了emacs版本,又不需要控制evil-insert-state了,直接normal下能了 下面是原来的方案:
我是用evil的,evil情况下默认即使设置 touch-screen-display-keyboard 为t后 点scratch确实默认弹不出键盘,如果切换到其他页面后,最小化app重新进来就能弹出键盘了。我的解决方法是判断在android后,当前buffer是scrtach后,evil切换成insert,就能弹出键盘了
(defun android-insert()
;; 在这里添加您要执行的命令或配置
(when (equal (buffer-name) "*scratch*")
(evil-insert-state)
(message "default insert in scratch")
)
)
(when (string-equal system-type "android")
(add-hook 'emacs-startup-hook 'android-insert)
)
能麻烦分享一下你的evil配置吗?我的evil模式在termux 中的emacs正常,在安卓原生版本的Emacs不正常。 具体表现是:
- 在文本编辑界面,Spc无法作为leader key,这个最要命
- 删除变为向左一个字符 我用的是Unexpected keyboard,尝试了其他输入法之后可以确定不是输入法带来的问题。
另外也感谢你这个脚本。指出一个问题:最后括号应为英文括号而不是中文括号。
https://github.com/sherylynn/myemacs.d
配置在这里哈,给不同android或桌面版本适配的脚本在 lisp/init-system.el里
其他的init-evil里好像没特别配置吧,不过字体下载安装,我做了配置,在init-ui里
非常感谢!!