emacs 官方安卓版

'(tool-bar-position 'bottom)

那么配置文件在哪? 在/Storage/Android/data/下还是/data/user/0/?

默认的 $HOME/data/data/org.gnu.emacs/files,配置文件在 ~/.eamcs.d

/data/user/0

糟糕,没有root

Emacs 自己提供的 documents provider 可以从系统自带的文件管理器访问

安卓端使用Emacs Evil mode,似乎键盘始终弹出来。请教有办法解决吗?

建议开启 touch-screen-display-keyboard。

感谢,后来解决了。

这个路径在 Emacs 应用程序里面相当于 ~/fonts

背景:目前手头的Android版本是8.0,从F-Droid下载了当前最新的Emacs Android 30.1,系统没有root。 请问除了 /data/data/org.gnu.emacs/files,Emacs Android有其他配置文件的路径吗?比如可以读取 /storage/emulated/0/ 下的配置文件吗?

在一番搜索后,问题解决了,参考了 水木清华社区的帖子 “主题:GNU Emacs for Android 的一点经验”。

前提: Emacs Android的 ~/ 位置比较特别,在 /data/data/org.gnu.emacs/files,所以 .emacs.d 可以放在 /data/data/org.gnu.emacs/files/.emacs.d。

水木清华帖子作者 easior的具体做法是

1、在Emacs进入eshell:

做法是通过 Emacs 的 minibuff 中输入 m-x eshell,或点击菜单 Tools → Shell Commands → Run Shell。

2、建立从 /data/data/org.gnu.emacs/files/.emacs.d/init.el 到 /storage/emulated/0/init.el 的软链接,具体命令是:

$ cd .emacs.d

$ ln -s /storage/emulated/0/init.el ./init.el

$ exit

这种做法是读取到SdCard的单个配置文件,虽然可以在 init.el 再次去加载 /storage/emulated/0 下其他目录的配置文件,还是觉得有些折腾。另外这种加载方式下,不确定 early-init.el 是否还有效果,所以决定根据这种做法的思路进行修改,做法是直接把 /storage/emulated/0 下Emacs的配置文件目录软链接为 /data/data/org.gnu.emacs/files/.emacs.d,这样修改的好处是直接读取配置文件目录,没有二手转换,加载效率应该会好一点,具体做法是:

1、在Emacs进入eshell: 做法是通过 Emacs 的 minibuff 中输入 m-x eshell,或点击菜单 Tools → Shell Commands → Run Shell。

2、建立从 /data/data/org.gnu.emacs/files/.emacs.d 到 /storage/emulated/0 下 Emacs配置文件目录的软链接,以配置文件目录放在 /storage/emulated/0/.emacs.d、eshell当前路径是 /data/data/org.gnu.emacs/files 为例,具体链接命令是:

$ rm -r .emacs.d

$ ln -s /storage/emulated/0/.emacs.d ./.emacs.d

$ exit

3、重新启动Emacs。

在我的荣耀手机(Android 8.0)里发现Android → 应用管理 → Emacs ->点击螺丝图标的按钮,可以看到以 -Q、–debug-init 两种重启方式的按钮和 Delete dump file 的按钮。有问题时可以考虑使用 -debug-init 方式重启。

好啦,现在打完收工,感谢坛友们的分享,新人来报到了 :grinning:

1 个赞

F-droid的Emacs支持其他外围shell命令吗,比如git?

我的手机上目前没有安装git,所以不能验证,不过一般的 cd、ls、grep 等是没问题的

1 个赞

gpg、git 等可以在 termux 中安装,在 emacs 的 shell 中使用(需要设置 PATH)

2 个赞

不可以,除非你手动将 /sdcard 下的文件 symlink 至 /data/data/org.gnu.emacs/files

另外 /sdcard 在某些安卓版本下是一个比较不可靠的 FUSE 文件系统,不建议作为 user-emacs-directory

F-Droid 不可以,你可以用 GNU 官方安装包:Index of /gnu/emacs/android/termux (请你先阅读 https://ftp.gnu.org/gnu/emacs/android/README)

2 个赞

感谢回复。现在安装的版本是 30.1 ( build 1, aarch64-unknown-linux-android22 ) of 2025-02-28的,F-droid 的“安装历史”有Emacs的安装日志,Emacs 进入 shell 后路径不是 termux 的。 现在我打算去试试 termux 版本的,感受下更加全能的 Emacs

嗯,已经用上了,感谢老铁的移植。

在阅读 https://ftp.gnu.org/gnu/emacs/android/README ,发现常见问题解答的第 26 条重复了。