Surprisingly, Emacs on Android is pretty good
127 points
3 days ago
| 16 comments
| kristofferbalintona.me
| HN
rrix2
4 hours ago
[-]
Specifically for org, and specifically for org-roam, it's pretty good, but not good enough. It's not as good as desktop emacs, and it's also somehow not as good as a 1st class android app.

the fdroid build of emacs doesn't really work very well with my org-roam, so i use a termux build,,, well nix-on-droid+emacs-overlay... and it's fine, for capture and recall. but i'm not authoring a lot of text with it. a custom extra-keys in the termux config so that your common emacs keybindings are on screen in a tool bar can get you close to a point-and-click interface... but you don't really have a good "swipe" input or voice input to input text efficiently, it's a character interface, a TUI, which is actually not what you want on a phone, you want a word-based interface. so when i want to do org-mode right now, i pull a unihertz titan 2 out of my pocket. without a sim card, the titan battery lasts for about three days unless i fire up an nix devShell & lsp server on it.

calc-mode is my default android calculator tho.

tbh don't listen to me, though: i've been teaching myself 8vim[1] and building a markdown document graph database in my free time. don't listen to ~any emacs user's opinion with any authority, we all have found our own local minima, our opinions and advice usually aren't so useful to each other

I didn't know about modified-bar-mode, though, that's neat.

[1] https://f-droid.org/packages/inc.flide.vi8/

reply
phatskat
2 hours ago
[-]
> don't listen to ~any emacs user's opinion with any authority

As a vim user, I suppose it’s proper to say “I don’t” :p

Also as a vim user, no one should listen to mine with any authority

Jokes aside, 8vim looks pretty slick! I don’t have an android to play around with at the moment but if I remember this I’ll check it out when I do.

Text input on phones for anything beyond prose seems to be a space ripe for innovation - although, as an iPhone user, the amount of anything technical I want to do from my phone approaches zero quickly.

reply
procaryote
2 hours ago
[-]
If you swipe left on the shortcut bar ("esc" "/" etc) in the termux keyboard, it switches to a word oriented text input area where you can use predictive text and swipe text. Swipe that area right when done to get back to the modifiers
reply
yehoshuapw
2 hours ago
[-]
have you also used thumbkey (or messagease) by any chance?

if so - can you compare them?

(I use thumbkey, but when I ran across 8vim considered switching

however I use thumbkey fluently and am not sure if worth switching)

reply
rrix2
1 hour ago
[-]
i was pretty quick with thumbkey, it's nice on even a tiny device like a Jelly Star. nowhere near as quick with 8vim on any device yet.
reply
IceDane
2 hours ago
[-]
> don't listen to ~any emacs user's opinion

I sort of came here to say the same thing.

The intersection between (the set of people who care about good UX) and (the set of people who would try to use emacs on android) is the empty set. Emacs users' self-flagellation is pretty legendary, and I say this as an emacs user (though I've mostly given up on how janky and slow it is compared to modern editors and only use it for magit these days)

reply
Karrot_Kream
52 minutes ago
[-]
I agree with you on UX but disagree with everything else. If you use native elisp compilation, I find its speed to rival an average editor. Completions can be slow in lsp-mode but still faster than VSCode (and emacs itself ships with eglot, a less full featured alternative to lsp-mode, but may be faster. I haven't used it enough to judge.) This is due to shelling out to LSPs and the fact that not all LSPs are particularly well built.

If you find your emacs to feel jank I highly recommend declaring "emacs bankruptcy" and starting anew with a fresh config. Defaults emacs ships with today are really good.

That said I haven't used emacs on Android yet so I don't know how well, if it all, it works. I also think the UX of emacs tends to bend toward the user's own preferences rather than good UX, and the default UX of emacs is a bit bad.

reply
xenodium
1 hour ago
[-]
I’m an Emacs enthusiast and also build iOS apps powered by org markup.

The more I used my apps, the more I wanted their UX optimised for mobile. This often means completely rethinking the Emacs experience when bringing to mobile.

This is most obvious in my latest app [1]. Org markup fully fades as implementation details. Of all my apps, this is the one I personally use the most. Proudly, I also started getting non-Emacs users interested in org [2].

Anyway, that’s all to say that as an Emacs fan, I want the full Emacs experience on desktop, but when on iPhone, I want fully optimised mobile UX. No meta anything there ;)

