💀
[WezTerm] macSKKとskkeletonを使用して同じキーバインドで入力切り替えをしたい!
[WezTerm] macSKKとskkeletonを使用して同じキーバインドで入力切り替えをしたい!
デモ
前提・モチベーション
- OS: macOS
- 端末(WezTerm)のVimではOSのIMEとは別にskkeletonを使っている
- IMEが有効な状態だとVimのノーマルモードとの相性が悪い
- 端末ではIMEを無効にして、Vimの中でインサートモードの必要な時にIMEを有効にしたい
- 端末 / GUIで同じキーを使ってIMEの入力切り替えをしたい
- macOSでIMEとしてmacSKKを使用している
- Vimではskkeletonを使用している
解決方法
- WezTermで
use_ime = false
を設定しIMEを無効にする - Karabiner-Elementsを使って端末内の入力切り替えを行う。以下のルールを追加する
- Skkeleton(Vim)の設定でトグルキーを設定(今回は
<C-\>
)
追加するルール
{
"description": "Skkeleton",
"manipulators": [
{
"conditions": [
{
"file_paths": [
"/Applications/WezTerm.app/Contents/MacOS/wezterm-gui",
"/opt/homebrew/bin/wezterm-gui"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"left_control"
],
"optional": [
"right_control"
]
}
},
"to": [
{
"key_code": "backslash",
"modifiers": [
"left_control"
],
"repeat": true
}
],
"type": "basic"
}
]
}
Discussion