この記事は今すぐalias登録すべきワンライナー by ゆめみ① Advent Calendar 2018の25日目の記事です。
ワンライナーでサクッと作業完了できる人かっこいいですよね。
"今すぐ登録すべきalias"ということで普段業務中にでごりごりと使っているワンライナーをご紹介。
とりあえず自分がWebエンジニアなのでこのタイトルにしたけど、特にWeb系エンジニアに限った話ではない。(ただMac限定が多々あるけど許して)
ローカルサーバー立ち上げ
さくっとビルドインサーバー立ち上げたい時ありますよね。
alias phpS='php -S localhost:9000'
Googleの検索
ソース読んでて知らない気になる関数出てきた時、コピペしていちいちブラウザから検索みたいなことはしてませんよね。(本当はググらなくてもわかるような男になりたい)
alias goo='open https://www.google.co.jp/search\?q\=`pbpaste`'
コピペしたものじゃなくてブラウザに打ち込むように検索したいという方はこちら。
alias goo='open https://www.google.co.jp/search\?q\=`read s;echo $s`'
ワンライナーじゃないのでごめんなさいですが、普段はこっちの関数にした版を使ってます。
alias goo='searchByGoogle' function searchByGoogle() { # 第一引数がない場合はpbpasteの中身を検索単語とする [ -z "$1" ] && searchWord=`pbpaste` || searchWord=$1 open https://www.google.co.jp/search\?q\=$searchWord }
jsを実行
手軽にjsを実行したいとき
alias js='osascript -l JavaScript' # js test.js
一番直近に変更があったファイルをlessする
これは結構気に入ってる。
カレントディレクトリ内の最新のファイルをlessでちら見できる。本番サーバーに入って調査する時重宝マン。
今日のアクセスログ見るときとかに便利。
alias late='less $(echo `ls -t | head -n 1`)'
lessをなくして単純にファイル名だけ取得したいエイリアスも登録してる。
alias fin='echo `ls -t | head -n 1`'
modifiedのファイルを全てVimのタブで開く
vimのタブ機能便利ですよね。 編集してたファイルをとりあえず一気に開きたい時に便利です。「s」は複数形のsです。
alias vims='vim -p `git diff --name-only`'
ブラウザからコピーした時など、プレーンテキストに戻したい時に使用
GmailやYahooでコピペしてそのまま貼り付けるとリッチテキストになるのでそれを回避。
alias pcopy='pbpaste | pbcopy'
空行を削除
こんぐらい覚えておけよって感じですが打つのもしんどいので登録してる。
alias demp='sed "/^$/d"'
さくっとwifiをOFF/ONする
なんか通信の調子が悪いなって時、まず真っ先にwifiを切りますよね。ええ。
alias wifiConnect='networksetup -setairportpower en0 off && networksetup -setairportpower en0 on'
Git系
git系はたぶん皆さん色々設定してますよね。よく使うやつだけ載せておきます。
# 空白等の差分は無視して表示 alias gd='git diff -b' # 現在のブランチをoriginにpushする alias po='git push origin $(git branch | grep "*" | sed -e "s/^\*\s*//g")' # 現在のブランチをpullする alias gpl='git pull --rebase origin $(git branch | grep "*" | sed -e "s/^\*\s*//g")' # git checkout branchをfzfで選択 alias co='git checkout $(git branch -a | tr -d " " |fzf --height 100% --prompt "CHECKOUT BRANCH>" --preview "git log --color=always {}" | head -n 1 | sed -e "s/^\*\s*//g" | perl -pe "s/remotes\/origin\///g")' # 全てのファイルをgit checkout alias gca='git checkout $(git status -s | grep -v \? | grep -E "^.M" | perl -pe "s/(?<=^.{0}).{3}//g")'
特にco
はもう手放せないかなあ。git checkout ブランチ名
をfzfでサクッと実行するやつなんだけど、普通にgit checkout XXX
と打つのが考えられないくらいには楽。
終わり
改めてzshrcを見直してみるとaliasに設定してあるのはあんまりなくて、大体関数にしちゃっていた。
ワンライナーじゃなくて「お前らが考えるハイパー便利なshellスクリプト教えろ」とかもあったら参加したい。
BitbucketとかRedmineなど実際の業務だと連携するツールがあると思うので、他の人がやっている楽ちん連携コマンドとか見てみたい。
いやあでもやっぱり他の人が設定してるalias見るの楽しい。来年もぜひこのアドベントカレンダーやってほしい。