Live data from Hacker News

Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

github.com

11–20 of 57 posts

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#11
post #7

Earlier quoted context omitted.

ST's command palette is a descendant of M-x in emacs.

Tangent: any tips on how to make the M-x line more usable, similar to a command palette? I just got started with Emacs, and the archaic terminology and inconsistent naming is causing me to have to consult StackOverflow for basic things like “what are the copy and paste commands called?”. (Those were probably both in the tutorial, but I already forgot them a few times.) I’m aware of “apropos”, but it also uses antiqua…

I use ivy-mode. Apparently it's not the cool thing anymore, but I use it because it's simple and it works. With ivy-mode enabled, anything Emacs asks you that has a list of options -- so, M-x, file selection, buffer selection, etc. -- will pop up a little menu right in your minibuffer. It should be available in ELPA, with a more recent release in MELPA.

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#12
post #7

Earlier quoted context omitted.

ST's command palette is a descendant of M-x in emacs.

Tangent: any tips on how to make the M-x line more usable, similar to a command palette? I just got started with Emacs, and the archaic terminology and inconsistent naming is causing me to have to consult StackOverflow for basic things like “what are the copy and paste commands called?”. (Those were probably both in the tutorial, but I already forgot them a few times.) I’m aware of “apropos”, but it also uses antiqua…

> I’m aware of “apropos”, but it also uses antiquated terminology

can you clarify 'antiquated' for me please

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#13
This is an heir to a long history: many keyboards did not have a meta key (in fact had only a seven bit connection to the host) so you could type escape as a way of saying “treat the next keystroke as having its meta bit set”.

And escape itself was just a fallback for altmode if all you had was an ascii terminal.

On a standard MIT-AI TV keyboard (Knight keyboard) you could type M-Altmode to get a minibuffer and just type some TECO for immediate execution — if you wanted to cancel you you’ll press escape, which was the original semantics of “escape” anyway. Compressing that to a standard ASCII character set probably made emacs a little more obscure for people who didn’t have a mental model of using it on a more capable keyboard.

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#14
post #13

This is an heir to a long history: many keyboards did not have a meta key (in fact had only a seven bit connection to the host) so you could type escape as a way of saying “treat the next keystroke as having its meta bit set”. And escape itself was just a fallback for altmode if all you had was an ascii terminal. On a standard MIT-AI TV keyboard (Knight keyboard) you could type M-Altmode to get a minibuffer and just…

Indeed. A really easy way to test this out on a modern Unix-ish system is to launch a terminal emulator, run cat, and then type Alt+a followed by Esc a. And then for bonus, type Ctrl+[ a. The output should look like this:

  $ cat
  ^[a^[a^[a

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#15
post #7

Earlier quoted context omitted.

ST's command palette is a descendant of M-x in emacs.

Tangent: any tips on how to make the M-x line more usable, similar to a command palette? I just got started with Emacs, and the archaic terminology and inconsistent naming is causing me to have to consult StackOverflow for basic things like “what are the copy and paste commands called?”. (Those were probably both in the tutorial, but I already forgot them a few times.) I’m aware of “apropos”, but it also uses antiqua…

In the old days, we wouldn't dream of taking up a new editor without first printing out a cheat sheet for it, to have lying next to the keyboard for the first few days.

Yeah I know, archaic terminology: 'printing'. It's a thing we used to do.

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#16
post #12

Earlier quoted context omitted.

Tangent: any tips on how to make the M-x line more usable, similar to a command palette? I just got started with Emacs, and the archaic terminology and inconsistent naming is causing me to have to consult StackOverflow for basic things like “what are the copy and paste commands called?”. (Those were probably both in the tutorial, but I already forgot them a few times.) I’m aware of “apropos”, but it also uses antiqua…

> I’m aware of “apropos”, but it also uses antiquated terminology can you clarify 'antiquated' for me please

Here’s an example:

M-x, “apropos”, RET, “copy text”

No apropos matches for “copy text”

Using just “copy” returns two undocumented variables first. I did eventually find kill-ring-save, but it took more digging than I’d like. Obviously if I embraced (or at least remembered) Emacs’s terminology I’d have a better experience, but I’m not there yet.

Edit again: “copy selection” found copy-region-as-kill, which is maybe what I should have searched for originally. Not sure yet how it differs from kill-ring-save.

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#17
post #12

Earlier quoted context omitted.

> I’m aware of “apropos”, but it also uses antiquated terminology can you clarify 'antiquated' for me please

Here’s an example: M-x, “apropos”, RET, “copy text” No apropos matches for “copy text” Using just “copy” returns two undocumented variables first. I did eventually find kill-ring-save, but it took more digging than I’d like. Obviously if I embraced (or at least remembered) Emacs’s terminology I’d have a better experience, but I’m not there yet. Edit again: “copy selection” found copy-region-as-kill, which is maybe wh…

OK, fair enough

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#19
This could be done more cleanly in keyboard firmware.

I recovered from a deep dive into mechanical keyboards by trying Topre switches, the obsession killer. I now have four Leopold FC660C keyboards with Hasu FC660C controllers, with custom QMK firmware.

After many experiments, I've been won over by making every key near home row a "tap / hold" key. Tap for usual keystroke, hold as a modifier to access a custom keyboard layer with the other hand.

This is an empirical question. I've learned chording keyboards. I had the original FingerWorks TouchStream multitouch keyboard, tech which Apple turned into the iPhone. I've owned various ergonomic and small keyboards. I've tried many versions of my own firmware. I learned Dvorak on a one-handed half keyboard, and experienced the miracle of knowing how to type Dvorak both hands with no practice. Brain plasticity is very important to me; I've tried everything I can.

"One finger each hand, near home row" is stripped down chording that wins hands down over any other typing system I've ever tried. Taking advantage of the quadratic address space (versus a linear multiple using a fixed set of modifier keys), I control every aspect of my computer this way.

"Control-Xylophone" has kept me from ever accepting Emacs. I should write a two finger chording interface to Emacs, in the spirit of Devil Mode.

Leopold FC660C Mechanical Keyboard https://mechanicalkeyboards.com/shop/index.php?l=product_det...

Hasu FC660C Controller https://1upkeyboards.com/shop/controllers/fc660c-controller/

Re: Show HN: Devil Mode: A twisted Emacs key translator for modifier-free editing

#20
post #12

Earlier quoted context omitted.

Tangent: any tips on how to make the M-x line more usable, similar to a command palette? I just got started with Emacs, and the archaic terminology and inconsistent naming is causing me to have to consult StackOverflow for basic things like “what are the copy and paste commands called?”. (Those were probably both in the tutorial, but I already forgot them a few times.) I’m aware of “apropos”, but it also uses antiqua…

> I’m aware of “apropos”, but it also uses antiquated terminology can you clarify 'antiquated' for me please

Yank instead of paste. Frame instead of window. Kill instead of delete. kill-ring-save instead of copy.

I was going to add 'visit instead of open', but I guess that bit has changed over the years. C-x C-v no longer invokes 'visit-file'.

Post reply on HN