Any knows an alternative to that runs in the terminal and that is fast?

Thanks for all your replies. It is warm. I will keep emacs around for the time being 🌼

@mdhughes I would love to see a video of ed. The thing is I am wondering how one can use that kind of editor. It does not look very practical.

@zig @mdhughes I never used ed, but I used a line-numbered BASIC with no full-screen editing ability, and I used a line-based editor in Genesis. We get used to jumping around visually using the mouse or arrow keys in full-screen editors, but the Emacs convention for power users is supposed to be interactive search, and with vi you use absolute and relative line numbers. Both of these conventions work well with a line-based editor.

@freakazoid @mdhughes @zig i second this. im young and grew up with the convenience of graphical interfaces, but as an experiment spent a month with ed. i got used to it in about a week, and was pretty fine after that.

@twee @mdhughes @zig My dad used a full screen editor that worked on a completely different paradigm because it was designed for block-based terminals: xedit. It had a "tray" along the left hand side where you'd mark the lines you wanted to operate on, and then it would do all your operations at once before re-displaying the whole section of the file.

@freakazoid @zig @mdhughes so like multiple cursors but for line based editing?

that... sounds both terrifying and highly desirable.

@mdhughes @zig The trick is that you're really working on a block at a time, because it's easy to list the lines around the one you're working on. That's usually what we're doing in the full-screen editors, because only so much fits on the screen.

It encourages better code style, too; long functions and deeply nested curly braces are a pain to deal with in a line editor.

@freakazoid @mdhughes I rely on interactive search. ed seems too rudimentary.

@zig @freakazoid All you need to type to search for a Regular Expression is /RE/ or // to search again.

You want grep? ed *is* grep: g/RE/p is the command to search for RE and print all matching lines.


I did actually program with something very similar or with actual `ed` for many years, before stevie (Atari ST vi, which inspired elvis, which inspired Vim).

It's really not bad, you just need to think about your program first, then code, not the other way around.

@zig emacs can run in the terminal if you pass it the -nw flag (no window). mg is a minimal emacs clone that is cli-only and doesn't have a lisp embedded in it, thus is much faster.

@zig edwin is an emacs implemented in MIT scheme, which is also extensible using it.

@zig depends what you mean by an alternative to emacs. mg if you want keybindings, but you lose all of the extensibility.

obviously there's vi/m. vis is also fast, significantly better than vim in a fair few ways, and extensible in lua (although doesn't agree with the emacs as a unified interface philosophy).

textadept and mle are also both extensible in lua i believe, and aren't modal (so you might prefer them coming from emacs?). i only used textadept briefly, but mle is very fast.

there's also kakoune, which is modal and vim-inspired but switches the order of nouns and verbs to make the editing experience feel more interactive. it also uses the alt key a lot, so as an emacs user you might approve ;) it doesn't have a built in extension language, instead encouraging users to outsource to whatever their preferred programming language is.

oh and obviously nano. need i say more?

they're all the ones i can think of off the top of my head. i think all of them can be good for power users, having used all of them at least semi extensively (except for textadept).
Sign in to participate in the conversation
Functional Café is an instance for people interested in functional programming and languages.