こんにちは、 id:numa08 です。
先日話題になっていたターミナルエミュレーター Wave Terminal が良い感じだったのでちょっと紹介します。
Wave Terminal のメリット、特徴
この1週間くらい使っていて気が付いたいくつかの特徴を挙げます。
各コマンドが別のセッションで動作する
ターミナルからコマンドを実行する際、結果がすぐに帰ってくる一般的なコマンドも多い一方でバックグラウンドで実行させっぱなしにしたいコマンドも多いです。今までは実行時に &
をつけてバックグラウンドとしたりTmuxを組み合わせる、複数ターミナルを起動するなどしていました。Wave Terminalの場合そもそも基本的にバックグラウンドで実行されるのでプロンプトを奪われません。
上記のキャプチャのようにnpm run build:watch
とfirebase emulators:start
を起動したらそれぞれが一つのセッションとしてサブウィンドウで表示されます。このままバックグラウンドで動作するのでプロンプトをそのまま利用可能です。
対話型のツールを起動した場合もサブウィンドウで実行されるためシェルのプロンプトとツールのプロンプトを同じ画面で表示可能です。大事な情報のコピペとかを忘れたとしてもわざわざ新しいターミナルを起動せずとも情報の閲覧や入力が簡単にできます。
内部でVSCodeが動く
codeedit
コマンドを使えばVSCodeをターミナル内で起動してファイルの編集が可能です。
もちろんvim/emacsが好きならそれで問題ないのですが、普段使っていないリモート環境に接続したとしてもローカルにあるエディタが利用できる点はメリットです。すべての環境の.vimrcを管理しているわけではないので。とりあえずVSCodeが起動すれば最低限のシンタックスハイライトや補完など効きますからね。
もちろんcodeeditコマンドもサブウィンドウで実行されるのでプロンプトを奪われません。エディタを起動した後で別の情報の閲覧しなければならなくなっても、画面移動やターミナルの移動は不要ですね。
Wave Terminal を使うには
macOSは公式サイトでバイナリが配布されていますし、brew install --cask wave
でインストールできるようです。Linux向けにもx86用とarm用のバイナリがそれぞれ配布されているのでダウンロードして実行するだけです。
私の環境はWindows + WSL2 + Ubuntu なので事前にgnomeをインストールしてGUIアプリを使えるようにしています。
まとめ
久々に良いなと思えるターミナルエミュレーターに出会えました。しばらくはWave Terminalを使って行こうと思います。