Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to insert a <space> in MOTION mode. #49

Closed
mmarshall540 opened this issue May 31, 2021 · 2 comments
Closed

Unable to insert a <space> in MOTION mode. #49

mmarshall540 opened this issue May 31, 2021 · 2 comments

Comments

@mmarshall540
Copy link
Contributor

mmarshall540 commented May 31, 2021

Emacs's "Easy Customization" mode supports the ability to enter a comment about a variable setting. This is one "special mode," where the user would enter text with spaces. This might be a concern for other special modes, but I'm not sure.

Example:
M-x customize-variable RET tool-bar-mode RET
Click "State" button, and select "Add Comment".
Then click on (or TAB over to) the "Comment:" field to enter a comment.

Since it is a special Emacs mode, Meow sets MOTION as the default state in Custom-mode.

But this prevents entry of spaces in "Comment:" fields, because the MOTION state uses space bar as a leader key.

One has to do "M-x meow-insert RET" before entering the comment. It's only a minor annoyance.

---end of issue, beginning of praise---
:-D

I've only just started using this package, but I'm very impressed with how it handles modal editing.

I especially like how the suggested Dvorak layout mirrors bindings that are commonly-used in Emacs's special modes (dired, ibuffer, et cetera). This is very smart. It avoids both context-switching and having to rebind every single major-mode to match the modal editing layout. I had thought of trying to configure something similar to this. Your package already does it, plus so much more.

I wasn't familiar with Kakoune, so the selection-combined-with-movement paradigm is also quite interesting. It seems like it will be even more efficient than evil-mode, but I'm just getting used to it.

One other suggestion: I think it might attract more interest if you referred to the "suggested" layouts as "default" layouts and included them in the package (rather than requiring cut-and-paste from the readme). Instead of saying that the user must define their own layout, you could simply advise that it's trivial to change the layout as the user sees fit.

I think the layouts you've devised make great sense and are worthy of being "defaults."

@DogLooksGood
Copy link
Collaborator

DogLooksGood commented Jun 1, 2021

Hi, thanks for the nice words and I'm glad to know you like it!

For your question, you can customize meow-mode-state-list, it's possible to let meow use normal state in Custom-mode.

(add-to-list 'meow-mode-state-list '(Custom-mode . normal))

I'll add this rule to the default value.

About the built-in layout, I may add them as suggested default when I think they are stable enough. I may also add some ergonomic-style layout like what xah-fly-keys does.


Besides, if you are a doom emacs user, you may also interested in

(meow-leader-define-key
 (cons "v"  (concat doom-leader-alt-key " g"))
 (cons "p"  (concat doom-leader-alt-key " p"))
 (cons "f"  (concat doom-leader-alt-key " f"))
 (cons "s"  (concat doom-leader-alt-key " s"))
 (cons "o"  (concat doom-leader-alt-key " o"))
 (cons "b"  (concat doom-leader-alt-key " b"))
 (cons "w"  (concat doom-leader-alt-key " w"))
 (cons "q"  (concat doom-leader-alt-key " q")))

@mmarshall540
Copy link
Contributor Author

Ah, that fixes it.

Was testing in a non-Doom config before, but I just merged my Meow settings with my Doom configuration. I'm quite used to the menu entries provided by Doom's ":editor evil" module.

So it will take some getting used to. But these bindings should help a lot.

Thank you for the suggested bindings and for the quick response!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants