Settings

Theme

GNU Emacs ported to Android

play.google.com

131 points by cycojesus 13 years ago · 45 comments

Reader

babarock 13 years ago

Just downloaded it. Here are a few things to note:

- As soon as installed, the app will download emacs from a 3rd party repo. You have the option to specify your own, I picked the default one.

- The app consists apparently of a terminal emulator and a Bourne shell (clone?). emacs will reside inside this emulator and the shell.

- The app seems very young, segfaults are frequent. A common cause seems to be font-size. If font size != 20px at startup, app will segfault. (you can change it once the app is running).

- The buffers do not resize dynamically when I show/hide the keyboard. On my SGS2 in landscape mode, that leaves very little screen space for the buffers.

- The app greatly benefits from Hacker's Keyboard or any similar advanced keyboard.

sigzero 13 years ago

Err....Emacs is probably a better OS than Android. :)

  • gcp 13 years ago

    Which is coincidentally likely why you can never have it on iOS (interpreted code and all...)

    • dchest 13 years ago

      There's no rule in the App Store against interpreted code that's not downloaded.

      • gecko 13 years ago

        While that's true, the restriction is done in such a way that there'd be no sane way for most people to get their .emacs or equivalent loaded onto the thing, which would make such a port beyond useless. Android's far looser restrictions mean there should be no such issues there.

      • ajross 13 years ago

        So you could have an emacs that... wasn't extensible. Seems pointless. Not that this hack has a lot of point either (a world class editor on a platform without a development toolchain?). Still, more pointless I guess.

        • tesseractive 13 years ago

          Who says there's no development toolchain?

          Terminal IDE and AIDE for Java. SL4A for Python, JavaScript and Ruby. Ruboto. There's a version of Octave now. And I'm sure there's more besides. There are definitely development options on an Android device.

          I've been using SL4A and the Jota editor to teach myself Python (professionally, I'm a .Net developer) on my Nexus 7 and I've been pretty happy with it. I can carry it everywhere, and anytime I have a few minutes to spare I can open up the ebook I've been reading, then go to the editor and/or the immediate window and try some things out. And if I'm at my desk, I can use a hardware keyboard, making things even easier.

          Emacs improves the possibilities even more. At the very least, it's a far better editor than any of the current editors (unless you're a vim fan using Terminal IDE) for any scenario where you need an editor.

          At best, it could get a whole package management system of supporting utilities that are available to it inside its terminal, and becomes a good way to develop with virtually any language that has a compiler that can be ported to Android. Maybe it even gets w3m browser mode, music player mode, and other awesome Emacs-as-OS features.

          • ajross 13 years ago

            I meant there's no standard toolchain. Specifically there's no straightforward way to develop a vanilla Android app in Android. It's not self-hosting in the same way that "real" platforms are; until that is fixed, porting development tools in isolation isn't going to amount to much more than an amusing curiosity.

            • tesseractive 13 years ago

              > Specifically there's no straightforward way to develop a vanilla Android app in Android.

              How is what you want different from what AIDE offers?

              With AIDE, you develop an Android app more or less like you would in Eclipse, and it compiles it and installs it into the system like any other Android app. It's in your application list, and you can run it like any other Android app.

            • hammersend 13 years ago

              How many different ways do you need to be told what to use to develop Android apps on Android? AIDE and TerminalIDE can be used to develop Android apps from start to finish including signing and the whole ball of wax. You can even open up your Eclipse projects and just pick up from where you left off.

        • rbanffy 13 years ago

          An Emacs that's not extendable can be useful. At least, you don't have to make your brain switch modes.

          I've lost the count of how many times I have closed a browser window while trying to cut text.

          • ajross 13 years ago

            I fixed the C-w issue by training myself to always close windows using it (for a while in the Gnome 2 days I was using a custom metacity theme with no title bars or buttons at all). The mode switching goes into your muscle memory and your body starts to recognize the difference between editor and GUI context.

      • FrankBooth 13 years ago

        Really?

        Unless otherwise approved by Apple in writing, no interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s). Notwithstanding the foregoing, with Apple’s prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application.

        That would certainly exclude Emacs.

  • e40 13 years ago

    This is just silly. Emacs isn't an OS. It provides an API to some library and system calls, but it isn't even multi-threaded.

    If your comment was meant as a hat tip to the Symbolics Genera system, that was a full-fledged OS, then there could be debate. I love Lisp and would dearly love to customize my Jelly Bean experience with it, but then we'd need to get into a discussion of what is really better, and 80's OS or Android.

    • T_S_ 13 years ago

      I took it as more of a nod to the old emacs joke (probably told by a vim user): “Emacs is a great operating system; too bad it doesn’t have a decent editor”

    • rbanffy 13 years ago

      IIRC, one of the original goals of Emacs was to replicate the environment of Lisp machines. With that in mind, it could be considered an OS not unlike Smalltalk environments such as Squeak.

      • e40 13 years ago

        IIRC, one of the original goals of Emacs was to replicate the environment of Lisp machines.

        No, that was Stallman working for LMI reproducing all of the Symbolics environment, because he was pissed that MIT sold the rights to work done in the AI lab to Symbolics.

