見出し画像

キーバインド問題を克服して Warp への移行を試みる

#雑記

数年前から私の ⌘ + Space のキーバインドを独占し続けている Warp というモダンなターミナルがある。


Mac 専用だが、見た目がカッコよかったり、AI とのコラボレーションが標準機能として備わっていたり、標準の提供機能によって .*rc の盆栽が不要になったり (それはそれでつまらないが)、見た目がカッコよかったり (大事) するターミナルだ。

ちなみにこれまでは Tabby を使っていて不満はなかったが、最近リリース頻度の低下を感じるようになってきて、ちょっとした出来心 (花金だし) で Warp 移行を試みることにした

ctrl + R で起動するコマンド履歴では、プロンプト入力によってAIがコマンドを推論してくれる。便利


これまで Warp 移行のハードルとなっていたのが、Warp ではキーバインド設定が無視されるバグだ。コマンド履歴については強化された標準機能があるため移行も可能だが、毎日何度も利用しているリポジトリとブランチ移動はものすごい困る。このため、Warp 移行を断念していた

ctrl + G で ghq で管理するリポジトリを検索 & 移動
ctrl + B でブランチを検索 & 移動

なお、キーバインドの問題は以前から Warp リポジトリでも報告されているが、標準機能との兼ね合いがあるため対応が難しいのだろう

Support bindkeys · Issue #537 · warpdotdev/Warp


そこで、今回は以下のように代替するシェルスクリプト関数を定義して、ctrl G を「g」で、ctrl B を「b」で呼び出せるようにした。最近は fish shell を利用しているため、関数は shell だ。検索は peco ではなく fzf でやっている

# ghq 検索
function g
  set repo_name (ghq list | fzf-tmux --reverse +m)
  if test -n "$repo_name"
    cd (ghq root)/$repo_name
  end
end

# ブランチ検索
function b
  set branch (git branch --sort=-committerdate | fzf --reverse)
  if test -n "$branch"
    git checkout (echo $branch | sed 's/^[ *]*//')
  end
end


これにより、問題だったリポジトリ移動とブランチ移動がスムーズにできるようになった。しばらくはこの環境で生きてみたいと思う

なお、このアイディアはネット記事を参考にした。大感謝。


2022年11月頃には ⌘ + Space に Warp を住まわせていたようなので、実に一年半越しの移行だ。楽しみ。

余談だが、Warp にはいつか乗り換えてやろうと `⌘ スペース` の Hotkey で待機させており、アップデート情報はたまに見に行っている。ために誤爆して起動してしまうと「違う、そうじゃない」という気持ちを思いだしてしまう (Warp は何も悪くない)


この記事が気に入ったらサポートをしてみませんか?