4 ms·
I'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 t
by thom 6y ago
I'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.
- thom 6y agoI rarely remember commands when I’m typing, I use completion and apropos to remind me, feels like something similar must be possible. Either way, obviously I spend most of my life with hands on the keyboard and I’m not going to make out Emacs isn’t optimised in many ways for that. I just think it’s sad if someone thinks the big ideas in Emacs are just how it handles keybindings, that’s all really.
- kleiba 6y agoYeah, that would be sad. Luckily, I'm not one of these people but at the same time, there's no denying that keyboard is the main modality most Emacs interactions are optimized for. Your example of auto-completion is actually a good argument in favor of keyboard use since I cannot think of any other modality where a similar functionality could easily be implemented. That said, I'm not arguing that keyboard-based interaction is per se superior to any other form of input. But to me, it's undeniable that Emacs is de facto a keyboard-centric editor. And let's not forget the history of the software: it was originally developed when terminal-based interaction was the norm, (wide-spread) use of mice came much later.