search
LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

tmuxをMyPCに導入してみた。

この記事は、ITRCアドベントカレンダー2020の22日目です。

前日は Tatsumi Gamou さんの「Neovimでinit.luaを使う」です。

明日は未定...

はじめに

お疲れ様です。 @koseiinfratopです。自分は開発をするときに作業フォルダまでターミナルで移動し、code .を入力し、vscodeの起動・dockerコンテナを立ち上げる場合はその後docker-compose up -d => docker-compose exec サービス名 /bin/sh を行います。
しかし、、、、
この順序をよく間違えてしまいます。どのように間違えるかというと
1. ターミナルで作業フォルダまで移動
2. docker-compose up -d
3. docker-compose exec ....
4. code . .....

あ、、、もうdockerコンテナの中に入ってしまったからexitしてからcode .しなきゃいけねぇじゃん。。。

=> めんどくさい!!!!。
  1画面で複数のターミナルを開きたい。。。。
tmuxっていうのがそれを実現できるみたい。。。。
ということでtmuxをインストールしてみました。

導入

brew install tmux

使い方

prefix == Ctrl + b とキーボードのなんらかの文字を打つことによりいろいろできるみたい。

参考資料
tmuxチートシート

。。。。これじゃ手間がかかる。。。。。作業画面を1発で構築するコマンドを作るか!!!!

カスタマイズ

作業画面を1発で構築するコマンドを作る。

~/.scripts/Tmux.sh
#!/bin/zsh

# set tmux panes for original Tmux


if [ "$#" -eq 0 ]; then   #! 引数の数が0の場合
 tmux split-window -v    # ウインドウを上下ペインへ水平分割
 tmux resize-pane -D 7  # 下部ペインのサイズ変更
 tmux select-pane -t 0  # アクティブなペインの移動
 clear
else
 case $1 in
  1)
   tmux split-window -v
   tmux split-window -h # ウインドウを左右ペインへ垂直分割
   tmux resize-pane -D 7 
   tmux select-pane -t 1
   clear
   ;;
  2)
   tmux split-window -h
   tmux split-window -v
   tmux select-pane -t 1
   clear
   ;;
  docker) 
   cd ~/`dockerフォルダへのパス`
   tmux split-window -v
   tmux split-window -h
   tmux resize-pane -D 7 
   tmux select-pane -t 0 
   clear
   ;;
   vagrant)
    cd ~/`vagrantフォルダへのパス`
    tmux split-window -v
    tmux split-window -h
    tmux resize-pane -D 7
    tmux select-pane -t 0
    clear
    ;;
  *)
   echo [ERROR] no setting "$1"...
   ;;
 esac
fi  

ポイント:自分はよくvagrant, dockerフォルダを使用するので引数により複数のペイン上でフォルダ移動できるようにした。

aliasの設定
.zshrc
 alias Tmux="~/.scripts/Tmux.sh"

完成!!!

スクリーンショット 2020-12-22 10.23.37.png

これで少しはストレスがたまらずに開発できそう!!!

その他の参考資料
【shell】tmuxの作業画面を一発で構築するコマンドを作ってみた
(↑これを9割方パクらせていただきました。ありがとうございます。)

tmuxで快適なターミナル生活を送ろう
https://tanakatarou.tech/25/
https://sssslide.com/speakerdeck.com/chocoby/tmux

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0