Live data from Hacker News

Emacs is the 2D Command-line Interface

hongchao.me

21–30 of 180 posts

Re: Emacs is the 2D Command-line Interface

#21

This is pretty tangential, but I don't understand why there isn't a roguelike framework available for Emacs. It seems like the perfect roguelike platform for playtesting and hacking on and would on-board a lot of new people into the Emacsen ecology without any real difficulty. The standard roguelike library libtocd has bindings for every other language--why not elisp?

There is dungeon-mode [0]. (I spotted this over on r/emacs [1], and it's on the FSF directory [2])

[0] https://github.com/dungeon-mode/game

[1] https://old.reddit.com/r/emacs/comments/jar7tz/dungeonmode_f...

[2] https://directory.fsf.org/wiki/Dungeon-mode

Re: Emacs is the 2D Command-line Interface

#22
post #20

So is vim? Not to rehash the same battle that’s likely older than most of us are, but both emacs and vim are text editors taken to their logical conclusion. Both can do pretty much the exact same thing as each other, if only because some neckbeard in the 80s wrote that feature to score points in the great vim/emacs saga.

Emacs is an elisp execution environment that by default executes some elisp that is useful for editing text. Vim is... a text editor.

Vim is... an extensible text editing language.

Re: Emacs is the 2D Command-line Interface

#23
As an Emacs and Lisp lover, the description of text-based tools and the power of using text to me just screams why something like Lisp is so powerful: homoiconicity. (And at least one big difference for elisp compared to Bash.) To quote Wikipedia [0] for anyone unfamiliar with the term, as I was until learning some Lisp:

"A language is homoiconic if a program written in it can be manipulated as data using the language, and thus the program's internal representation can be inferred just by reading the program itself. This property is often summarized by saying that the language treats "code as data"."

[0] https://en.wikipedia.org/wiki/Homoiconicity

(Edit: and if you want a good terminal emulator, you have eshell (emacs-y), ansi-term, and my current fave vterm [1])

[1] https://github.com/akermu/emacs-libvterm

Re: Emacs is the 2D Command-line Interface

#24
post #7

Earlier quoted context omitted.

The way I see it, emacs is really an idea. Vim is a text editor that grew into an ecosystem of people bolting on additional functionality. While extensibility is possible, it's nowhere near as transparent and consistent as the emacs environment. In fact no system I know of comes even close. Emacs paved the way for the features we take for granted in graphical applications like undo, copy+paste, search, find+replace,…

If emacs adopted vim-like keybindings early on the war would have ended. It's the only reason I stick with vim, and I suspect I'm not alone. Yes, yes, evil mode and whatever, but it's not seamless - you still have to get familiar with emacs keybindings.

I am not sure. Sure with deamon mode and lazy loading emacs can be really fast to start up and open files nowadays, but the old joke was EMACS stood for "eights megs and constantly swapping". Evil mode is just the more recent iteration of vim keybindings in EMACS that go all the way back to modes like viper mode.

Re: Emacs is the 2D Command-line Interface

#26
post #20

So is vim? Not to rehash the same battle that’s likely older than most of us are, but both emacs and vim are text editors taken to their logical conclusion. Both can do pretty much the exact same thing as each other, if only because some neckbeard in the 80s wrote that feature to score points in the great vim/emacs saga.

Emacs is an elisp execution environment that by default executes some elisp that is useful for editing text. Vim is... a text editor.

So what? This is exactly how I want vim: as a text editor.

Re: Emacs is the 2D Command-line Interface

#27
post #23

As an Emacs and Lisp lover, the description of text-based tools and the power of using text to me just screams why something like Lisp is so powerful: homoiconicity. (And at least one big difference for elisp compared to Bash.) To quote Wikipedia [0] for anyone unfamiliar with the term, as I was until learning some Lisp: "A language is homoiconic if a program written in it can be manipulated as data using the languag…

I've been hearing the "code is data" mantra often, but the reason I never thought this was a desirable property is that it seems trivial to define any number of languages as their own AST. But there is a good reason that we don't program by writing out ASTs - it's relatively hard to read and manipulate. Does the Lisp implementation just happen to be particularly readable?

Re: Emacs is the 2D Command-line Interface

#28
post #7

Earlier quoted context omitted.

The way I see it, emacs is really an idea. Vim is a text editor that grew into an ecosystem of people bolting on additional functionality. While extensibility is possible, it's nowhere near as transparent and consistent as the emacs environment. In fact no system I know of comes even close. Emacs paved the way for the features we take for granted in graphical applications like undo, copy+paste, search, find+replace,…

If emacs adopted vim-like keybindings early on the war would have ended. It's the only reason I stick with vim, and I suspect I'm not alone. Yes, yes, evil mode and whatever, but it's not seamless - you still have to get familiar with emacs keybindings.

Emacs was 21-ish when vim came along

Re: Emacs is the 2D Command-line Interface

#29
post #7

Earlier quoted context omitted.

The way I see it, emacs is really an idea. Vim is a text editor that grew into an ecosystem of people bolting on additional functionality. While extensibility is possible, it's nowhere near as transparent and consistent as the emacs environment. In fact no system I know of comes even close. Emacs paved the way for the features we take for granted in graphical applications like undo, copy+paste, search, find+replace,…

If emacs adopted vim-like keybindings early on the war would have ended. It's the only reason I stick with vim, and I suspect I'm not alone. Yes, yes, evil mode and whatever, but it's not seamless - you still have to get familiar with emacs keybindings.

It they do a vim emulation that is good enough, then Emacs will eventually vanish... everyone will effectively use vim on different implementations.

Re: Emacs is the 2D Command-line Interface

#30
post #7

Earlier quoted context omitted.

The way I see it, emacs is really an idea. Vim is a text editor that grew into an ecosystem of people bolting on additional functionality. While extensibility is possible, it's nowhere near as transparent and consistent as the emacs environment. In fact no system I know of comes even close. Emacs paved the way for the features we take for granted in graphical applications like undo, copy+paste, search, find+replace,…

Discovering emacs on OS X Tiger was my first true introduction to the power of TUI/CLI. I use vim now, and Atom with vim bindings, but I have to agree that there’s something special about the spirit of emacs.

Emacs is a good programming environment, but it's a bad editor. They should have spent a little more time thinking about decent keybindings.
Post reply on HN