Idea: next generation emacs: Difference between revisions

From razwiki
Jump to navigation Jump to search
(Created page with "I'm not the first to think of this, but it's worth putting down on paper my thoughts here. Let's start with a problem statement. You open emacs, it takes a while, then it sho...")
 
No edit summary
 
Line 3: Line 3:
Let's start with a problem statement. You open emacs, it takes a while, then it shows this super tiny ui that has a janky button feel and confusing keyboard nav. The keyboard shortcuts are totally out of line with OS-standard keys. The customization language is emacs lisp.
Let's start with a problem statement. You open emacs, it takes a while, then it shows this super tiny ui that has a janky button feel and confusing keyboard nav. The keyboard shortcuts are totally out of line with OS-standard keys. The customization language is emacs lisp.


[[File:Emacs default UI on windows.png|thumb|look at this shit]]
[[File:Emacs default UI on windows.png|thumb|look at this shit]]Yet it's the best IDE I've used, because it's so configurable.

Let's focus on a couple specific issues.

Date representation. For example you call `(current-time)` and you get a list of 4 numbers, `(25598 19903 350786 0)`. Like what a simple object representation system. (simple is good tho right? ;) Ok but actually date representation doesn't matter much, it's an editor after all...

Since emacs lisp is such a bespoke language, it doesn't have a standalone interpreter support / library for evaluating expressions. You gotta open up emacs itself.

But you can access a standalone emacs repl like so:

`emacs -nw --eval '(ielm)'`

but then the standard keybindings to get to the last input etc don't work, you have to use m-n and m-p (https://lists.gnu.org/archive/html/help-gnu-emacs/2020-12/msg00678.html) or you can rebind it. So we start looking down the rabbit hole of emacs customization just like that!

Latest revision as of 23:55, 28 February 2023

I'm not the first to think of this, but it's worth putting down on paper my thoughts here.

Let's start with a problem statement. You open emacs, it takes a while, then it shows this super tiny ui that has a janky button feel and confusing keyboard nav. The keyboard shortcuts are totally out of line with OS-standard keys. The customization language is emacs lisp.

look at this shit

Yet it's the best IDE I've used, because it's so configurable.

Let's focus on a couple specific issues.

Date representation. For example you call `(current-time)` and you get a list of 4 numbers, `(25598 19903 350786 0)`. Like what a simple object representation system. (simple is good tho right? ;) Ok but actually date representation doesn't matter much, it's an editor after all...

Since emacs lisp is such a bespoke language, it doesn't have a standalone interpreter support / library for evaluating expressions. You gotta open up emacs itself.

But you can access a standalone emacs repl like so:

`emacs -nw --eval '(ielm)'`

but then the standard keybindings to get to the last input etc don't work, you have to use m-n and m-p (https://lists.gnu.org/archive/html/help-gnu-emacs/2020-12/msg00678.html) or you can rebind it. So we start looking down the rabbit hole of emacs customization just like that!