Skip to content

Input Method Since 1.32

Automatically switch the input method when entering and exiting Insert Mode.

Any third-party program can be used to switch input methods.

Below, you'll find instructions for installing and using input method switchers on various operating systems.

Setup

Linux

  1. Install an input method switcher.

    • ibus - A powerful input method framework.
    • xkb-switch - A lightweight utility for XKB-based layouts.
    • fcitx - A flexible and feature-rich input method platform.
    • gdbus - A command-line tool for switching input methods.
    • qdbus - A D-Bus tool for communication with input methods.
    Example gdbus scripts

    You will need two scripts. One getter and one setter.

    sh
    #!/usr/bin/env sh
    
    gdbus call \
        --session \
        --dest org.gnome.Shell \
        --object-path /org/gnome/Shell \
        --method org.gnome.Shell.Eval \
        "imports.ui.status.keyboard.getInputSourceManager().currentSource.index" | awk -F'[^0-9]*' '{print $2}'
    sh
    #!/usr/bin/env sh
    
    gdbus call \
        --session \
        --dest org.gnome.Shell \
        --object-path /org/gnome/Shell \
        --method org.gnome.Shell.Eval \
        "imports.ui.status.keyboard.getInputSourceManager().inputSources[$1].activate()"

    NOTE

    You may need to make the scripts executable: chmod +x im-get im-set

  2. Determine your default input method.

    Switch your input method to English and execute the relevant command:

    sh
    ibus engine
    sh
    xkb-switch
    sh
    fcitx-remote
    sh
    im-get
    sh
    qdbus org.kde.keyboard /Layouts getLayout
  3. Configure the NeoVintageous input method.

    Open the settings from the the Command Palette, Ctrl+Shift+P (Win/Linux) or Cmd+Shift+P (Mac), and add the settings:

    json
    {
        "vintageous_auto_switch_input_method": true,
        "vintageous_auto_switch_input_method_default": "xkb:us::eng",
        "vintageous_auto_switch_input_method_get_cmd": "/usr/bin/ibus engine",
        "vintageous_auto_switch_input_method_set_cmd": "/usr/bin/ibus engine {im}"
    }
    json
    {
        "vintageous_auto_switch_input_method": true,
        "vintageous_auto_switch_input_method_default": "us",
        "vintageous_auto_switch_input_method_get_cmd": "/usr/local/bin/xkb-switch",
        "vintageous_auto_switch_input_method_set_cmd": "/usr/local/bin/xkb-switch -s {im}"
    }
    json
    {
        "vintageous_auto_switch_input_method": true,
        "vintageous_auto_switch_input_method_default": "1",
        "vintageous_auto_switch_input_method_get_cmd": "/usr/bin/fcitx-remote",
        "vintageous_auto_switch_input_method_set_cmd": "/usr/bin/fcitx-remote -t {im}"
    }
    json
    {
        "vintageous_auto_switch_input_method": true,
        "vintageous_auto_switch_input_method_default": "0",
        "vintageous_auto_switch_input_method_get_cmd": "/path/to/im-get",
        "vintageous_auto_switch_input_method_set_cmd": "/path/to/im-set {im}"
    }
    json
    {
        "vintageous_auto_switch_input_method": true,
        "vintageous_auto_switch_input_method_default": "0",
        "vintageous_auto_switch_input_method_get_cmd": "/usr/bin/qdbus org.kde.keyboard /Layouts getLayout",
        "vintageous_auto_switch_input_method_set_cmd": "/usr/bin/qdbus org.kde.keyboard /Layouts setLayout {im}"
    }

Mac

  1. Install an input method switcher.

    • im-select - A versatile input switching tool.
  2. Determine your default input method.

    Switch your input method to English and execute the following commands in your terminal:

    im-select
  3. Configure the NeoVintageous input method.

    Open the settings from the the Command Palette, Ctrl+Shift+P (Win/Linux) or Cmd+Shift+P (Mac), and add the settings:

    json
    {
        "vintageous_auto_switch_input_method": true,
        "vintageous_auto_switch_input_method_default": "com.apple.keylayout.US",
        "vintageous_auto_switch_input_method_get_cmd": "/usr/local/bin/im-select",
        "vintageous_auto_switch_input_method_set_cmd": "/usr/local/bin/im-select {im}"
    }

Windows

  1. Install an input method switcher.

    • im-select - A versatile input switching tool.
  2. Determine your default input method.

    Switch your input method to English and execute the following commands in your terminal:

    sh
    im-select
  3. Configure the NeoVintageous input method.

    Open the settings from the the Command Palette, Ctrl+Shift+P (Win/Linux) or Cmd+Shift+P (Mac), and add the settings:

    json
    {
        "vintageous_auto_switch_input_method": true,
        "vintageous_auto_switch_input_method_default": "1033",
        "vintageous_auto_switch_input_method_get_cmd": "D:\\bin\\im-select.exe",
        "vintageous_auto_switch_input_method_set_cmd": "D:\\bin\\im-select.exe {im}"
    }

Settings

vintageous_auto_switch_input_method

  • Type: boolean
  • Default: false

Enable automatic switching of input methods.

vintageous_auto_switch_input_method_default

  • Type: string
  • Default: ''

The default input method to be used.

vintageous_auto_switch_input_method_get_cmd

  • Type: string
  • Default: ''

The full path to the command used to retrieve the current input method key.

vintageous_auto_switch_input_method_set_cmd

  • Type: string
  • Default: ''

The full path to the command used to switch input methods, where {im} is a placeholder for the input method key.