ググるとAutoHotKeyを使う方法が結構出てくるけど、公式ツールでできそうだったのでやってみる。Emacs風というかmacOS風のやつ
-
Microsoft PowerToysをインストールする。
- MSがオープンで開発してる公式のツールなので信頼性が高い気がする
- Keyboard Manager でバインドし直す。
-
ctrl(left)-a->Home -
ctrl(left)-b->Left -
ctrl(left)-d->Delete -
ctrl(left)-e->End -
ctrl(left)-f->Right -
ctrl(left)-h->Backspace -
ctrl(left)-k->shift-End -
ctrl(left)-m->Enter -
ctrl(left)-n->Down -
ctrl(left)-p->Up -
ctrl(left)-y->ctrl-v -
ctrl(left)-shift-j->IME Convert -
ctrl(left)-shift-;->IME Non-Convert -
win(left)-a->ctrl-a -
win(left)-c->ctrl-c -
win(left)-f->ctrl-f -
win(left)-n->ctrl-n -
win(left)-r->ctrl-r -
win(left)-t->ctrl-t -
win(left)-w->ctrl-w -
win(left)-x->ctrl-x -
win(left)-p->ctrl-p -
win(left)-n->ctrl-n -
ctrl(left)-d->ctrl(right)-d(windowsterminal.exe) -
ctrl(left)-k->ctrl(right)-k(windowsterminal.exe)
-
-
- caps lock を ctrlに
- これはctrl2capで。
問題点:
- WSL使うときに困る。
- バインドを変えたキーを押すと
^@が送信される- eg.
ctrl-h->backspaceをおしたとき、showkey -aで確認すると^@ 0 0000 0x00がctrlボタンを離したときに送信されてる。 - https://github.com/microsoft/PowerToys/issues/6024 これに似てるけどちがうっぽい
- Windows Terminal 使うとこの問題起きない。
- eg.
- Ubuntuのもともとのバインドとぶつかる
- ctrl-d でターミナル切ったりするのがやりづらくなる
- プロファイル切り替え機能とか除外するアプリをリストする機能のissueがあるので、いつかサポートされるかもしれない。
- ハック的な方法。windowsterminal.exeにたいして元のキーバインドを上書きする。
- たとえば
ctrl-dをwindowsterminal.exeではバインドなしで、その他のアプリ上ではdeleteにさせたいとき、- 「すべてのアプリ」を対象に
ctrl(left)-d->Deleteをバインドする - 「windowsterminal.exe」を対象に
ctrl(left)-d->ctrl(right)-dをバインドする
- 「すべてのアプリ」を対象に
- たとえば
- バインドを変えたキーを押すと
- インポート/エクスポート機能がない
- さまざまな環境をセットアップする場合はネックになりそう。
- ctrl-k で kill line みたいな高度なことはできない
OSが違うんだから、WindowsつかうときはWindowsの操作に慣れるというほうがいい気はするんだけど、アローキーをホームポジションを崩すことなく使えるバインドを使いたい気持ちにあらがえない時に。