jorise / evil-mu4e Goto Github PK
View Code? Open in Web Editor NEWEvil keybindings for mu4e
License: GNU General Public License v3.0
Evil keybindings for mu4e
License: GNU General Public License v3.0
To be included in Spacemacs, evil-mu4e has to support deactivating the keybindings. That way a user can choose to use Emacs keybindings.
When reading an email in mu4e-view mode, it seems hitting h
toggles html on the message, if available. Since hjkl
are movement keys in evil, I think this package should overwrite this key binding to another key.
Thanks for the great work on these bindings so far.
I've just merged evil-mu4e into https://github.com/emacs-evil/evil-collection, I think it would be good to mention it in the repo description.
I get
evil-get-auxiliary-keymap: Wrong type argument: keymapp, mu4e-main-mode-map
when trying to launch it using emacs 27.
Should we merge this repo with Evil Collection?
@JorisE?
Making this a default for evil-mu4e would follow the consistency brought by evil-collection.
Would it be possible to add it the evil-mu4e officially?
I'm trying out evil-mu4e to understand how to get mu4e to work better with evil-mode. In doing so I spotted a couple of issues, besides the question what keybindings to use:
In the function evil-mu4e-new-region-basic the shortcut to compose is given as a lowercase c. This is a capital C, so looks like a typo.
Same type of typo applies to the help command in the function evil-mu4e-new-region-misc. There the shortcut is given as a lowercase h, which is a movement command. However a capital H jumps to the beginning of the file. So it looks like it is both a typo and you need to rebind the shortcut for the help. To me it seems that the default H used in mu4e would be suitable as 'gg' does the same anyway.
If I go to the about screen or the news screen the keybinding 'q' to close them doesn't work. Adding mu4e-org-mode to the modes that get set to the evil-mu4e-state-mode fixes this for me.
*) In the message-view mode normally there is 'y' to jump to the displayed headers. This gets overridden by yank, so would need a different key-binding....looking at the keybindings in the mu4e manual there will be many more to do, but you already have an issue open for that.
edit) note that the last comment also implies that there are a lot of mu4e keybindings that don't work in things like the message-view. This happens because you use motion state instead of emacs-state, which intentional, but overwrites a lot of bindings. Anyway, it might be good to make this clearer in the readme?
edit2) The longer I think about the less sense it makes to start from the motion state. You can see here how many keys that are used by mu4e get bound in that state: https://github.com/cjohansen/.emacs.d/blob/master/site-lisp/evil/evil-maps.el in that state.
The mu4e keybindings are well known by its users, so changing to much may make it harder to use than nessecary For now, only changes that are necessary to work with mu4e with evil-mode enabled are in evil-mu4e.
If anyone has ideas on other keybindings that make sense, I'd be happy to hear them.
I just tried enabling evil-mu4e, and I like it a lot. I have noticed, though, that marking a region in headers view does not work. It is mapped to evil-delete instead of mu4e-headers-mark-for-trash. Thus, you get a message that the buffer is read-only. I suspect this is a symptom of a wider problem with keys that are not explicitly mapped in evil-mu4e: they fall back to evil-mode keybindings instead of mu4e keybindings.
Also, what is the status of this with respect to getting included in the mu4e layer for spacemacs?
Regards,
A rationale for Evil bindings was started with https://github.com/jojojames/evil-collection:
we are trying to enforce as much consistency as possible across the various Emacs modes.
@JorisE: You are probably in a good position to give insightful feedback regarding the aforementioned rationale. Your opinion and/or contribution is very welcome!
trying to defeat the
(Spacemacs) Warning: Auto-evilication could not remap these functions in map mu4e-headers-mode-map': - mu4e-headers-query-prev' originally mapped on
'
I add this in the first main list of Melpa layers. Then make a private layer and copy the .el there, but it kills my dash, even with the line in user-config:
(with-eval-after-load 'org ' (setq org-ref-completion-library 'org-ref-ivy-cite);; ;; (require 'evil-mu4e)
Sorry if this is a basic question, but how do you mark multiple messages for move when you are in headers view? If selecting multiple messages and pressing "m", I get the evil-set-marker function, instead mu4e-headers-mark-for-move, as it should.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.