3 ms·
e is a customizable self-aware Emacs-like editor written in Chez Scheme
- ekr 28d agoWhat does self-aware even mean in this context?
- postepowanieadm 28d agoM-x ?
- nine_k 28d agoFor vi-heads: ":" The key combo that puts you into command mode. M is "meta", which is Alt on PC or Cmd on Mac.
- ButlerianJihad 28d agoThat is incorrect. In vi and vim, "ESC" is the key that puts you into command mode (from insert mode). Command mode is the full-screen visual mode where you enter commands by a sequence of keypresses. ":" is the key which issues "ex" commands. vi and ex are two different modes of the same editor. Any command which begins with a colon is an ex command, not a vi command, not done in "Command Mode".
- gpvos 28d agoTrue. ":" is the rough equivalent to M-x, though. Also worth mentioning is Q , which puts you in ex mode, essentially just ":" prompts one after the other until you exit or issue a "vi" command to go (back) to visual mode. And then there's open mode, but vim doesn't implement that.
- asQuirreL 28d agoThese are all conventions and you can change them, but I'm used to Meta = Opt and Super = Cmd on macOS.
- rmunn 28d agoDoes that interfere with your being able to use Opt for typing key combos to produce Unicode codepoints that aren't usually found on a "standard" keyboard for your country? E.g., accented characters not found in your country's majority language, Greek letters when you don't have a Greek keyboard, mathematical symbols, and so on? It's been a couple decades since I owned a Mac, and I love Linux's Compose key feature, but I remember that Option+key shortcuts were really good for typing a wide variety of commonly-used Unicode codepoints. How does setting Meta = Opt work with that for you?
- asQuirreL 28d agoIt does, yes. It's a reasonable trade-off for me becaues it's rare that I need to do that and if I do, I use [digraph]s in (neo)vim. The alternatives are usually more disruptive for me, (using Cmd as Meta shadows way more commonly used OS-level shortcuts, using Esc as Meta shadows Escape in Vim, and other TUIs). [digraph]: https://neovim.io/doc/user/digraph/ https://neovim.io/doc/user/digraph/
- holgerschurig 28d agoThat is what people use for the Alt key. I mean, I use Emacs daily, and I (mostly) like it. But the terminology *) is really fucked up inside Emacs. Almost no one realizes that perhaps since 35 years no keyboard in mass-use had an "Meta" key. And if the "e" people now still keep that weird name, then they aren't similarly frozen in the state of time as the Emacs community. 1) There's more. Lisp still let bleed assembler instructions that no CPU used in the last 40 years, like CDR and CAR. That's if like e.g. JavaScript would have a cmpxchg() function. also 1) Or it uses "window" in a very different sense. and also 1) and even when the term is what you expect, they -- in best english tradition! -- can't normalize on one writing. You can e.g. find both "assoc" and "assq" in use. So if you want an extremely powerful editor construction kit with an extremely weird nomenclature of parts of it, then chose Emacs.
- rmunn 28d agoGiven the obvious AI vocabulary scattered through the README, I'm hoping it doesn't mean "self-aware" in the HAL sense. `C-x C-c` I'm afraid I can't let you do that, $USER
- klntsky 28d agoM-x doctor
- honr 25d agoHaha, darn it, you threw me into a rabbit hole. I hooked M-x doctor to an LLM, and the funniest thing happened. The little piece of sh*t kept pretending to be emacs's own eliza / doctor. It took like 5-6 turns to convince it that I am okay and don't need the pretend psychotherapist "service" anymore.
- rich_sasha 28d agoWhat is meant to be the selling point over Emacs? Apart from scheme>elisp? Arguably 80% of the emacs goodness is the terabytes of elisp written in the last few decades, if you break compatibility with that you need to throw in something pretty compelling.
- rmunn 28d agoNot the author, but I've heard many people complain about elisp and wish they could have written (name of Emacs package) in Scheme. I mean, there's a reason why the https://www.emacswiki.org/emacs/WhyDoesElispSuck https://www.emacswiki.org/emacs/WhyDoesElispSuck page exists (HN discussion at https://news.ycombinator.com/item?id=41347697 https://news.ycombinator.com/item?id=41347697 (2024)). But what's the point of porting (package name) to Scheme if there isn't an editor in Scheme? So that's my guess as to the motivation: solving the chicken-and-egg problem of wanting an Emacs written in a nicer-to-work-with Lisp dialect. Maybe the author will come along and prove me wrong; this is just my guess.
- tommyage 28d agoChapter 12.2, Guideline 1: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1... Program names should be between 2 and 9 characters; As a thing to consider. Also, searching for `e` may be weird.
- noufalibrahim 28d agoOn my machine, e is just a way to send things into Emacs. $ which e e () { snippet="(nkv-find-file-and-jump \"$1\")" emacsclient --no-wait -e $snippet }
- sammy0910 28d agocan you confirm whether this is ai-written or human driven?
- rmunn 28d agoCould you clarify what you mean by "human driven"? It's clear from the AGENTS.md and the AI-sounding vocabulary of the README that this is in part written with LLMs. But what exactly are you asking? Are you asking "Was this vibe coded, or was it carefully crafted with a human making most of the design decisions and the LLM used mostly as a quicker alternative to typing in all the code"? Or are you asking something else? (I'm not the author of the software, BTW, so I can't actually answer your question. But I found it ambiguous and thought it was worth asking for clarification).
- sammy0910 28d ago"Was this vibe coded, or was it carefully crafted with a human making most of the design decisions and the LLM used mostly as a quicker alternative to typing in all the code"? yes. I want to know how much thought and effort was put into it.
- sph 28d agoIn all likelihood, less thought went into this than if the author had to think, design and code their entire application by hand. Unless you're Terence Tao, LLMs are used to cut corners.
- throwemacslike 28d agoIt's human-assisted sir.
- agumonkey 28d agopretty cool to read the source and interact with a bare lisp based editor (emacs has decades of culture baked in so it's hard to appreciate)
- paveluv 27d agoHi! Author here. Thanks for the attention :) I created e for fun. It’s self-aware because it’s aware of its internals (like all other Lisp based editors). After all, how do you define “self-aware”? :) It’s “fully configurable” because its code is just a big configuration (code is data :). I obviously used AI agents, but I’m the author. AIs are Turing machines - they don’t author anything, in the same way as Emacs doesn’t author programs you write with its help. Chez Scheme is great! I bumped into it while learning Idris 2, which uses it as a default backend.