Comments (11)
The magit popup is mostly TAB and RET, no?
from evil-magit.
Well, I like everything to have evil mode. For example while within MagitPopup, I can use evil bindings to scroll up and down to see options that I couldn't see otherwise because the screen is too small. Once I'm in it, then, I can use all of evil bindings to easily switch windows, close this window, and all the other stuff my personalized evil can do.
But the solution above works great, so maybe we don't need to change anything.
from evil-magit.
I wasn't sure there was much value to doing something more with the pop ups
but I'm open to suggestions.
On Sun, Nov 22, 2015 at 7:37 AM Nick DeCoursin [email protected]
wrote:
Well, I like everything to have evil mode. For example while within
MagitPopup, I can use evil bindings to scroll up and down to see options
that I couldn't see otherwise because the screen is too small. Once I'm in
it, then, I can use all of evil bindings to easily switch windows, close
this window, and all the other stuff my personalized evil can do.But the solution above works great, so maybe we don't need to change
anything.—
Reply to this email directly or view it on GitHub
#8 (comment).
from evil-magit.
Great thank you. I don't actually have any suggestions.
from evil-magit.
I can do C-bfud for scrolling that shouldn't be a problem. hjkl is a problem because it would mask the magit functions, unless you went to modal editing which I think would be weird in a popup
from evil-magit.
Yup, I'm using modal editing. I have to press i for insert mode then press the key, but it's worth it for me for the power and flexibility of being able to use all my evil bindings like switching windows or closing the current window. Not everyone would appreciate that though, so the current implementation would be better than modal-editing for the mass.
Actually, I think the best would be normal-mode (or whatever you want to call it that is just one mode where all my evil bindings work) with shift-key or ctrl-key for the option. This is different than how it currently stands which is just key for the option (e.g. d for --dwim.) This probably wouldn't work out-of-the-box for most configurations that depend on ctrl (or shift.) However, semicolon key might work? The only compromise is if there's some way to configure-it.
from evil-magit.
We could try a leader key approach. Hit the leader key then the option. The magit popups are a little odd in how they implement key bindings though and I haven't completely dug into them yet.
from evil-magit.
That would be really cool.
from evil-magit.
Try this:
(dolist (char (number-sequence ?! ?z))
(evil-define-key 'normal magit-popup-mode-map
(concat ";" (char-to-string char)) 'magit-invoke-popup-action))
Be careful though. I'm not positive this will work everywhere, but it allows for ;
as a leader.
from evil-magit.
Thanks, I gave it a try. It doesn't work for the switches and options, unless I'm doing something wrong. Anyways, ";" as a leader, for me, isn't much better than going into insert mode first.
Ctrl or shift might be better (hold ctrl then click option, for example), but it's probably not worth it. Thank you for giving this attention, but I'm going to close it because it's not worth anymore. I'm satisfied with changing the default initial state and using insert mode.
from evil-magit.
I had to set
(general-define-key
:states 'emacs
:keymaps 'magit-popup-mode-map
"j" 'forward-button
"k" 'backward-button
)
In general.el. it would be nice to be able to use emacs-state keybindings for magit-popup-mode in normal-state, but I guess that would cause a lot of overlapping.
from evil-magit.
Related Issues (20)
- Can't require evil-magit since Magit switched from magit-popup to Transient HOT 8
- Initialisation warning HOT 1
- Support for GPG signing HOT 3
- In vanilla Magit I can use C-u s to do a "git add -N", can I do this with evil-magit? HOT 9
- void function transient-suffix-put when loading from use- HOT 3
- Magit-log-select very slow on big projects (e.g. Linux kernel) HOT 1
- conflicts with `evil-respect-visual-line-mode' HOT 4
- Keybindings in magit-submodule-list-mode HOT 1
- evil-magit/magit overriding general.el keybindings HOT 6
- Forge: cannot create pull request when using magit forge HOT 1
- Can we bind escape to quit the transient/popup windows HOT 4
- Bury buffer with 'q'? HOT 1
- magit-section don't work with evil visual-state HOT 1
- evil-yank-line doesn't behavior correctly inside doom's magit HOT 3
- evil-magit-add-rebase-messages does not insert commands in buffer when locale is different from english HOT 3
- respect evil-toggle-key HOT 1
- Switching to text-mode and back messes up some keybindings HOT 4
- Void variable error magit-file-mode-map HOT 3
- Evil-magit now part of evil-collection HOT 4
- evil-magit not available on MELPA HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from evil-magit.