Chinese input repeats characters when using VSCodeVim in insert mode
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.2k
- Forks
- 1.5k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 6
Description
Description
When using Chinese input methods (including Baidu IME, Microsoft Pinyin, etc.) in VS Code with the VSCodeVim extension enabled, all Chinese characters and punctuation are entered twice in insert mode. This issue does not occur when the Vim extension is disabled.
Steps to Reproduce
- Enable the VSCodeVim extension
- Use any Chinese input method (e.g., Baidu IME, Microsoft Pinyin)
- Enter insert mode (
i) - Type any Chinese character or punctuation
Expected behavior: Characters should be entered normally, only once
Actual behavior: Each character is entered twice
System Info
- OS: Windows 11
- VS Code version: 1.101
- VSCodeVim version: 1.30.1
- IME: Baidu IME / Microsoft Pinyin
Additional Notes
This issue persists across different input methods and does not occur in other editors. Disabling the Vim extension fixes the issue.
I've tried:
- Disabling all other extensions ✔️
- Reinstalling input methods ✔️
- Using
vim.handleKeyssetting (partially helpful) ✔️ - Enabling Neovim mode (works but requires extra setup) ✔️
Would appreciate any insight or possible fixes. Thank you!
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
Start by reproducing the duplication in VS Code 1.101 with VSCodeVim 1.30.1, using a Chinese input method in insert mode and comparing behavior with the extension disabled. Trace the insert-mode input handling and review the existing issue discussion for clues. Done means Chinese characters and punctuation are entered once without requiring Neovim mode.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100