[1] https://xenodium.com/journelly-like-tweeting-but-for-your-ey...

[2] https://ellanew.com/ptpl/157-2025-05-19-journelly-is-org-for...

reply
rrix2
1 hour ago
[-]
i didn't mean it in such a disdainful or self-flagellating way, though. emacs is a bag of tricks, and each of us pull a different set of them out.
reply
deng
18 minutes ago
[-]
The nice thing is that Emacs 30.1 now has much better support for touchscreen events. It will take some time for packages to make use of that, but at least it is now possible. For instance, you should now be able to increase/decrease text size by pinching.
reply
zingar
2 hours ago
[-]
Caveat: all this is on iOS:

The only reason I want emacs on my phone is the one thing I don’t have: I want my org notes to be on both desktop and mobile. But syncing files across both has been dreadful, even in paid apps: duplicates everywhere and I constantly have to rechoose the files in a file finder UI. So my reminders are not just ever present for the time when they’re relevant, they’re just “not there” unless I take a lot of manual steps (if I’m lucky only) once a day.

reply
internet_points
1 hour ago
[-]
For Android, https://f-droid.org/en/packages/com.github.catfriend1.syncth... works really well.

I've heard good things about https://apps.apple.com/gb/app/synctrain/id6553985316?platfor... for iOS, but I'm guessing it can't work constantly in the background like on Android?

reply
sharperguy
1 hour ago
[-]
I don't use emacs or org mode, so I'm probably way off the mark, but I imagine I'd use git if I were to do something like that?
reply
xz18r
32 minutes ago
[-]
I use git (with Working Copy) for sync for this exact use-case.
reply
kreetx
1 hour ago
[-]
Yup: emacs for editing org-mode files but git for sync.
reply
Jakob
2 hours ago
[-]
iCloud surprisingly works without issues for me. You can switch on “keep downloaded” for the folder in question.
reply
jamesfisher
25 minutes ago
[-]
F-Droid website is awful for a curious visitor. Serves me a .apk with no further instructions. What am I supposed to do with that?
reply
rmunn
6 hours ago
[-]
What's the experience like pressing Ctrl+Shift+Meta+key shortcuts with those virtual keyboard apps? I assume they turn Ctrl, Shift, etc. into toggles so that you tap Ctrl, tap Shift, tap Meta, tap the shortcut key. But that's still four taps. (I know many of Emacs's commands have fewer modifiers than that, but I don't know which ones since even on a full keyboard I prefer the Vim control scheme so I never learned Emacs in much depth at all). Is that annoying, or is it easy enough to do that the annoyance fades into the background?

Also, is there a preconfigured config for Android that can be downloaded so that you don't have to spend too much time in the Customize mode to get started? (I'm assuming, though the article didn't go into detail, that much of the reason for spending time in Customize would be to remap some of those shortcuts to be easier to type on a virtual keyboard, e.g. fewer modifiers).

reply
PaulHoule
6 hours ago
[-]
You can connect a bluetooth keyboard and mouse to an Android device -- somehow everybody thinks you have to buy some special $300 keyboard to attach one to a tablet but the basic keyboard from Amazon Basics does just ifne.
reply
rmunn
6 hours ago
[-]
Good point, though I don't always have my Bluetooth keyboard available so I'm still interested in hearing people's experiences with those virtual keyboard apps.
reply
brendyn
5 hours ago
[-]
I used to have a flexible silicon keyboard I could roll up and carry but some of the keys died
reply
lugu
2 hours ago
[-]
Yes. USB also works just fine too.
reply
getpokedagain
6 hours ago
[-]
Honestly these things are not the biggest worry.

You can use a pretty standard config. You are likely not going to be writing pages of code and for prose there are better things on a phone than the keyboard. You can get pretty far though github searching Emacs lisp files with android in the text.

More interesting is dealing with androids permissions. The original article mentions this and I have some notes here. https://gsilvers.github.io/me/posts/20250921-emacs-on-androi...

