6 ms·
Kinda strange. Emacs is so inherently keyboard-focused that I fail to see the point of this... nor the need for it?!
by kleiba 6y ago
Kinda strange.
Emacs is so inherently keyboard-focused that I fail to see the point of this... nor the need for it?!
- trey-jones 6y agoYeah, the main reason I started using Emacs was to try and eliminate (or reduce, I suppose) mouse usage.
- kleiba 6y agoYes, I've been running Emacs in the terminal almost exclusively for pretty much the same reason.
- thom 6y agoI'm not sure this is true. Emacs is fundamentally command driven - everything is a command, and can be invoked, edited or replaced the same way. What triggers those is obviously key bindings for a lot of people but it's not really what makes Emacs powerful or extensible. People have diverse needs when it comes to wanting to interact with a computer, and it's great that Emacs's flexibility allows them to.
- kqr 6y agoI agree. Vim is inherently keyboard-focused. That Emacs is not, and instead focuses on the command as the fundamental unit driving everything, is its primary strength. This is what makes Emacs more flexible than Vim to the point where there's a very faithful reimplementation of Vim for Emacs. Couldn't do the opposite, even if you wanted to.
- JadeNB 6y ago> This is what makes Emacs more flexible than Vim to the point where there's a very faithful reimplementation of Vim for Emacs. Couldn't do the opposite, even if you wanted to. This claim seems at least suspect to me. Vim scripting isn't fun, and vim certainly isn't centred around it like emacs is, but it's possible. Usually making this claim would challenge people to solve it themselves, but I suspect that vim users care significantly less about welcoming emacs users into their environment than vice versa. (Also, the various vim implementations in emacs are almost-but-not-quite there, to the point that I believe really experienced vim users fall into an uncanny valley.)
- kleiba 6y agoIt is true that commands are at the heart of Emacs but as soon as you move beyond very basic use, invoking commands in ways other than through the keyboard becomes impractical. I'm not only talking about keyboard shortcuts but also about the fact that a lot of these commands actually take parameters that would be difficult to provide by mouse. Emacs out of the box comes with a menu system. This is very good and useful for newcomers because it not only gives a familiar feel, it also helps discovering functionality. However, it is no coincidence that a lot of power-users turn off menu and toolbar, as evidenced e.g. by Steve Yegge's "effective emacs" tips (https://sites.google.com/site/steveyegge2/effective-emacs#item7 https://sites.google.com/site/steveyegge2/effective-emacs#it...). Now, not every user is a power-user, there is of course a spectrum, but to me it is fairly clear that the way Emacs is designed, mouse-based usage would be a limiting factor.
- thom 6y agoI too turn off the menu and toolbar in Emacs, and I'm not saying the setup in the article sounds good to me for that or any editor. But to give you an example of why I think it's an important point, I would absolutely love to be able to issue commands by speech, for example, for things I don't use very often, or just never remember what I've bound them to (or even for stuff I don't remember the name for). Some people _have_ this setup, I've just never invested the time. But it's possible because fundamentally Emacs is a platform first and an editor second. I doubt it would be a very popular platform without the ability to make keybindings, but you nevertheless you could still build useful apps on top of it, and I find that quite interesting.
- kleiba 6y agoThere's still a difference though between a setup that uses keyboard + speech vs. one that mixes keyboard and mouse. For instance, you don't have to take your hands off the keyboard to issue a speech command. Also, there's a fundamental usability difference between voice input and mouse input in that the strength of menus+mouse lies in the fact that a user does not have to remember the exact command, it can be looked up / navigated to. For speech, you have to remember the command just as you do when using M-x <command> in Emacs right now -- unless you're thinking of a fully fledged spoken dialog system type of interface that would allow interactive descriptions.
- mrspeaker 6y agoI use Emacs as my primary... everything. But I totally see the point and need for mouse-driven functionality. Emacs only works if you have two functioning arms with hands on them. Put a coffee, a sandwich, a cat, a kid, a beer... in one of your hands, and Emacs is unusable. If my cat wants some attention, I can't keep typin' stuff. Though, not sure why the mouse-driven features are also wrapped up making shortcuts match VS-Code etc. That makes it a lot less useful.
- macintux 6y agoI was looking at a recent HN post about chording, and it struck me I'd have a hard time using a chording keyboard with Emacs. This might address that problem for me.
- kleiba 6y agoIf you can't type, I'm not sure the mouse is going to get you much ahead either ;-) But it's true that there might be a certain class of users with impediments for which a different input modality setup could be very beneficial. However, note that standard Emacs already provides menus and mouse support, it's just not what is commonly the focus of the editor.
- JetSetWilly 6y agoEmacs has thousands of shortcuts for every conceivable piece of functionality. Personally, I will remember shortcuts for commonly used things - and all the other functionality may as well not exist if it is not easily discoverable. A gui is a nice way to make a lot of functionality discoverable.
- fluffything 6y ago> may as well not exist if it is not easily discoverable. But it is easily discoverable ? I literally just do M-x and can I get a buffer open with _all_ emacs commands and their explanation, and can do a fuzzy search on that, e.g., so if I type "M-x align re" I get only one command highlighted that can just execute "align-regexp". That's the main thing I like about emacs. I don't have to remember a million shortcuts, just what things are possible, and then I just type a description of what I want to do and hit enter and that's it. A GUI / having to use the mouse would push me completely out of "the zone".
- JetSetWilly 6y agoThat's cool if you can remember roughly what the command is called. For example, I wanted to format some XMl in a buffer. In a GUI, I'm fairly sure I could find this easily, in emacs it is "go to google" and find out that you want sgml-petty-print or whatever. So a bunch of M-x searching for "format" is hopeless. Emacs tends to have its own names for many concepts, making things even more obtuse.
- BeetleB 6y agoIn about 70-80% of the cases, using ido or helm, with some guesses on what the command name may contain, is enough to find me what I need. But yes, to be frank, my productivity in Emacs really took off once I started memorizing things with flashcards. I currently have 603 cards for Emacs (including elisp). (And telling a newbie that would cause a lot of despair!)[2] The other thing that really helped is I started using/making hydras.[1] So now when I encounter a new, interesting mode, instead of memorizing lots of command names or keybindings, I just build my own custom menus. [1] https://github.com/abo-abo/hydra https://github.com/abo-abo/hydra [2] But it really shouldn't. Emacs, with all its packages, and modes, is like a language with all its libraries, and not just the standard ones. Remembering all the commands/keybindings is akin to expecting someone to know all the APIs in all the libraries. It's OK if you don't. Most people don't.
- sn41 6y agoI have Emacs pinkies - I see the value in similar efforts. I will try this out for some time to see if it actually helps. But muscle memory is a thing for me, it is hard to undo 20 years of Emacs habits.
- cobbzilla 6y agoI always remap Caps-Lock to be an extra Control key; this has really helped me avoid repetitive stress injuries over the years.
- mrspeaker 6y agoA weirder one for me that I like now: my RIGHT pinky has been hurting recently. Not sure if it's emacs fault, but I've been using "Enter/return key as CTRL when held"... When you hit return it's normal return key, but if you just hold down return it acts like control! It was weird at first, but now it's awesome - especially useful on a Mac lappy that has no right ctrl key.
- stragies 6y agoTake it a step further: Remap CapsLock to be 'Escape' when pressed&released, and 'Control' when held. Easily configurable under Linux with xcape, and (iirc) karabiner for Mac. For Wayland there is also a tool.
- figgyc 6y agoThe file browser on the left and the general design of it makes me lean towards the author intending this to replace VS Code and other modeless, less keyboard focused editors, not regular Emacs, which I can see the value in because Emacs being written in C and Lisp is probably a lot more performant and lean, plus a lot of people are opposed to Electron apps in general.
- melling 6y agoEmacs is an editor construction kit. Use your imagination and build a different editor.
- Koshkin 6y agoBuilding and maintaining an “emacs distribution” (even for a single user like yourself) is a huge effort which is rarely worth it.
- waluigi 6y agoI would push back against this. There is definitely a pretty steep learning curve, but once you are over it you really start to reap the benefits of being able to rapidly add niche functionality that exactly fits your workflows.
- vvillena 6y agoWhy not? Some things make a lot of sense, like the context menu. The current right-click behavior just sets the text selection mark. This doesn't make much sense anymore: every other editor uses click and drag to select text using the mouse. This frees the right mouse button, and a context menu makes lots of sense. Emacs is a highly complex software, which is then customized with lots of modes. Making functions accessible via a context menu would be awesome for both usability and productivity. The menus could be easily customized to further improve user workflows. As for the rest: maybe some of the features are nice to have. I don't really care for tabs, and standard shortcuts are usually a non-issue, since everyone ends up using whatever they prefer ("standard", Emacs, or Vim). In any case, most advanced functions are usually accessed by name, whatever the editor. The important takeaway is that every Emacs user should acknowledge the fact that the mouse is underutilized. We may not need it, but it's a huge barrier to overcome for new users.
- kleiba 6y agoEmacs of course has long supported menus but I think every serious user would agree that it's not necessarily a love child. I agree with you that it is the strength of menus in general that they allow for easy discoverability of functionality. However, at the same time, Emacs provides other ways to the same end. Simple interfaces are especially useful for newcomers, I agree to that point as well. At the same time, most power-users of Emacs do not use the mouse at all. While not everyone aspires (or even should aspire) to become an Emacs power user, the question might be asked at what point it would be wise to switch from mouse-based use to keyboard-based use as you progress? Does it even make sense to first learn an interface you're better off ditching at some point as your expertise raises?
- vvillena 6y agoIt makes complete sense to start using the mouse, and to keep improving our own workflows over time. Take the Mac interface: it's built in a way that allows users to just use the mouse, but everything is accessible via keyboard shortcuts. One of the key features of the Mac is the constant feedback the user gets, and the fact that this feedback is always the same, whether the user uses the keyboard or the mouse. Animations, selections, menu highlight when invoking actions... It's a very well-thought experience that makes things better for all kinds of users.