詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

WezTermに移行した

PCを新調したのを期に、ターミナルの環境をiTerm2+tmuxをWezTermに移行した。とくに不満はなかったのだけど、iTerm2の設定をぽちぽちする*1ことを考えるとこれ数年おきにやるのか……と思ってしまったので心機一転、設定をLuaで管理できるというWezTermを使ってみることにした。

偶然以下の記事を見ていたのが大きい。設定も基本これをぱくった。

Okay, I really like WezTerm | Alex Plescan

いいところ

  • Luaで設定できる。別にLuaが書きたいわけではなくてVCSで管理できるのがよい。
  • WezTerm単体で、キーボードのみで文字列選択・コピーができる(Copy Mode)。これまではこの用途にtmuxを使っていたのでシンプルになってうれしい。
  • さらに、コピーしたいところまでカーソルを動かさなくていい Quick Select というモードがある。URLやパス、ハッシュ値などのパターンを画面内で認識して少ないキータイプでコピーできる。
  • tmuxと組み合わせるとiTerm2で実現できなかった(と思う)、シェルプロンプトへのジャンプができるようになった(Shell IntegrationScrollToPrompt)。
  • コマンドパレットがあるので、キーバインドを設定してない、自分が詳しくないコマンドもわりと簡単に実行できる。
  • wezterm のサブコマンドで画像の表示もできる(iTerm Image Protocol)。
  • カラーテーマがデフォルトで提供されている、設定ファイルは自動リロードされるなど細かいところも便利。

自分の設定

https://github.com/motemen/dotfiles/blob/master/.config/wezterm/wezterm.lua

だいたいドキュメントを読めばやりたいことは実現できるが、いくつか設定中に困ったところがあったので、メモしておく。

  • コピーモードに入る際に前回の検索内容をクリアできなくて、思ってないところにカーソルが飛んでしまうことがある。これはまだ修正されていないので、ワークアラウンド的に検索モードを抜ける際に検索内容をクリアすることで対応とした。
  • IMEでの変換時にCtrl-HするとWezTermにキー入力が食われちゃうので、config.macos_forward_to_ime_modifier_mask = 'SHIFT|CTRL' する。
  • カーソルを点滅させる設定は config.default_cursor_style = 'BlinkingBlock'

WezTermいいね。いっぽうでiTerm2には大変お世話になった。ありがとうiTerm2(寄付済み)。

*1:たぶん設定のエクスポートはできるが、やってなかった

はてなで一緒に働きませんか?