reply
procaryote
2 hours ago
[-]
Termux allows me to remap the volume buttons to control and meta which makes it much easier
reply
getpokedagain
6 hours ago
[-]
Its slow there are some keyboard like unexpected keyboard that make it easier. There's also modifier-bar-mode which displays a little bar you can click to get modifier keys.
reply
getpokedagain
6 hours ago
[-]
(menu-bar-mode 1)

(tool-bar-mode 1)

(scroll-bar-mode 1)

(modifier-bar-mode 1)

(menu-bar-set-tool-bar-position `bottom)

reply
devinprater
2 hours ago
[-]
> Moments like these are truly a testament to Emacs' dedication to an accessible editor.

Ah, accessible. Word with a different meanings, and for me, in this sense, it's not helpful at all. Fortunately I managed to get Emacs talking with Speechd-el in Termux. Speechd-el is a poor man's Emacspeak. But it does seem to work. Well besides pressing SPC doesn't read the new text that scrolled onscreen, but if I have to, I can hook it.

reply
sroerick
5 hours ago
[-]
I'm a little embarrassed by my current workflow, which is:

A. Emacs and org mode on my laptop

B. Neovim to do development via SSH on my dedicated Hetzner box, because my laptop is too potato for dev

C. A bash script to push up any random notes I have up to the server

I have used sshfs, syncthing and unison in the past, but never quite got the workflow for either to click.

After about 13 years of trying I still am not as functional as most Dropbox users. I just can't stand Dropbox.

reply
Karrot_Kream
48 minutes ago
[-]
You're looking for tramp-mode. I used tramp-mode for years when working in a lab in grad school where is write code in emacs, have it save via SSH, then build and run the code on the remote. It allows you to use emacs just to author text and to use the remote for everything else.
reply
Hetzner_OL
38 minutes ago
[-]
Hi OP, just chiming in here because you mentioned us at Hetzner and I saw your post. I also wasn't sure if the comment from nurettin below was meant to be "NextCloud" instead of "owncloud"...? NextCloud and Dropbox have some very similar use cases. We have a line of NextCloud-based products (Storage Shares). Maybe it would be worth trying out. --Katie
reply
yjftsjthsd-h
5 hours ago
[-]
Don't be embarrassed by a setup that works.

In the spirit of hopefully constrictive feedback:

A/B: Any reason not to do emacs or neovim everywhere? You can copy your dotfiles to the server if needed?

C: I wouldn't/don't use Dropbox either. If bash+scp works then great, but have you considered keeping your files in git? Still easy to sync over ssh from one machine to another, but natively handles things like sync conflicts.

reply
sroerick
4 hours ago
[-]
I just haven't found Emacs to be particularly productive over SSH. IMO it works best on a local machine, there's just too much in the GUI which isn't as workable over terminal. Font rendering, images, clickable text links all take a hit. None are really deal breakers, but Emacs TUI just kind of feels like an afterthought. X11 over SSH doesn't feel responsive to me.

Its almost more of an aesthetic choice really, its just that Emacs feels comfier to me on a local machine. You otherwise lose too much of that feeling of customizing everything to your own taste, which is to me the nicest part of Emacs. It's kind of what I imagine a well tuned Forth to feel like.

Neovim is great over SSH, and I kind of prefer it as an editor - but Org support is too compelling. I've tried Neovim Org configs but they just can't compete with the legacy of Emacs Org. Org roam is unbeatable even with the preponderance of wiki style knowledge base apps. Org publish is just too good, as well. I've played with Neorg, and I really like it as a project, but it does feel like it is about 20 years behind.

I use git a lot but it runs into the large binary problem. I know git-annex is supposed to be good, but I haven't used it much. Syncthing is good but a lot of UI. I like unison but it isn't super well suited to the 'background sync' workflow.

My laptop is also a modified chromebook with a 50 GB HDD. I could get a real computer and solve a lot of my sync issues tomorrow, but then what would I have to complain about?

I see people with surface pros running VB studio, drinking Folger's with no discernable side effects and they are probably happier and more productive than I am.

Point being I might try Emacs on android

reply
entrox
2 minutes ago
[-]
> I just haven't found Emacs to be particularly productive over SSH. IMO it works best on a local machine, there's just too much in the GUI which isn't as workable over terminal. Font rendering, images, clickable text links all take a hit. None are really deal breakers, but Emacs TUI just kind of feels like an afterthought. X11 over SSH doesn't feel responsive to me.

But that's what tramp is for, it works nicely and is surprisingly well integrated into the rest of Emacs. The only obvious downside is initial performance, but that can be worked around by tweaking SSH settings to keep connections open.

Another hack I use is to initiate a connection from remote to my local Emacs instance. The use case is ssh'ing into a remote shell, typing "remote-emacs <file-xyz>" and having that open the file on my local machine.

I did that by creating a script that gets my local IP from $SSH_CONNECTION, uses that to ssh into my local machine and executes "emacsclient -n /ssh:$HOSTNAME:$FILEPATH" which then in turn opens the remote file using tramp. Pretty useful.

reply
kreetx
1 hour ago
[-]
I've used git-annex and I'll tell you, it's overcomplicated. Git LFS is probably better.
reply
nurettin
3 hours ago
[-]
Your setup is pretty awesome. But if you miss dropbox so much, why not set up owncloud on the hetzner machine?
reply
s20n
5 hours ago
[-]
I've been using Emacs 30 on my android tablet for a few months now with a bluetooth keyboard. Needless to say, you can't really leverage eglot so it's basically a no-go for any meaningful software development. I've been using it for org-mode and it is fantastic for that.
reply
mbork_pl
3 hours ago
[-]
Not to criticize you - I also use eglot and it's great - but let me mention that people have been doing pretty meaningful software development for several decades now, and LSPs are, I don't know, 5 years old?

There's a saying in my language, "the appetite grows while you eat"...

reply
Karrot_Kream
46 minutes ago
[-]
I think it's a fair complaint. You're on a setup with bad ergonomics as it is (tablet + Bluetooth keyboard.) Dealing with that and no LSP is rough. I'd be happy writing code on a desktop without an LSP, though I'd be happiest with both.
reply
forgotaboutit
4 hours ago
[-]
Is there an Android app that does Waypipe or wprs to forward a remote Emacs (with eglot/LSP) to your Android tablet?
reply
hazebooth
4 hours ago
[-]
what is preventing you from using eglot on android?
reply
rrix2
4 hours ago
[-]
the fdroid build of android doesn't have a real linux environment that you can install arbitrary binaries on to. you can switch to a termux-ish proot environment and do x-forwarding or TUI emacs but those are shenanigans
reply
krupan
4 hours ago
[-]
I've been using emacs in terminal mode inside termux for a few years and it's not bad. Full GUI emacs would be nice, I'll have to give this a try
reply
iib
3 hours ago
[-]
For small edits, has anybody configured a leader-key scheme? Something like Doom Emacs has with space as a leader.

It seems to me to be the best possible configuration for Emacs on Android (on a phone) and I was wondering if I should invest time in such a solution.

strokes-mode.el would also be very nice, but apparently it doesn't have touchscreen support.

reply
procaryote
2 hours ago
[-]
I do termux and emacs on android because a bunch of small use cases are easier to do that way than navigate the app store
reply
anthk
1 hour ago
[-]
GNUs under Emacs it's the only FOSS Usenet client out there for Android.
reply
khqc
5 hours ago
[-]
Another (easier imo) way is to just install Emacs in the standard termux installation and run an X11 server, see https://hadi.timachi.com/posts/emacs_GUI_on_android/emacs_GU...
reply
greggh
5 hours ago
[-]
(Travels back to the 90s)

Pretty good for Emacs*

Long live VI.

reply
zeeeeeebo
3 hours ago
[-]
Now I want to see how it performs in android 16 desktop mode
reply
SanjayMehta
5 hours ago
[-]
Well duh, I first used emacs on a lowly 386 running a variant of unix.

Today's SOCs are much more powerful.

reply
zingar
2 hours ago
[-]
With I assume full size display, keyboard, and full access to permissions. These are the real bottlenecks.
reply