いつもRailsとReactで開発しています。
エディターはVimでiTerm2です。OSはMacOS Mojaveです。
毎日複数のプロジェクトを切り替えるのが面倒くさかったので、自動化させました。
やりたいことは、ターミナルを立ち上げた時に、v
リターンするだけで、バババッとローカル開発環境が立ち上がってくれるというものです。
具体的には、pumaとwebpack-dev-serverとvimがそれぞれ3つのタブで開いてくれるというものです。毎回同じ操作をしていたので、とても便利です。
ホームディレクトリでvim v
でv(victoryのv)という新規ファイルを作成しその中に下のコードをコピーします。
#!/bin/bash
# ここはご自身のアプリの場所を指定してください。
cd /Users/hikaru/rails6-project
mysql.server start
osascript <<EOF
tell app "Terminal"
tell application "System Events" to keystroke "t" using command down
tell application "System Events"
delay 0.5
keystroke "bin/webpack-dev-server"
delay 0.5
keystroke return
end tell
end tell
EOF
osascript <<EOF
tell app "Terminal"
tell application "System Events" to keystroke "t" using command down
tell application "System Events"
delay 0.5
keystroke "vim"
delay 0.5
keystroke return
end tell
end tell
EOF
rails s
注意点:keystrokeで、"bundle exec rails s"とか打つと、スペースが日本語IMEに変換されて、その後の文字が変になります。なので、スペースを意味するkey code 49
を入れてやります。
keystroke "bundle"
key code 49
keystroke "exec"
key code 49
keystroke "rails"
key code 49
keystroke "s"
実行権限をつけてやる。
$ chmod 777 v
普通に実行するとカレントディレクトリは変化しない.
source をつけるとカレントディレクトリはそのままになります。
そこで、初期設定ファイルにエイリアスをつける。
これは、作ったファイルの数だけ設定する。x y zと増えたらその分aliasも作ります。
alias v='source v'
実行する!
$ . v
(ピリオドとvの間には半角スペースが必要)
この、ドットすら打つの面倒くさいので、/user/local/bin に作ったシェルスクリプトを入れましょう。パスが通っているはずなので、v エンターで、実行できるようになります。
mv ~/v /usr/local/bin/v
以上です。
シェルスクリプトとアップルスクリプトの組み合わせで色々自動化できそうです。
bundleとかgit pullとかyarnとか
追記20200206
Catarinaからbashじゃなくて、zshになったので、シェルスクリプトを書くときは、#!/bin/bash
ではなく、#!/bin/zsh
なのでご注意。
. v
で起動ではなく、./v
で起動になります。/user/local/bin に入れちゃえばv
リターンするだけで関係ないですけど。。念のため。
お読みいただきありがとうございました。