I used to be able to save from VI mode using CTRL-S. Since updating to Frameworks 5, and the respective version of Kate, this no longer works. I tried Changing the key mappings in the VI mode configuration, but there doesn't seem to be any documentation how to do this. Reproducible: Always Steps to Reproduce: 1. Enter VI mode 2. Type some text. 3. Press CTRL-S. Actual Results: Nothing happens. Expected Results: Save changes.
Hi David, the Ctrl+S shortcut should be entirely possible to use in vi-mode. Can you try with the clean configuration? Is Ctrl+S shortcut configured in shortcuts? Do you have some vi-mode mappings?
I can reproduce the issue after upgrade to Qt5.5.
Sorry about the long delay. No, I don't have any mappings. I tried configuring one to make this work, but I couldn't find any documentation on how to do the mappings. They seem to be slightly different from vimrc. I'm not sure what you mean by a clean configuration. Do you mean resetting everything to the default values?
Unfortunately, Qt 5.5 introduced an overhaul of the shortcut system that broke one "feature" of Qt that we relied upon (that directly replaying a sequence of QKeyEvents - such as Ctrl+S - onto a widget would trigger any shortcuts that the sequence of keys would normally trigger). I have a local patch that works around the issue as best I can (though is still not optimal - restoring this old - but undocumented and perhaps unintended - feature of Qt is necessary for that), but it's based against a big refactoring of emulated command bar which I'd have to get tidied up and committed first. I'll see if I can do that tomorrow. @Michal Hey :) Would you be happy to review a sequence of patches?
A patch is up for review here: https://phabricator.kde.org/D1894 it depends on https://phabricator.kde.org/D1892
Hi @Simon, I would be happy to do the review. I was too lazy to fix it, because I could only imagine the complete rework of key input in vimode in order to fix it.
Fixed as best as I can in https://quickgit.kde.org/?p=ktexteditor.git&a=commitdiff&h=025edb11ca9b0fa3685802e6c9cb608a4daa7911. Remaining annoyances: shortcuts won't be replayed in "repeat last change"/ macros; the most important example of this is if you insert/ edit some text and use ctrl+v to paste, then the paste won't be included if you repeat with "." (similarly, if you use ctrl+v to paste in a macro). Workaround: imap <c-v> <c-r>+