Conflict with Vim mode in rich text editors(like ACE) - can't exit insert mode in the text area
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 27k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
Chrome version:
Google Chrome 62.0.3202.62 (Official Build) (64-bit)
Revision 9da914b118cb0d10d715ccc4ad20575a0305a304-refs/branch-heads/3202@{#700}
OS Linux
JavaScript V8 6.2.414.32
Flash 27.0.0.183 /home/idanarye/.config/google-chrome/PepperFlash/27.0.0.183/libpepflashplayer.so
User Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36
Vimium version: 1.61.1
Some webapps use a rich text editor - like ACE - that may support a Vim layout. These usually use <Esc>/<C-[> to exit insert mode - but Vimium captures these keys first and use them to exit the text area!
To reproduce - go to https://ace.c9.io/build/kitchen-sink.html, choose Vim for Key Binding, enter the text editor, and press i to enter insert mode. Without Vimium pressing <Esc>/<C-[> will exit insert mode. With Vimium - they'll exit the entire text area.
I... don't really have a solution to propose. It would be nice if Vimium could detect that it's inside these a Vim mode rich text editor and ignore these keys, but then you wouldn't be able to exit the text area. Maybe using <Esc> to exit the text area and leaving <C-[> to be handled by the component?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue at the ACE kitchen-sink page with Vim key binding, then inspect Vimium's handling of Esc and Ctrl-[ while focus is inside a rich text editor. The behavior is fixed when ACE can exit insert mode without losing Vimium's intended text-area exit behavior; the issue leaves the preferred key mapping undecided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, vim
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100