起動可能なtmux構成を作成しますか?


24

私は頻繁に同じことをやっていますtmux

  1. cd 指定されたディレクトリに。
  2. tmux
  3. ウィンドウの名前を私がやっていることに変更します。
  4. ウィンドウを垂直に50%分割します。
  5. 左側のウィンドウで1つのプロセスを開始します。
  6. 右側のウィンドウで別のプロセスを開始します。
  7. 利益。

単一のコマンドを実行して探しているウィンドウを取得できるように、これらすべての起動を自動化する方法はありますか?


シェルエイリアスはどうですか?
マルコ

回答:


22

Archwikiは時間を節約します!tmuxページのセッション初期化に例を示します。

それはようtmuxのを開始すると、代わりにtmuxtmux new -s nameそれは代わりにそれに数を与えるの起動時にセッションに名前を付けます。

セッションの初期化


〜/ .tmux.confにこれらの詳細を含めることにより、tmuxにプリロードされたウィンドウでセッションを開くことができます。

new  -n WindowName Command
neww -n WindowName Command
neww -n WindowName Command

分割ウィンドウ(複数のペイン)でセッションを開始するには、分割するnewwの下にsplitwコマンドを含めます。したがって:

new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

2つのウィンドウを開き、2番目のウィンドウはfoo / barと名付けられ、barの上でfooが実行されて垂直に半分(50%)に分割されます。フォーカスはウィンドウ2(foo / bar)、上部ペイン(foo)にあります。

注:.confでbase-indexに1を指定していない限り、セッション、ウィンドウ、およびペインの番号は0から始まります。

複数のセッションを管理するには、confファイルから個別のセッションファイルを取得します。

# initialize sessions
bind F source-file ~/.tmux/foo
bind B source-file ~/.tmux/bar

6

Robの答えは素晴らしく、tmux自体からセッションを処理する方法を正確に説明しています。サードパーティ製のツールを使用してもかまわない場合、tmuxinatorセッションの作成と管理を簡単に行うのに役立つ素晴らしいプロジェクトです。

各セッションは、設定ファイルによって制御されます。このファイルを使用すると、すべてのウィンドウとペインを、それらのレイアウトとそれらの中で実行するデフォルトのコマンドとともに定義できます。また、デフォルトのプロジェクトディレクトリ、特定のソケット、実行に必要なデーモン(mysqlなど)を定義することもできます。さらに、それらに簡単にアタッチする方法を提供します。単に実行するだけでmux [session-name]、セッションを開始するか、すでに実行されている場合はアタッチします。私は少しの間それを使っていて、それを愛しています(おかげでaziz!)。

https://github.com/aziz/tmuxinator

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.