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.
> 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.
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
i find that unless i swipe perfectly, the input is considered in the textbox not the bar, so i can't easily swipe out of it. :( have never really got the hang of it. i wish there was a button to swap in/out, i guess i could do some simple android dev but i'd rather not
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)
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.
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 ;)
Are Emacs users really known for "self-flagellation"? I would have thought that was more vi users. Even if modern vis like vim try to make it slightly less painful, the fact is modal editing is really nonintutive. Certainly the reason why I became an Emacs user nearly 40 years ago when I was using UNIX for the first time, was that the only two real options were vi and Emacs and after playing with vi for a bit I was pretty much "nope, not doing that". Emacs may have a reputation as being arcane, but ultimately it is a modeless editor (yes, you can make it emulate vi and its modes if you really want it to) which means it basically works like any other editor or word processor you'd find on mainstream OSes.
> 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.
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).
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.
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.
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.
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.
I primarily use Hacker's keyboard to use Emacs in Termux. Bluetooth keyboard is also an option. But, for some text editing sessions software keyboard is sufficient.
hardware or software keyboard I don't think I've ever used a binding like that and if I did I would almost immediately bind them to something more reasonable.
Å is in Finnish Keyboards, but totally useless. F12 is easily accessible in Hacker's Keyboard. ∆ is in Gboard.
There no gui, you use openscad to generate STL and view that in Android STL-viewer. You can automatize it so that it is almost like the real thing.
file_to_watch=$1
last_modified=$(stat -c %Y "$file_to_watch")
while true; do
current_modified=$(stat -c %Y "$file_to_watch")
if [ "$last_modified" != "$current_modified" ]; then
openscad $1 -o $1.stl
last_modified="$current_modified"
fi
sleep 1 # Check every second
done
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.
I've been thinking about this a lot recently, although I'm a vim user (please don't hate me), visiting this thread to see if the emacs community has solved this.
My use case is I want the vim analog to some emacs tooling like org-mode, everywhere. I want open formats, I want vimwiki-style linking, I want taskwarrior integration, and I also want it to synch on all my devices.
There are some proprietary tools like NotePlan that use iCloud as backhaul (very well, actually), and it's open format, but it has an opinionated UX that isn't quite me, and I think I just want to stay in vim as much as possible that I can do what I want with. I suspect most people here interested in emacs would have a similar take on it.
If you're on iOS, and your laptop/desktop is macOS, you have a cloud drive that is (IMHO), better than Dropbox right there, baked in, so what would it look like to use that file system? Not awful actually. I've found device synch across that file system to be transparent and high quality, as long as I remember to save things regularly.
The problem for me when it comes to the mobile experience is that I think - no matter whether you're an emacs or vim user - you probably don't want that mode-based editing on your phone.
The best notes app on iOS is Apple Notes because it does a lot of things incredibly well for the context of writing notes one-handed while stood on a bus, or while sat in a coffee shop with a small touch-screen keyboard.
Where I'm at right now is I want to build something that can read and interact with my files on my phone, but is not mode-based - it just uses Apple text editing like Apple Notes, and saves everything in iCloud files (or Dropbox as a backup to get out of the apple ecosystem), and on my local machine I just get that live synched experience with the editor that makes sense.
So the format I'm mostly interested in (vimwiki), has formatting that would be understandable as styles in Apple Notes, so I'm trying to work out whether to a) write something to import/export to notes from vimwiki, or b) provide a vimwiki-aware editing tool with the ergonomics of Apple Notes for my phone. I suspect doing the same but for emacs and org-mode would do the job well for those who want that experience too.
Also thinking about this. Requirements I've identified -- and this is why people give up and just run Emacs on Android:
1. Able to natively edit and view same file type on both devices, be it .md or .org or whatever you choose (there are more apps supporting .md, if you can stomach that)
2. Links must work on both devices! That alone means it's not trivial, even if you have a lightbulb moment and use .md files for access to more apps, together with one of Emacs' filetype-independent links like Hyperbole or Denote, because no .md app will support those links. Conversely in .org, not all apps even support Org-ID links... especially not making it easy to insert such a link.
3. App must have satisfactory editing facilities. I know at least one app that doesn't even let you indent/dedent list bullets...
4. If you use TODO tasks, the app needs to make it convenient to see them at a glance across all files. Many Org apps fail here and either basically assume you have like one "todo.org" file and need no hand-holding, or even if they list all TODOs, there's no way to sort or filter, or it only lets you see them but not toggle them to DONE!
5. If you use a wiki-style workflow such as org-roam, so that you have far too many small files to keep track of, the app needs to make it easy to browse. Many apps fail here, just showing you a file list on the assumption that you even know what your files are named or what's in them. Count your blessings if there's at least a good search facility.
6. Instant & reliable sync. Logseq Sync is too buggy (at least it was in 2023). Things like Syncthing just aren't good enough if you don't also host a server that is always on. If sync conflicts are frequent, I'll be so wary of editing that I stop altogether.
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.
Ok, so I'm playing with OCAML a lot right now, and it seems like in this workflow I would lose access to all the IDE tooling that is provided. That's not the end of the world, but still a big workflow hit which is solved by just remote ssh into NVIM. I'm definitely curious about your workflow, though.
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.
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.
It literally just takes a string, formats it as an org entry, and then appends it to an 'incoming.org' file on my remote.
Then I can access the incoming.org file and org-refile entries at will.
Usage is just 'note "note text"'. this is generally how I process notes in org - I collect things in an inbox and them I elaborate on them, then refile them into a fully fledged note or the appropriate context.
Its dead simple, but comfy for my workflows and solves the problem of "collecting notes from mobile" without trying to struggle session mobile Emacs or Org mode
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
There is a third option (in addition to the native app and Termux) to get emacs running. The recently added (to at least Pixel phones) "Terminal" app runs a standard Debian distribution inside a VM. emacs can be installed there in exactly the same way it would be on any other Debian machine.
I'm sure grateful that you did that. I've been surprised by how little online discussion of this app I've seen. It's just extremely cool to be walking around with a real gnu/linux computer in my pocket, which cost nothing to add to the phone, and has no ads or in app purchases.
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.
# Full brightness on entry
termux-brightness 255
# Auto-brightness based on light sensor on exit
LIGHT_VALUE=$(termux-sensor -s stk3a5x_als -n 1 | jq '.. | .values? | select(. != null) | .[0]')
if [ -n "$LIGHT_VALUE" ]; then
if (( $(echo "$LIGHT_VALUE > 1000" | bc -l) )); then
trap 'termux-brightness auto' exit
else
trap 'termux-brightness 50' exit
fi
fi
I tried installing Emacs on Android and then realized: How on earth am I even gonna input all the special key combos that I use for things in Emacs?
I figure it is impossible, without a special keyboard installed and even then it gets cumbersome to quickly input something like C-x C-s for saving a file. I am not motivated enough, to come up with a whole different shortcut system, just for rare if ever Emacs on phone use.
I've played with `meow`, a Kakoune-like modal editing system for Emacs, but on desktop, I've never really had enough motivation to stick with it. It might actually make more sense for mobile.
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.
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"...
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.
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
termux is actually a pretty good little linux distro. i still keep wondering if the vm/container thing they shipped in recent versions of android for pixel will subsume it.
i was really hoping that with the display port over usb-c out that appeared in pixel 9 that there would be a useful desktop that could potentially support laptop replacement, but it seems all the desktop mode, termux and termux with x over vnc (or whatever it is) seem not quite mature. could be cool though, although, maybe better if there were a wireless link for the display and a way to have it not interfere with the phone being a phone.
There is a catch though, you need to download and install Termux & Emacs from this project as per the instructions. It took me a while to get it working, but after that it worked like a charm.
Termux isn't required, unless you want other applications (e.g. git, python, or GCC).
If you do want Termux, a signed and compatible version is provided by the Emacs devs. It should all be in the README (at least it always has been, through various updates, since I started using the Emacs on Android before it was merged into the main branch).
My computer died a few months ago and Emacs on Android has carried me through well. Still able to do development on the go. Amazing, amazing work by the Emacs dev!
The Unexpected Keyboard is a great addition, but even with the stock Android keyboard, it's totally usable. Of course, it helps to add things to menus and remap the volume keys.
You can add buttons to the toolbar with something like:
I think you're kind of right. I was surprised that that's two clicks away from the front page, under docs. That's where I'd look but it probably should have a nice visible link that's the first thing you see. There is a picture of the program running on an android device and a QR code.
Perfectly adequate for people who know how it all works or people who look for software install instructions on the regular, but not the best first contact for people who don't.
Edit: Actually, even the instructions page doesn't tell you to download and run the package on the device's browser. A user visiting on a laptop or something will just have a weird useless file in the downloads dir (unless they go the adb route or otherwise figure out it needs to go on the device first).
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/
> 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.
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
i find that unless i swipe perfectly, the input is considered in the textbox not the bar, so i can't easily swipe out of it. :( have never really got the hang of it. i wish there was a button to swap in/out, i guess i could do some simple android dev but i'd rather not
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)
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.
> 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)
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.
22 replies →
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...
3 replies →
Are Emacs users really known for "self-flagellation"? I would have thought that was more vi users. Even if modern vis like vim try to make it slightly less painful, the fact is modal editing is really nonintutive. Certainly the reason why I became an Emacs user nearly 40 years ago when I was using UNIX for the first time, was that the only two real options were vi and Emacs and after playing with vi for a bit I was pretty much "nope, not doing that". Emacs may have a reputation as being arcane, but ultimately it is a modeless editor (yes, you can make it emulate vi and its modes if you really want it to) which means it basically works like any other editor or word processor you'd find on mainstream OSes.
3 replies →
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.
What do you mean by "modern editors"?
For me it is noticeably snappier than VSCode (which I am hassled by management to use for Copilot).
Very occasionally I run into a speed glitch in Emacs but not nearly enough to drive me away, given that nothing else can do all the stuff it does.
I mean this kind of makes sense right, they chose it because they can customise it to fit them, it's basically a bespoke editor.
> 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.
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).
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.
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.
4 replies →
Yes. USB also works just fine too.
1 reply →
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.
(menu-bar-mode 1)
(tool-bar-mode 1)
(scroll-bar-mode 1)
(modifier-bar-mode 1)
(menu-bar-set-tool-bar-position `bottom)
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...
I primarily use Hacker's keyboard to use Emacs in Termux. Bluetooth keyboard is also an option. But, for some text editing sessions software keyboard is sufficient.
Termux allows me to remap the volume buttons to control and meta which makes it much easier
Emacs lets you remap the volume keys:
You can use the usual C-h k <key> to see what Emacs calls the key.
hardware or software keyboard I don't think I've ever used a binding like that and if I did I would almost immediately bind them to something more reasonable.
Ultimate .emacs on termux, note python-hook
What keyboard are you using? one where å Å ∆ F12 are easily accessible?
Is there a good interface to (GUI?) openscad from termux?
Å is in Finnish Keyboards, but totally useless. F12 is easily accessible in Hacker's Keyboard. ∆ is in Gboard.
There no gui, you use openscad to generate STL and view that in Android STL-viewer. You can automatize it so that it is almost like the real thing.
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.
I've been thinking about this a lot recently, although I'm a vim user (please don't hate me), visiting this thread to see if the emacs community has solved this.
My use case is I want the vim analog to some emacs tooling like org-mode, everywhere. I want open formats, I want vimwiki-style linking, I want taskwarrior integration, and I also want it to synch on all my devices.
There are some proprietary tools like NotePlan that use iCloud as backhaul (very well, actually), and it's open format, but it has an opinionated UX that isn't quite me, and I think I just want to stay in vim as much as possible that I can do what I want with. I suspect most people here interested in emacs would have a similar take on it.
If you're on iOS, and your laptop/desktop is macOS, you have a cloud drive that is (IMHO), better than Dropbox right there, baked in, so what would it look like to use that file system? Not awful actually. I've found device synch across that file system to be transparent and high quality, as long as I remember to save things regularly.
The problem for me when it comes to the mobile experience is that I think - no matter whether you're an emacs or vim user - you probably don't want that mode-based editing on your phone.
The best notes app on iOS is Apple Notes because it does a lot of things incredibly well for the context of writing notes one-handed while stood on a bus, or while sat in a coffee shop with a small touch-screen keyboard.
Where I'm at right now is I want to build something that can read and interact with my files on my phone, but is not mode-based - it just uses Apple text editing like Apple Notes, and saves everything in iCloud files (or Dropbox as a backup to get out of the apple ecosystem), and on my local machine I just get that live synched experience with the editor that makes sense.
So the format I'm mostly interested in (vimwiki), has formatting that would be understandable as styles in Apple Notes, so I'm trying to work out whether to a) write something to import/export to notes from vimwiki, or b) provide a vimwiki-aware editing tool with the ergonomics of Apple Notes for my phone. I suspect doing the same but for emacs and org-mode would do the job well for those who want that experience too.
Also thinking about this. Requirements I've identified -- and this is why people give up and just run Emacs on Android:
1. Able to natively edit and view same file type on both devices, be it .md or .org or whatever you choose (there are more apps supporting .md, if you can stomach that)
2. Links must work on both devices! That alone means it's not trivial, even if you have a lightbulb moment and use .md files for access to more apps, together with one of Emacs' filetype-independent links like Hyperbole or Denote, because no .md app will support those links. Conversely in .org, not all apps even support Org-ID links... especially not making it easy to insert such a link.
3. App must have satisfactory editing facilities. I know at least one app that doesn't even let you indent/dedent list bullets...
4. If you use TODO tasks, the app needs to make it convenient to see them at a glance across all files. Many Org apps fail here and either basically assume you have like one "todo.org" file and need no hand-holding, or even if they list all TODOs, there's no way to sort or filter, or it only lets you see them but not toggle them to DONE!
5. If you use a wiki-style workflow such as org-roam, so that you have far too many small files to keep track of, the app needs to make it easy to browse. Many apps fail here, just showing you a file list on the assumption that you even know what your files are named or what's in them. Count your blessings if there's at least a good search facility.
6. Instant & reliable sync. Logseq Sync is too buggy (at least it was in 2023). Things like Syncthing just aren't good enough if you don't also host a server that is always on. If sync conflicts are frequent, I'll be so wary of editing that I stop altogether.
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?
Have you tried beorg? https://www.beorgapp.com
I've just started playing with it, but so far it seems quite good.
I use iCloud sync and then on a macOS machine, I have code that commits it to VCS, so that it's durable.
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?
I use git (with Working Copy) for sync for this exact use-case.
Yup: emacs for editing org-mode files but git for sync.
How about a VPS running Emacs + Mosh and Blink? The only downside is that you need good internet coverage.
iCloud surprisingly works without issues for me. You can switch on “keep downloaded” for the folder in question.
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.
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.
Ok, so I'm playing with OCAML a lot right now, and it seems like in this workflow I would lose access to all the IDE tooling that is provided. That's not the end of the world, but still a big workflow hit which is solved by just remote ssh into NVIM. I'm definitely curious about your workflow, though.
2 replies →
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.
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
7 replies →
Your setup is pretty awesome. But if you miss dropbox so much, why not set up owncloud on the hetzner machine?
Does your bash script use rsync or does it duplicate some of rsync's functionality? (rsync also uses zip to speed things up.)
It literally just takes a string, formats it as an org entry, and then appends it to an 'incoming.org' file on my remote.
Then I can access the incoming.org file and org-refile entries at will.
Usage is just 'note "note text"'. this is generally how I process notes in org - I collect things in an inbox and them I elaborate on them, then refile them into a fully fledged note or the appropriate context.
Its dead simple, but comfy for my workflows and solves the problem of "collecting notes from mobile" without trying to struggle session mobile Emacs or Org mode
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
There is a third option (in addition to the native app and Termux) to get emacs running. The recently added (to at least Pixel phones) "Terminal" app runs a standard Debian distribution inside a VM. emacs can be installed there in exactly the same way it would be on any other Debian machine.
I started reddit.com/r/androidterminal for discussing this feature
I'm sure grateful that you did that. I've been surprised by how little online discussion of this app I've seen. It's just extremely cool to be walking around with a real gnu/linux computer in my pocket, which cost nothing to add to the phone, and has no ads or in app purchases.
I have been using Emacs+git on termux on an Android phone for more than 5 years.
I don't even use a third party software-keyboard, I just use termux's special key bar. To set it up, add the following to ~/.termux/termux.properties
This has been enough for using org mode in everyday life tasks, and I don't need to keep swapping keyboards.
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.
@grok solved the termux being too dark problem:
In .bashrc:
I was quite surprised too to learn how well terminal apps work on Android. Termux is amazing.
I tried installing Emacs on Android and then realized: How on earth am I even gonna input all the special key combos that I use for things in Emacs?
I figure it is impossible, without a special keyboard installed and even then it gets cumbersome to quickly input something like C-x C-s for saving a file. I am not motivated enough, to come up with a whole different shortcut system, just for rare if ever Emacs on phone use.
I've played with `meow`, a Kakoune-like modal editing system for Emacs, but on desktop, I've never really had enough motivation to stick with it. It might actually make more sense for mobile.
The menus have all you need. It's not ideal, of course, but it's enough to get you going. Otherwise you can remap the menu and toolbar to your needs.
There are several developer oriented keyboards. I found the Unexpected Keyboard quite good.
This is my Unexpected layout:
GNUs under Emacs it's the only FOSS Usenet client out there for Android.
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.
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.
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"...
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.
2 replies →
Is there an Android app that does Waypipe or wprs to forward a remote Emacs (with eglot/LSP) to your Android tablet?
If you've got it installed as suggested in the article, with its own termux installation, can't you compile the LSPs there and use them with eglot?
what is preventing you from using eglot on android?
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
termux is actually a pretty good little linux distro. i still keep wondering if the vm/container thing they shipped in recent versions of android for pixel will subsume it.
i was really hoping that with the display port over usb-c out that appeared in pixel 9 that there would be a useful desktop that could potentially support laptop replacement, but it seems all the desktop mode, termux and termux with x over vnc (or whatever it is) seem not quite mature. could be cool though, although, maybe better if there were a wireless link for the display and a way to have it not interfere with the phone being a phone.
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
It is already there and it works.
https://sourceforge.net/projects/android-ports-for-gnu-emacs...
There is a catch though, you need to download and install Termux & Emacs from this project as per the instructions. It took me a while to get it working, but after that it worked like a charm.
Termux isn't required, unless you want other applications (e.g. git, python, or GCC).
If you do want Termux, a signed and compatible version is provided by the Emacs devs. It should all be in the README (at least it always has been, through various updates, since I started using the Emacs on Android before it was merged into the main branch).
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
I have been using Obtainium [1] to install apps on my Pixel including Emacs.
[1] https://github.com/ImranR98/Obtainium
My computer died a few months ago and Emacs on Android has carried me through well. Still able to do development on the go. Amazing, amazing work by the Emacs dev!
The Unexpected Keyboard is a great addition, but even with the stock Android keyboard, it's totally usable. Of course, it helps to add things to menus and remap the volume keys.
You can add buttons to the toolbar with something like:
There are many icons bundled with Emacs that you can reuse: https://cgit.git.savannah.gnu.org/cgit/emacs.git/tree/etc/im...
You can remove toolbar buttons:
Otherwise, you can add to menus:
Remapping the volume keys is super handy, especially when you change the behavior by mode or buffer:
Redefining the fill column is handy to set appropriate text wrapping:
C-x f runs the command set-fill-column
Otherwise, the menu for Lime Wrapping in this buffer is super helpful.
I set my init to load up Dired so that I'm met with my project directory and am ready to go.
It's hard for me to think of another editor having my back like Emacs has. Again, amazing work by the community!
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...
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?
https://f-droid.org/en/docs/Get_F-Droid/
I think you're kind of right. I was surprised that that's two clicks away from the front page, under docs. That's where I'd look but it probably should have a nice visible link that's the first thing you see. There is a picture of the program running on an android device and a QR code.
Perfectly adequate for people who know how it all works or people who look for software install instructions on the regular, but not the best first contact for people who don't.
Edit: Actually, even the instructions page doesn't tell you to download and run the package on the device's browser. A user visiting on a laptop or something will just have a weird useless file in the downloads dir (unless they go the adb route or otherwise figure out it needs to go on the device first).
(Travels back to the 90s)
Pretty good for Emacs*
Long live VI.
Now I want to see how it performs in android 16 desktop mode
Well duh, I first used emacs on a lowly 386 running a variant of unix.
Today's SOCs are much more powerful.
With I assume full size display, keyboard, and full access to permissions. These are the real bottlenecks.
[dead]