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.