It's one of the best designed packages I've seen. Except 'repeat' that was horribly broken last time I checked but can be fixed by using the repeat-fu package. Manages to cleanly implement the kakoune model in an incredibly flexible manner and without interfering with anything else.
I still have my meow config, but currently disabled. The kakoune model is definitely what you're looking for if your desire is to edit text with the fewest keystrokes, it's far better than vim. I think the vim model is better, though, because motion-as-selection is fundamentally exhaustive, and in vim, by the time you realize what you're going to do, you go into operator pending mode (e.g. pressing d) and the next keystroke also feels obvious, while in meow you may have to reset the selection by doing some movement.
What works best for me is no modal editing at all. Definitely requires the most keystrokes, but that's not a limiting factor for me. It just feels nice never having to think about modes or constantly pressing Esc, and instead navigating with a mixture of default Emacs keybinds and great, joyous to use packages like Avy, smartparens, tempel and combobulate. Meow's KEYPAD is also not really helpful, it does save some keystrokes but doesn't make anything easier to remember or reach for. For the commands that it is worse, it is much worse.
> What works best for me is no modal editing at all.
I used vim for 8 years and after switching to Emacs, realized that I'm the same. I was spending way more time (in vim) thinking about (to borrow another commenter's metaphor) how I was going to play the notes than what notes I was going to write.
I’m in the same boat. I’ve internalized Vim keybindings so much that there’s no friction between thinking and doing on the screen. If I want to place the cursor on the next line, move to the end and add a semicolon, then jump to the end of the file, I just do it. My pet theory is that because Vim keybindings are unintuitive, developing proficiency required building muscle memory, which offloads cognitive load from my brain to my fingers so text editing becomes mechanical rather than cognitive.
Had a similar experience, tried to switch to Meow twice, it's really nice in most ways.
But I found lack of vim-style repeat and accidental "dropping" the selection to be so unwieldy that I couldn't stick to using it.
Ended up writing an alternative to Meow which addresses the issues I had.
I gave Meow a fair shake a year or so ago. I'd say it's currently the most robust mode for implementing Kakoune or Helix-like bindings in Emacs, but you can customize it to be like vim or anything else. It's more lightweight than evil-mode. At present, however, I'm not using modal editing in emacs; just lots of Meta-key shortcuts for movement and a hydra with a key-chord for common commands.
I really wish it had a first-class visual mode. Meow's way of handling selections went over my head and I had to drop it since I rely heavily on visual mode for visual feedback. Other than that the package is very neatly designed and didn't create too heavy an abstraction over the usual emacs experience.
I have god-mode installed, but I've basically forgot about it as Emacs have a different model of editing than Vim.
With Vim, text editing feels like playing the piano. For every action, you compose a sequence of bindings and execute on it. It is really a language of editing.
Emacs feels more like blacksmithing, hammering the text into a proper shape. There's no composition, you just select the correct tools and applies it. And emacs have a lot of those tools.
god-mode is my modal editing of choice. I usually use it to scroll and read through and select files. It works especially well with read-only buffers in my experience.
It's really cool to see this and other recent experimentation towards breaking past the local maximum of modal editing we've been in since Vi. Really neat stuff!
Is there someone who's gone from Emacs style to modal editing who could sell the idea to me? I just don't see the point, personally.
When I was looking for my text editor 15 year ago I did try vim first because it was the hipster choice back then. I really tried and told myself it would be like learning a new language or something: it sucks today but one day I'd be talking the language of text editing.
It didn't seem to be happening so I tried Emacs instead. As soon as I disabled the awful GUI stuff my love affair started. It all just made complete sense. Key "chords" just work for my brain. I must know hundreds of them without really trying. And Emacs's version of a "mode", as in major modes and minor modes, is just perfect (I think other editors like VS Code have copied this aspect).
I've tried evil mode since but I still just don't see the point. Other than Emacs pinky (which is mostly solved by the caps/ctrl key switch) is there any other advantage at all?
If you're having to use Caps lock as control, modal editing is probably worth it. The one thing that makes non-modal editing far superior to modal, for me, is how easy it is to reach my Control key, as the palm of my left hand is always hovering over it and I learned to press it with my palm without having to ever move my fingers or hitting the wrong key.
I think the vim model in particular is great in terms of becoming muscle memory in like, a few months. It saves a few keystrokes compared to Emacs specially if you're counting Control as a key press. Navigating is a tad nicer with hjkl being next to each other. Having to press Esc after each edit just sucks though.
I've used Emacs for 30 years. In the very beginning swapped capslock and control. After 20 years started to have minor problems with the pinky. A lot of keyboard use. Did not like evil mode for several reasons. It meant a lot of configuration and relearning commands. Tried out god-mode for a short while, but had some sharp edges, and went back to normal. Retried god-mode with more effort to make it work for me and never looked back. At that point it took a long time to get everything to muscle memory, though. Maybe two months to feel ok and years to feel good.
I use "i" to get into editing mode (normal emacs mode) and control-backspace to get to god-mode. I mostly use searching for moving in the buffers. In god-mode it means pressing "s" and then typing the search text with enter marking the search text completion. Then I use "." to search forwards and "," to search backwards. If I want to search for the word(s) at point, I do "s" and "enter" and then "j" to grow the search word, word by word. When ready, again "." searches forwards and "," backwards.
The most common operations, like changing buffers and emacs windows, are under single key press. Everything is quite effortless.
The best properties for god-mode for me is that you can use the same key combinations as normally, just producing them in a sligthly different way, and that you can also do keychord edits in editing mode if that is convenient. You don't have to exit editing mode at all, if that helps.
The obvious compromise with modal editing is that you have to know in which mode you are in and that some of the useful commands are not available in the editing mode, and then you have to switch modes to get them. However, with god-mode related editing mode you always have all the keys available, and you only have to know the mode you are in (at least partly). I would never settle with evil mode, but god-mode works very well. A lot of benefits with moderate amount of downsides, therefore a win all in all.
Sure, I can chime in. I've been using emacs for about 18 years with meow for the last 4 or 5. I have the caps lock as control switch for about 10 years so it's not about that for me.
I still edit with chords in insert mode but meow enables me to take actions on a variety of subjects more easily (current string, until start of scope, until the next 2 -, next 5 words).
I had a few packages to do similar things before (expand-region) but none of them clicked like meow did.
It's one of the best designed packages I've seen. Except 'repeat' that was horribly broken last time I checked but can be fixed by using the repeat-fu package. Manages to cleanly implement the kakoune model in an incredibly flexible manner and without interfering with anything else.
I still have my meow config, but currently disabled. The kakoune model is definitely what you're looking for if your desire is to edit text with the fewest keystrokes, it's far better than vim. I think the vim model is better, though, because motion-as-selection is fundamentally exhaustive, and in vim, by the time you realize what you're going to do, you go into operator pending mode (e.g. pressing d) and the next keystroke also feels obvious, while in meow you may have to reset the selection by doing some movement.
What works best for me is no modal editing at all. Definitely requires the most keystrokes, but that's not a limiting factor for me. It just feels nice never having to think about modes or constantly pressing Esc, and instead navigating with a mixture of default Emacs keybinds and great, joyous to use packages like Avy, smartparens, tempel and combobulate. Meow's KEYPAD is also not really helpful, it does save some keystrokes but doesn't make anything easier to remember or reach for. For the commands that it is worse, it is much worse.
> What works best for me is no modal editing at all.
I used vim for 8 years and after switching to Emacs, realized that I'm the same. I was spending way more time (in vim) thinking about (to borrow another commenter's metaphor) how I was going to play the notes than what notes I was going to write.
funny, 20 years of vim/evil here and I feel like I never really think about the motions anymore, except maybe when building a macro
I’m in the same boat. I’ve internalized Vim keybindings so much that there’s no friction between thinking and doing on the screen. If I want to place the cursor on the next line, move to the end and add a semicolon, then jump to the end of the file, I just do it. My pet theory is that because Vim keybindings are unintuitive, developing proficiency required building muscle memory, which offloads cognitive load from my brain to my fingers so text editing becomes mechanical rather than cognitive.
Had a similar experience, tried to switch to Meow twice, it's really nice in most ways. But I found lack of vim-style repeat and accidental "dropping" the selection to be so unwieldy that I couldn't stick to using it.
Ended up writing an alternative to Meow which addresses the issues I had.
It's currently in review for Melpa, see:
- https://codeberg.org/ideasman42/emacs-meep
- https://www.youtube.com/watch?v=MJqX8Z64k0c
I gave Meow a fair shake a year or so ago. I'd say it's currently the most robust mode for implementing Kakoune or Helix-like bindings in Emacs, but you can customize it to be like vim or anything else. It's more lightweight than evil-mode. At present, however, I'm not using modal editing in emacs; just lots of Meta-key shortcuts for movement and a hydra with a key-chord for common commands.
I really wish it had a first-class visual mode. Meow's way of handling selections went over my head and I had to drop it since I rely heavily on visual mode for visual feedback. Other than that the package is very neatly designed and didn't create too heavy an abstraction over the usual emacs experience.
The god-mode minor mode that is linked is also mind-boggling: https://github.com/emacsorphanage/god-mode
I have god-mode installed, but I've basically forgot about it as Emacs have a different model of editing than Vim.
With Vim, text editing feels like playing the piano. For every action, you compose a sequence of bindings and execute on it. It is really a language of editing.
Emacs feels more like blacksmithing, hammering the text into a proper shape. There's no composition, you just select the correct tools and applies it. And emacs have a lot of those tools.
god-mode is my modal editing of choice. I usually use it to scroll and read through and select files. It works especially well with read-only buffers in my experience.
It's really cool to see this and other recent experimentation towards breaking past the local maximum of modal editing we've been in since Vi. Really neat stuff!
Is there someone who's gone from Emacs style to modal editing who could sell the idea to me? I just don't see the point, personally.
When I was looking for my text editor 15 year ago I did try vim first because it was the hipster choice back then. I really tried and told myself it would be like learning a new language or something: it sucks today but one day I'd be talking the language of text editing.
It didn't seem to be happening so I tried Emacs instead. As soon as I disabled the awful GUI stuff my love affair started. It all just made complete sense. Key "chords" just work for my brain. I must know hundreds of them without really trying. And Emacs's version of a "mode", as in major modes and minor modes, is just perfect (I think other editors like VS Code have copied this aspect).
I've tried evil mode since but I still just don't see the point. Other than Emacs pinky (which is mostly solved by the caps/ctrl key switch) is there any other advantage at all?
If you're having to use Caps lock as control, modal editing is probably worth it. The one thing that makes non-modal editing far superior to modal, for me, is how easy it is to reach my Control key, as the palm of my left hand is always hovering over it and I learned to press it with my palm without having to ever move my fingers or hitting the wrong key.
I think the vim model in particular is great in terms of becoming muscle memory in like, a few months. It saves a few keystrokes compared to Emacs specially if you're counting Control as a key press. Navigating is a tad nicer with hjkl being next to each other. Having to press Esc after each edit just sucks though.
I've used Emacs for 30 years. In the very beginning swapped capslock and control. After 20 years started to have minor problems with the pinky. A lot of keyboard use. Did not like evil mode for several reasons. It meant a lot of configuration and relearning commands. Tried out god-mode for a short while, but had some sharp edges, and went back to normal. Retried god-mode with more effort to make it work for me and never looked back. At that point it took a long time to get everything to muscle memory, though. Maybe two months to feel ok and years to feel good.
I use "i" to get into editing mode (normal emacs mode) and control-backspace to get to god-mode. I mostly use searching for moving in the buffers. In god-mode it means pressing "s" and then typing the search text with enter marking the search text completion. Then I use "." to search forwards and "," to search backwards. If I want to search for the word(s) at point, I do "s" and "enter" and then "j" to grow the search word, word by word. When ready, again "." searches forwards and "," backwards.
The most common operations, like changing buffers and emacs windows, are under single key press. Everything is quite effortless.
The best properties for god-mode for me is that you can use the same key combinations as normally, just producing them in a sligthly different way, and that you can also do keychord edits in editing mode if that is convenient. You don't have to exit editing mode at all, if that helps.
The obvious compromise with modal editing is that you have to know in which mode you are in and that some of the useful commands are not available in the editing mode, and then you have to switch modes to get them. However, with god-mode related editing mode you always have all the keys available, and you only have to know the mode you are in (at least partly). I would never settle with evil mode, but god-mode works very well. A lot of benefits with moderate amount of downsides, therefore a win all in all.
Sure, I can chime in. I've been using emacs for about 18 years with meow for the last 4 or 5. I have the caps lock as control switch for about 10 years so it's not about that for me.
I still edit with chords in insert mode but meow enables me to take actions on a variety of subjects more easily (current string, until start of scope, until the next 2 -, next 5 words).
I had a few packages to do similar things before (expand-region) but none of them clicked like meow did.
De gustibus non est disputandum. If you think modal, you value mode switching because it aligns with your thinking.
I use both kinds and have done since the late 70s. It's fine to disagree btw, there are many editors, these ones are mine.
> Meow aims to blend modal editing into Emacs with minimal interference with its original key-bindings
Given how bad the defaults are, that's not a good aim