From 39163472677ab9619e43607020fd430b8667c2a7 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Sun, 11 Apr 2021 18:37:06 +0200 Subject: Gush about incoming Emacs features --- reviews/emacs/hype.org | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 reviews/emacs/hype.org (limited to 'reviews/emacs') diff --git a/reviews/emacs/hype.org b/reviews/emacs/hype.org new file mode 100644 index 0000000..94a0ead --- /dev/null +++ b/reviews/emacs/hype.org @@ -0,0 +1,85 @@ +Emacs's NEWS files are useful as a searchable reference, but they can +be overwhelming as an entry point. In this file, I'm keeping track of +the changes /I/ am excited about. +* Unmerged branches & patches +** "Pure GTK" Emacs +Some brave souls took it upon themselves to drag Emacs kicking and +screaming into The Wayland Future™. +* 28 +** Transient input methods +*** Background +Input methods make it easier to type in certain classes of characters. +Emacs includes different kinds of methods: + +- alternative keyboard layouts :: if you are familiar with specific + layouts, e.g. Dvorak, French AZERTY, Russian, you can ask Emacs to + switch to this layout; + +- composition :: some methods let you specify characters by typing in + short sequences of other symbols: + - =french-prefix= provides easy access to diacritics with e.g. ='e= + for =é=, =,c= for =ç=; + - =TeX= turns TeX macros such as =\alpha=, =\pi=, =\le=, =\ne=, + =\wedge= into their corresponding characters, i.e. α, π, ≤, ≠, ∧. + +Input methods can be toggled with =C-\=; prefix that with =C-u= to +select a new method. =C-h I = shows what characters +== supports. =C-u C-x == on a character tells you how to +input that character with the current input method ("to input: …"). +*** What's new +The new =C-x \= command enables an input method temporarily, just for +the next character, disables it afterward. + +As an occasional user of the =TeX= method, I find this useful because +I no longer need to choose between +1. enabling =TeX=, typing a sequence, disabling =TeX=, or +2. enabling =TeX=, typing a sequence, keeping =TeX= enabled, getting + bitten by it whenever I type in =oh_no= and that turns into =ohₙo=. + +=C-x \= seems to follow the same rules as =C-\=: +- the first time you call it, it prompts for a method, +- subsequent calls do not prompt, +- add =C-u= to get a prompt back. +** ~same-window-prefix~, ~other-window-prefix~, ~other-frame-prefix~ +The rules which govern how Emacs manages windows are beyond my +reckoning. I know [[https://protesilaos.com/codelog/2020-01-07-emacs-display-buffer/][it is possible to tame them]] with patience and +discipline; still, these new commands appeal to my humble caveman +brain. + +Assuming the command run by key sequence == will display its +own buffer ==, + +- =C-x 4 1 = says "please display == right here, in this + window"; +- =C-x 4 4 = says "please display == in another window"; +- =C-x 5 5 = says "please display == in another frame". + +These new ~other-…-prefix~ commands can be seen as generalizations of +common shorthands such as =C-x 4 f= or =C-x 5 b=. +** Visibility-cycling with =TAB= in outline.el +=TAB= and =S-TAB= now work in Outline mode like they do in Org. Look +at e.g. NEWS (=C-h N=) to see them in action. Customize +~outline-minor-mode-cycle~ to enable this in ~outline-minor-mode~. + +One small, /tiny/ step toward chipping good features out of Org in +order to generalize them. +** ~yank-from-kill-ring~ +I've always been somewhat ambivalent about Emacs's ~kill-ring~: + +1. Everything I ever copied is saved forever! This is a revolutionary + feature on par with the undo system 🙌 + +2. … Surely we can find a more ergonomic UI than =C-y M-y M-y M-y= + /dammit/ =C-_ C-_= /ah screw it/ =C-h v kill-ring RET C-s= 🤔 + +And lo! =M-y= now prompts for the ~kill-ring~ item to yank, with +completion. This makes the ~kill-ring~ so much more accessible IMO. +** repeat-mode +=C-x o o o=! +** ~read-char-by-name-group~, ~read-char-by-name-sort~ +Some very welcome quality-of-life tweaks to =C-x 8 RET=. +* 27 +** ~what-cursor-show-names~ +Most of my uses of =C-u C-x == are to (re)discover how the Unicode +consortium decided some character should be called; having plain =C-x +== give me that information without popping an extra buffer is neat. -- cgit v1.2.3