Skip to content

feat: Optimize IME Experience in Normal Mode #337

Description

@w568w

Problem

When using Vim-like applications, multilingual users (inc. CJKV, Russian, etc.) typically need to enable an IME during Insert mode.

However, when pressing Esc to return to Normal mode, the IME remains active by default. This forces users to constantly toggle their IME on and off manually to execute commands.

Proposed solution

Introduce a configuration option that enables the following behavior:

  • Upon entering Normal mode: Switch to the English keyboard layout (disable the IME).
  • Upon exiting Insert mode: Remember the current IME state.
  • Upon entering Insert mode: Restore the previously recorded IME state.

Alternatives considered

No viable alternatives or workarounds are currently available.

Additional context

This is a widespread need among multilingual users, yet there is no established standard or operational convention for handling this within Vim-like TUI applications.

For reference, here are some related implementations:

Confirmations

  • I searched existing issues and discussions for the same idea.
  • This request does not involve self-bot automation, mass actions, or scraping.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions