Git Commit Changes, IdeaVim, and the escape key
I greatly appreciate the vim integration into the IDE. However the escape key, integral to using vim, is mapped to closing the Commit Changes dialog (at least with Git). The scenario: I chose to commit a file, the Commit Changes dialog appears with the comment field auto-focused and auto-highlighted, I type in my commit message which uses the vim plugin, I press the escape key (per vim editing) to exit insert mode to make some other change, and whoops the dialog has closed because escape is mapped to close the dialog. I can't find a keymap setting to turn this off (which doesn't mean there isn't one).
Feature request, disable the escape key autoclose feature, remap it, or add a setting to disable it (similar to https://youtrack.jetbrains.com/issue/IDEA-210461)
Thank you for your consideration!
请先登录再写评论。
I love using IdeaVim but this particular quirk is frustrating!
I think the commit dialog should behave similar to how the "Find in Path" dialog is working: When in insert mode, pressing escape will exit insert mode without closing the window, then pressing escape again will close the window.
I agree that the current behavior is very bad. Not only does the escape key close the dialogue, rather than change from insert mode to normal mode, Pycharm also preserves the current content of the dialogue. This means that if I totally screw up my commit message, and then hit escape, and then reopen the commit dialogue, Pycharm shows me my screwed up message.
So, I request two largely independent changes:
1) when vim is enabled, and is in insert mode, the escape key should change the commit editor to normal mode. The current behavior is clearly a defect. If Pycharm means to support vim mode in the commit editor, it must support a means to change the editor from insert mode to normal mode.
2) Exiting the commit dialogue via escape (or any other cancel-like action) should NOT record the content the dialogue that just closed. For example, this should be the case
- user opens the commit dialogue and sees the pre-filled commit "PT-109 fix formatting"
- user accidentally does a select all and types "x", replacing all the previous text.
- user escapes or cancels the dialogue.
- user reopens the dialogue. At this point the dialogue should be "PT-109 fix formatting"
+1, an otherwise perfect Vim integration, I run into this pretty regularly.
This problem was fixed in a previous PyCharm release. But it came back again in PyCharm 2020.3.4. Pressing the escape key in VIM mode wihtin the Git commit text area closes the whole dialog.