jimktrains2 13 years ago

So? A Vim port's been out for a few months.

https://play.google.com/store/apps/details?id=net.momodalo.a....

/dons my flame-retardant jacket

  • mmahemoff 13 years ago

    And even longer on iPad, but these will only be useful when they can deal with ESC key. Vim without ESC is like Word without mouse.

    • piinbinary 13 years ago

      Some people set it up so that 'jj' (while in insert mode) is equivalent to ESC (or perhaps it was Ctrl-c, I forget). Either way, that would make vim usable with an iOS device's keyboard.

    • hammersend 13 years ago

      Esc works perfectly on Hacker's Keyboard which is just a download away on the Android market.

CmdrKrool 13 years ago

Anyone trying to use this on a device with its own keyboard? eg. http://www.androidauthority.com/best-keyboard-qwerty-android...

Be interested to hear how usable you can make it. Whether you can remap keys or buttons to all the major modifiers.

Emacs 23 on the Nokia N900 is the reason I recently bought that phone even though Nokia is so uncool now and everything (works excellently, BTW).

  • npsimons 13 years ago

    Second this; having Emacs with org-mode, plus git, flymake and Python in the palm of my hand is just awesome. Now, if only I could upgrade the processor and RAM, get better battery life, and get a screen that worked better in sunlight . . .

malkia 13 years ago

It segfaulted here (11). Since the shell was available, ls -l revealed that only directories had +x on them, and none of the scripts. Not sure whether that makes any sense (or simply was not compiled for the right arm architecture).

It does not work from both Nexus 7 Tablet, and Google Nexus phone (latest)

einhverfr 13 years ago

So how do you enter the control sequences?

drcube 13 years ago

Every couple of weeks since I started using Android, I've checked the Play store to see if Emacs was there. So even though I don't know what I'll do with it yet, I'm excited to download the GNU Emacs app.

Anybody have any ideas for what to do with Emacs on a phone?

vinayan3 13 years ago

Good work but I have some issues with the concept. I mean using all the keyboard shortcuts must be a pain. Did they try to make it use the touch interface at all?

pbnjay 13 years ago

Now the editor's kitchen sink also includes phone calls!

laconian 13 years ago

I don't know if I could adapt to Emacs with another input device. Part of being good at Emacs is training your muscle memory. I probably can't even describe half of the inane chords I do unless I was able to observe my hands performing them.

kelvie 13 years ago

Doesn't this have to be open-sourced? Emacs is GPL'd. I might want to help out with the development.

rogcg 13 years ago

We are on the way to start good development on an Android tablet! FTW

samuel1604 13 years ago

seg11 on nexus 7 :(

Create 13 years ago

dupe: http://news.ycombinator.com/item?id=4368237

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection