5 ms·
ShannonMax: A Library to Optimize Emacs Keybindings with Information Theory
- deleted 8mo ago[deleted]
- lorenzohess 8mo agoThis looks great. Would there be an easy way to generalize this program to tiling window managers? Maybe initially I can use this by modifying the WM to forward all its keybindings to a dummy Emacs instance. For WMs is the entropy theory also applicable?
- sammy0910 8mo agoit should be -- as long as you have like the right logging set up, I think the theory would also be applicable. currently the calculations in this library are done with a clojure jar, so if you're interested, you might have an easier time calling that directly
- oritron 8mo agoSome people use Emacs /as a tiling window manager/ :) https://github.com/emacs-exwm/exwm https://github.com/emacs-exwm/exwm
- Jeff_Brown 8mo agoSomething I love about emacs is the ability to tab complete the name of a command. I do know a lot of keyboard shortcuts, but I use way, way more commands than I know the shortcut for. Need to rename a buffer? M-x ren-buf TAB should do it. Etc.
- setopt 8mo agoMe to, but to be fair, I think this is no longer unique to Emacs. See for example the "command palette" in VSCode; it isn’t "tab completion" per se but similar to e.g. M-x with Vertico.
- goodmythical 8mo agoI was thinking I was crazy...I use command completion in lots of different applications...
- aquariusDue 8mo agoThere's a fun thing regarding Emacs, lots of stuff came first in Emacs and trickled down to other editors or IDEs sometimes in a better form but often times in an inferior or lowest common denominator form. For example while command palettes are a thing in lots of places nowadays Emacs' M-x can be customized in lots of ways i.e. Orderless and prescient.el matching, sorting alphabetically, by recently used or most frequently used and so on. Stuff like terminal panes in code editors again have been a thing for a long time in Emacs though now they're better out of the box in VS Code or Zed. There's lots of LLM and recently agentic stuff in Emacs but it's not as good unless you spend time to configure it for your own workflow. Think mass-market versus artisanal. I don't mention these to simply draw parallels but to contextualize the fact that lots of people using Emacs will go "Yeah, we have had that for a long time!" while also having a blindspot regarding how well the "new stuff" is integrated together for mass-appeal in something like a Jetbrains IDE. See magit which is amazing for advanced stuff that's complicated to do through the git CLI yet the most common git operations are usually better presented in something like Zed for example. Though this sounds like a rant, it's not really meant as one. I'm a happy Emacs user but sometimes I like to branch out and see the UX improvements I'm sometimes missing out on. On that note I'd love Obsidian but with org-mode instead of markdown (though these days I'd settle for djot too).
- BeetleB 8mo agoProbably he's referring to "fuzzy find"? Yes, VSCode has something similar, I believe. But Emacs had it before VSCode existed ;-)
- az09mugen 8mo agoI tried Emacs a bit after using Sublime Text for a while. I'm still using Sublime Text to this day because muscle memory, but the experience got me a deeper understanding of the capabilities of Sublime. While Emacs is profoundly hackable it feels a little bit "rough" on the edges. Sublime feels less hackable but more "clean". I did not get IDEmacs ( https://codeberg.org/IDEmacs/IDEmacs https://codeberg.org/IDEmacs/IDEmacs ) to work but it basically it's an editor I would use. For now fresh ( https://github.com/sinelaw/fresh/tree/master https://github.com/sinelaw/fresh/tree/master ) seems to be very promising. Anyway I traded very happily the command palette Ctrl-Shift-P in Sublime for M-x and few other cool things. Emacs will always have all my respect because of the concepts it introduced.
- tra3 8mo agoAre there any similar tools for the OS as a whole? I'm trying to switch to Corne keyboards and the key maps are critical.
- aghilmort 8mo agothis is great / will try!
- snikeris 8mo agoThis is cool. While we're discussing optimizing emacs keybindings...I've found it key to have my bindings set up such that my thumbs operate the control modifier key.
- kleiba 8mo agoI'm fine with the standard CAPS_LOCK is CTRL setup...
- Pay08 8mo agoI could never get used to that. I should probably try forcing the issue to see if I can rewire my muscle memory, but I'm afraid that it'll be a problem in places where I don't want caps lock rebound to ctrl.
- kleiba 8mo agoI've made it a second ctrl decades ago... you so rarely need caps lock (unless you're shouting on the internet) that it's a gain rather than a loss. Your pinky can rest much more comfortably on the key and you don't have to twist your joint to reach CTRL. Give it another try.
- lozf 8mo agoI like "both Shift keys" to toggle caps lock on the odd occasions it's useful.
- setopt 8mo agoI got a pretty bad case of RSI with that setup, since it encourages one-handed chording (e.g. pressing C-x C-s by holding down your pinkie on Caps Lock while twisting your wrist to tap X then S using other fingers on the same hand). It’s far more ergonomic to do two-handed chording, where you press one key at a time with each hand to the extent possible. For me, that meant using Karabiner Element (Mac) and Keyd (Linux) to map Return to another Ctrl key when held down (in addition to the Caps as Ctrl mapping). Then I can simply hold down Return with my right hand and tap X then S with whatever fingers feel natural on the left hand, without twisting my wrist at all.