シェル大活用講座を企画し、CLI便利情報を手に入れた

今まで趣味でしか使ってなかったMacの作業効率を会社で見直したいなーとふわっとした思いをつぶやいたら、社内で講座の企画があっという間に持ち上がった。
さらにパワフルな若者が「シェル大活用大講座やるぞ!」って巻き込みを持ちかけてきたのでのっていきを示し、企画、運営を行った。

当日は5人のエンジニアの方々に普段使ってる環境の話や便利CLIツールを紹介頂き、聞きたい人は自由に会場に出入りできるスタイルにした。
発表いただいた方々のインターネット情報は以下の通り。

バタバタした進行になってしまったが、他の方々の協力もあり無事終えることができた。
ここではこの講座を受けたあとの自分への影響を以下にまとめる。

シュッと採用した

良さそう!と思って採用したり試したりしたことは以下のとおり。

bat

GitHub - sharkdp/bat: A cat(1) clone with wings.
catのおばけ。
行数表示、シンタックスハイライトにとどまらず、Git管理されたファイルであればdiffの+-も出しれくれるスグレモノ。
それでいて、パイプを渡すときちんとファイルの内容のみを拾ってきてくれる賢いやつ。
catとかlessとか使ってたやつは全部これに乗り換えた。
あとtigもそうなんだけど、起動している最中にhキーでヘルプ出してくれるの本当に親切だと思う。

exa

ogham/exa: Replacement for 'ls' written in Rust.
lsのおばけ。素早いとのこと。
まだちゃんとオプションを調べられていない…

git push origin HEAD

ブランチ名を入れなくてもHEADでpushできる知らなかったので採用!

hub

hub browseGitHub|GHEのリポジトリページに飛べる機能が超便利。
ブラウザに移ってどこだっけー?ってタブ探す時間が減ったので良かった。

tigのalias

tigはもともと使ってたんだけど、書く画面でaliasを設定できるので、hubと同様にhub browseを差し込んで手間を省いた。

目的と手段を間違えない心

異色の発表だったんだけど、心にグッサリくることになった。
ツールを遊び倒すことが目標になっちゃってるパターンにハマるのは良くないよね。って話だったんだけど、まさに自分がそうなのでめちゃくちゃ自戒することになった。
samurizeとか使ってデスクトップカスタマイズしてた過去があるので、変に凝ったりArch入れたくなるのわかる〜〜〜〜〜〜〜〜〜って心のなかでめっちゃ叫んでた。
実際家のVMで使ってるのmanjaroだし…仕事でpwshを使おうとして頓挫してるし… さらにこれ自作キーボードにも言えることだな…思って笑うしか無かった。

(参考)自分のやってた工夫

peco+ghq

よく紹介されているやつ。リポジトリを一括管理して素早く移動できるあれ。
qiita.com

git configに ghq.rootを設定しないといろいろ大変なことになるので気をつける。

alias

 alias g='git'
 alias gc='git commit'
 alias gco='git checkout'
 alias ga='git add .'
 alias gb='git branch'
 alias r='rails'
 alias rcs='rails console --sandbox'
 alias dc='docker-compose'
 alias amesh='docker run -e TERM_PROGRAM --rm otiai10/amesh'

よくある感じの。git addはtigでやってるからもう使ってないけど。
一番下はGitHub - otiai10/amesh: みんなだいすき東京アメッシュ!これ。ただの遊び心だけど、この前の豪雨をこれで察知したので役にはたってる…?

git config user

GitHubとGHEを複垢管理のためにgit config --localuser.name, user.emailを一括で設定する関数を作ってる。
これをgit initするときに呼んで最初のpush時に「アカウント間違えました ^q^」的な誤爆を防いでる。

やってみて

聞きに来ていただいた方々にも便利情報がまわり、設定を見直す機会を作ることができたのは本当に良かったと思う。
速を手に入れたので、更に手を動かして高速なアウトプットを心がけるぞ〜。