4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

この記事誰得? 私しか得しないニッチな技術で記事投稿!

WezTerm で tmux のような `<prefix>→〇` というショートカットを設定する

Posted at

経緯

Windows上のターミナルエミュレータで作業をしていると、やはり画面を分割したくなることがあります。
ただそのときに画面を分割する程度でマウスに手を伸ばしたくはないし、Ctrl と何かの同時押しというショートカットはエディタでほぼ使用済み、AltやWinキーは押しづらいので嫌だ…
ということで tmux のように prefix キーを押してから何か押すタイプの設定ができないか色々探していました。
色々探した結果、WezTermなら実現できたのでメモを残しておきます。

設定方法

設定ファイルに以下ように Leader キーと Leader キーを使用するショートカットを書けばできます。

local wezterm = require('wezterm')

return {
  -- 省略
  leader = { key = 'b', mods = 'CTRL', timeout_milliseconds = 1000 },
  keys = {
    {
      key = '%',
      mods = 'LEADER|SHIFT',
      action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' },
    },
    {
      key = '"',
      mods = 'LEADER|SHIFT',
      action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' },
    },
  }

上の例は、ほぼそのままWezTerm公式のドキュメントにも記載されています。
tmux における prefix キーは、WezTerm では Leader キーと呼ぶようで、その用語の違いのせいもあってかこのページにたどり着くのに結構かかってしまいました。

余談

ちなみに、試したり調べてみてダメだったのは下記の通りです。

  • Windows Terminal: 画面分割はできるが <prefix>→〇 というショートカットは設定できない。さらに最近 IME 関連でよくクラッシュして辛い。
  • WSL + tmux: 他諸般の事情により WSL は却下。
  • Alacritty: 画面分割する機能がない。
  • zellij: Windowsをサポートしていない。Issueは存在していてるものの難度が高いようであまり進んでいない。(自分でもちょっと試してみたけど辛そうだった)
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?