Pythonで仮想環境を切り替えたり、本番環境やテスト環境にssh接続したりといった作業をするときに、ターミナルで複数の画面を立ち上げているのですが、目的の画面を探すのが面倒だったので一限管理できるものはないか探していました。
すると「tmux」という端末多重化ツールがあるようでしたので、今更ながら試してみました。
*tmux とは
端末多重化ツールです。画面分割をして複数の仮想端末の操作ができるため、複数のサーバーにログインしたりプログラムを実行したり、ファイルを参照しながら作業をしたりすることができるようになります。~/.tmux.conf
を作成して設定を記述しておくと、新規セッション作成時に読み込まれるので、デフォルトの設定として起動することができます。バックグラウンドでも動くので、ネットワークが切れても再開することが可能です。
*環境
- MacOS
- tmux 2.7
*参考
*基本操作
- インストール
$ brew install tmux
- 起動
$ tmux
セッションにアタッチした状態になります。- 現在起動中のセッションの確認
$ tmux ls
0: 1 windows (created Mon Jul 16 11:23:41 2018) [128x23]
1: 2 windows (created Mon Jul 16 11:29:04 2018) [166x34]
2: 1 windows (created Mon Jul 16 13:10:28 2018) [166x34] (attached)
- 現在起動中のセッションに接続されているクライアントの確認
$ tmux lsc
/dev/ttys004: 2 [166x35 xterm-256color] (utf8)
- 画面の水平分割
Control + b
のあとに"
を入力します。
- 画面の垂直分割
Control + b
のあとに%
を入力します。
- ペイン間の移動
Control + b
のあとにo
を入力します。Control + b
のあとにq
を入力すると各画面にインジケーター番号が表示されるので、Control + b
のあとにq + {番号}
を入力してその画面に移動することも可能です。
- ペインの分割解除
Control + b
のあとにx
を入力します。
画面下にkill-pane 1? (y/n)
と表示されるので、yを入力すると画面の分割が解除されます。
- 新規ウィンドウの作成
Control + b
のあとにc
を入力します。
新しい画面がひらきます。
- ウィンドウの一覧表示
Control + b
のあとにw
を入力します。
一覧が表示されるので、矢印キーで選んでその画面に移動することもできます。
Enterなど他のボタンを押すと、前の画面に戻ります。
- ウィンドウの削除
Control + b
のあとに&
を入力します。
画面下にkill-window bash? (y/n)
と表示されるので、yを入力すると開いていた画面が削除されます。
- セッションのデタッチ
Control + b
のあとにd
を入力します。
元のターミナルの画面に戻ります。
- 現在起動中のセッションの削除
直近でアタッチしていたセッションが削除されます。指定する場合は-t {target-session}
を付けます。
$ tmux kill-session
- 全てのセッションの削除
作成したセッションが全て削除されます。
$ tmux kill-server
*使ってみた所感
複数の画面を1つで管理できるので、わざわざ画面を起動し直したり、画面を探したりする手間が省け、作業の効率化に役立ちそうです。操作方法に慣れれば非常に便利だと感じました。今後はtmuxを使っていきたいと思います。
Sign up here with your email
ConversionConversion EmoticonEmoticon