Tmuxのための最高の生産性プラグイン5選

コンピュータの前で作業している人の写真.

Tmuxは、異なるコンソールセッションを統合し管理できる優れたターミナルマルチプレクサです。そのコア機能はほとんどのユースケースをカバーしていますが、プラグインフレームワークもあり、ニーズに合わせてプログラムを形作ることができます。この記事では、ターミナルのワークフローを最適化するのに役立つTmuxの最高のプラグインのいくつかを紹介します。

1. tmux-menus

Tmuxに不慣れな場合、すべてのキー操作を学ぶのは難しく、厄介です。直感的でない連携ショートカットを持つため、コピー モードやペイン マーキングなどのあまり知られていないTmux機能のキー操作を忘れがちです。

マークされたペインとコピー モードのペインを持つマルチペイン Tmux セットアップを示すターミナル.

Tmux-menusは、この問題に対処するシンプルなプラグインです。Ctrl + \ (バックスラッシュ)を押すことでアクセスできるクリーンで直感的なTUIベースのメニューを提供します。内部には、必要なものを視覚的に選択できるようにするためのすべてのTmux機能が含まれており、キーボードショートカットを暗記する必要はありません。

tmux-menusプラグインが動作しているターミナルを示す.

Tmuxをアクセスしやすくするだけでなく、Tmux-menusの気に入っている点は、設定可能性です。プラグイン内のすべてのメニュー項目は、シェルスクリプトへのリンクです。つまり、少しBashの知識があれば、Tmux-menusにカスタム関数を簡単に追加できます。

tmux-menusのカスタム「オンザフライ」設定メニューを示すターミナル.

2. tmux-resurrect

Tmuxの最大の痛点の1つは、ステートレスプログラムであることです。つまり、閉じるとセッションに関する情報を記憶しません。個人的には、コンピュータを再起動するたびにTmuxのレイアウトをやり直さなければならないので、これが非常にイライラします。

突然切断されたTmuxセッションを示すターミナル.

Tmux-resurrectは、この問題を解決するのに役立つツールです。ウィンドウの順序やペインのレイアウトを含む、全体のTmux環境を保存するシンプルなプラグインです。また、セッションの増分スナップショットを保存するため、Tmuxのセットアップの異なるバージョンを「過去に戻って」読み込むことができます。

Tmuxレイアウトの内部を示すターミナル.

Tmux-resurrectのもう1つの気に入っている機能は、実行中のプログラムの状態を保存できることです。実装は完璧ではなく、この機能はごく一部のアプリにしか対応していませんが、プラグインはそれをうまく処理し、Tmuxのセットアップをよりシームレスにします。

プログラムの状態を回復するプロセスを含むtmux-resurrectの復元プロセスを示すターミナル.

知っておくと良いこと: Tmux-resurrectがどのように魔法をかけるのかに興味がありますか?セッション内のウィンドウとペインを管理する方法について深く掘り下げてみてください。

3. tmux-notify

バックグラウンドプログラムを追跡するのは、複数のTmuxペインやセッションを扱っていると難しい場合があります。私の経験では、これによりバックグラウンドでコマンドを実行していることを忘れ、誤ってTmuxを閉じてしまう瞬間がありました。

最近閉じたTmuxセッションを示すターミナル.

Tmux-notifyは、プロセスが終了したときに通知を送信するプラグインです。アクティブなTmuxペインがBashシェルプロンプトに移行したことを確認することで機能します。プラグインはlibnotifyメッセージを送信し、視覚的なターミナルベルまたは音のピンのいずれかになります。

実行中のTmuxタスクのlibnotifyトースト通知を示すターミナル.

その通知スタイルはほとんどのユーザーに適していますが、Tmux-notifyはTelegramボット、Pushoverアラート、およびカスタムコマンドのサポートも提供しています。これにより、ほぼすべてのワークフローにTmux-notifyを統合でき、ターミナルセットアップを調整したい人にとって魅力的なオプションとなります。

余談: コマンドラインに不慣れですか?Linuxターミナルの初心者向けガイドをチェックして、正しいスタートを切りましょう。

4. tmux-jump

バッファナビゲーションは、Tmuxの最も扱いにくい部分の1つと言えるでしょう。マルチプレクサは、コピー モードやウィンドウフォーカスの外での移動のための組み込みキーボードショートカットを提供していません。日常的な生産性タスクにTmuxを使用している私にとって、この奇妙な特性は特に長いターミナルセッションでは面倒でイライラします。

Tmux-jumpは、この問題を解決し、Tmuxペインのナビゲーションを簡単かつ直感的にします。Vimiumからインスピレーションを得て、キーワードヒントを使用してTmuxウィンドウ内に「ジャンプポイント」を作成します。これにより、複雑なショートカットに頼ることなく、Tmux内を迅速に移動できます。

Tmux-jumpのキーワードヒントを示すターミナル.

Tmux-jumpは、Vim用のEasyMotionなどのプラグインと組み合わせると最も輝きます。私の場合、このセットアップは、ターミナルとテキストエディタが同じ移動キーバインドに従う一貫したワークフローを作成します。これにより、IDEのように振る舞うため、Emacsのようなフルスイートプログラムを再現するのは難しいです。

マルチペイン Tmux セットアップで動作しているキーワード ヒントを示すターミナル.

5. treemux

Treemuxは、Neovimのツリー形式のファイルブラウザをTmuxにシームレスに統合する強力なプラグインです。フォルダをナビゲートしたり、ファイルを開いたり、現在の作業ディレクトリを表示したりできます。これは、Tmux内にNeovimベースのIDEを作成したい場合に非常に貴重なプラグインです。

1つのTmuxペインで動作しているTreemuxプラグインを示すターミナル.

Treemuxの開発者は、プラグインをできるだけ目立たないように設計しました。デフォルトでは表示されず、接続されているペインに応じてサイズを調整します。そのため、Treemuxは、最小限の気晴らしで「禅のような」ターミナルを好む場合に優れたプラグインです。

個々のペインで動作しているTreemuxプラグインを示すターミナル.

最後に、Treemuxには、プラグインのデフォルト機能セットを拡張するいくつかのNeovim拡張があります。tmuxsend.vimは、TreemuxからTmuxへのフルパスの送信をサポートし、ファイル参照を迅速かつ簡単にします。一方、nvim-tree-remote.nvimを使用すると、マウスでダブルクリックしてTreemuxでファイルを開くことができます。

結局のところ、Tmuxは単なるマルチプレクサプログラムであり、これらのプラグインは現在の機能を拡張するだけです。ターミナルがあなたのためにできることを拡張したい場合は、同僚が素晴らしいアプリでターミナルを強化した方法をチェックしてください。

画像クレジット: Grok via x.ai. すべての変更とスクリーンショットはRamces Redによるものです。