Skip to content
Mozkeyを使ってみる (Windows x WezTerm x Neovim)

Mozkeyを使ってみる (Windows x WezTerm x Neovim)

June 10, 2026

Mozkey が X 上で話題になっていたため、入れてみた。

Mozkey がどのようなものなのかについては、GitHub の README を見てもらったり、X のツイートを見てもらうのがいいと思うのでここでは説明は特にしないです。

WezTerm 上で変換キーで IME ON にするのがサクッとできなかったためその辺も合わせてメモとして残しておく。

GIF の typo 多いのは気にしないで…

環境や設定

  • Windows11
  • WezTerm
  • WSL2
  • Neovim

やりたいこと

  • IMEの設定
    • 変換キーで IME ON
    • 無変換キーで IME OFF
  • WezTerm 上の Neovim での設定
    • Insertモードを抜けたら、IME OFF にしたい

使ったもの

  • AutoHotkey
    • WezTerm 上で変換キーを押したときに IME ON にならなかったため、AutoHotkey をかまして IME OFF できるようにした

設定

Mozkey の設定

まずは、設定画面を開く。どこから開くのか一瞬わからなかったから、念のためメモしておくと、 タスクバーの A のところを右クリックして、プロパティを開くと設定画面が表示できる。

いろんな設定があるのかもだけど、今時点で設定したものを書いておく

  • 一般
    • スペースの入力:半角
    • キーの設定
      • 入力文字なし
        • Henkan: IME有効化
        • Muhenkan: IME無効化
      • 変換前入力中
        • Space: 確定
        • Tab: 変換
        • Henkan: IME有効化
        • Muhenkan: IME無効化
      • 変換中
        • Space: 確定
        • Tab: 次の候補を選択
        • Muhenkan: 確定 → 空白を入力 → IMEを無効化
  • 入力補助
    • カーソル周辺に入力モードを表示する:OFF
    • ライブ変換
      • ライブ変換の遅延: 120ms
      • ライブ変換開始の最小文字数: 2文字
      • ライブ変換中にルビ表示を出す: ON
    • Zenzライブ補完
      • Zenz補完開始の遅延: 即時
      • Zenz補完開始の最小文字数: 2文字

WezTerm で変換キーを押したときにIME ON にする設定

自分の環境だけかもしれないが、WezTerm 上で変換キーを押しても IME ON にならなかったため、AutoHotkey を使って動作するように設定をした。

1. AutoHotkey をインストール

https://www.autohotkey.com/ にアクセスして v2 をインストールする

2. AHK用のフォルダを作成する

Windows側のホームディレクトリ配下に作成した (C:\Users\tamago324\ahk)

3. WezTerm 上で変換キーを押したら、IME ON にするスクリプトを書く

C:\Users\tamago324\ahk\wezterm-ime.ahk を作成

IME ON/OFF の両方を書いておいた。

#Requires AutoHotkey v2.0
#SingleInstance Force

#HotIf WinActive("ahk_class org.wezfurlong.wezterm")

; 無変換 → Mozkey の IME OFF
*vk1D::
{
    Send("{vk1A}") ; VK_IME_OFF
}

; 変換 → Mozkey の IME ON
*vk1C::
{
    Send("{vk16}") ; VK_IME_ON
}

#HotIf

F12::ExitApp()

このスクリプトをダブルクリックして、起動して、WezTerm 上で IME の ON/OFF ができることを確認する。

4. wezterm-ime.ahk を常時起動させるように設定

Windows のスタートアッププログラムに設定することで、PC起動時に ahk を自動で起動させる。

Windows で「ファイル名を指定して実行」を起動し、

shell:startup

を起動する

以下のショートカットを作成し、スタートアップのフォルダに配置する

C:\Users\tamago324\ahk\wezterm-ime.ahk

これで、PC起動時に ahk が起動できる。

Neovim の設定

WSL2上で起動している Neovim でインサートモードを抜けた時に IME OFF になるように設定する。

ここでも ahk を使って IME OFF にする。

1. IME OFF にするスクリプトを作成

C:\Users\tamago324\ahk\ime-off.ahk を作成する

#Requires AutoHotkey v2.0
#SingleInstance Off

Send("{vk1A}") ; IME OFF
ExitApp

2. vimrc にインサートモードを抜けたときの autocmd を追加する

vimrc に以下を追加

AutoHotkey64.exe の配置場所はインストールによって変わるため、調整が必要かも?

" INSERT モードを抜けたら、IME OFF
autocmd InsertLeave * call <SID>ime_off()
function! s:ime_off()
  let l:shell = &shell
  let &shell='/usr/bin/bash --login'
  call system(
        \ '"/mnt/c/Users/tamago324/AppData/Local/Programs/AutoHotkey/v2/AutoHotkey64.exe" ' .
        \ '"C:\Users\tamago324\ahk\ime-off.ahk"'
        \ )
  let &shell = l:shell
endfunction

おわりに

Mozkey でのライブ変換楽しい!!

Link

トラブルシューティング

WezTerm で変換キーを押しても IME ON にできない

Mozkey 側の設定は問題なかったし、WezTerm ではなく Windows Terminal では問題なく、変換キーで IME ON にできていたからおそらく WezTerm 側の問題だと思う。

AutoHotkey を使って、特定のウィンドウが有効なときだけ発火させる設定ができるみたいだから、それを使って対応してみることにした。

WezTerm のウィンドウが有効かどうかを判断するときに、ahk_class というものを使うみたいだった。その ahk_class は AutoHotkey の Window Spy という機能を使うことで簡単に検出することができた。

  1. AutoHotkey Dash を起動して、Window Spy を起動する。
  2. WezTerm をアクティブにする。

以下のような表示が出るため、それをもとに AutoHotkey のスクリプトを書いた。

wslhost.exe
ahk_class org.wezfurlong.wezterm
ahk_exe wezterm-gui.exe
Last updated on