病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

zshっていうのがすごいらしい

今まで馬鹿正直にbashを使ってたんですが、この際だし変えてみるかーみたいな感じで。

まずはMacの標準シェルをzshに。10秒で出来るみたいです。
Mac のログインシェルを bash から zsh に10秒で変更する方法 | ウェブル

で、ちょっと遊んでみる

cd ~/Desktop
touch samplefile{0..100}

よくわからないけど100個ぐらいファイルができました。削除は

rm samplefile{0..100}

連番が便利みたいです。
UNIX今日の技 - UNIX今日の技/zsh

次に、補完を便利にしてみます。~/.zshrcを(開き|作り)、

autoload -U compinit
compinit

と書き込んで終了・再起動したあと、

ls -

と打ってタブを押すと、補完されます。
基本的には、.zshrcを編集して設定。

で、bashと違ってコマンドの左側(prompt)が気持ち悪いです。同じようにするには、.zshrcに

PROMPT="%m:%1~ %n$ "

とか書くとだいたいおんなじ感じになります。
zsh: 13. Prompt Expansion
色とかも変更すると、リモート作業か否かがわかりやすくて便利。

ファイルタイプに応じたaliasを使うと、ファイルを開くアプリを指定しなくても、
自動で開いてくれたり。shell junkyには必須?
【コラム】漢のzsh (16) 拡張子ごとにコマンドを自動実行 - 「alias -s」 | 開発・SE | マイナビニュース

履歴を

history

で表示して

r 123

とか履歴番号を指定すると、繰り返せる。historyのあとに番号を書くとその番号以降を参照するが、負数にすると「最後からn番目」を意味するので、

history -10

で最新10件を表示したり。履歴の共有とかも設定するといい。
zshとscreenの設定 - サーバー技術メモ

他にもいろいろ便利らしい。cdを履歴化したり。
Introduction of the ZSH
ウェブテコでzshについて発表したので資料を公開する - mollifier delta blog


このあたりで飽きたのでこんな感じで! 便利だよ多分!