※タイトルに①
とありますが,次回以降がある訳じゃない(気が向いたら書く)ので,そのあたりはご了承ください。
みなさん。zshを使っていますか。zshは好きですか。自分は大好きです。
自分がzshを使う理由として,「楽がしやすい」という点がかなり大きいです。
zshには楽をするための機能がたくさんありますが,その中でも自分が特に便利だと感じている機能の auto_cd
を紹介します。
auto_cd とは
auto_cd
は,「ディレクトリ名を入力したら自動でcdしてくれる」機能です。
% pwd
/home/stmkza
% ls -F
some_dir1/ some_dir2/ some_dir3/
こんな状態でsome_dir1
に移動したいとき,auto_cd
がOFFの場合は
% cd some_dir1
% pwd
/home/stmkza/some_dir1
と入力しますが,auto_cd
がONの場合は
% some_dir1
% pwd
/home/stmkza/some_dir1
と入力するだけで移動することができます。
設定方法
auto_cd
の設定をするのはとても簡単で,.zshrc
に
setopt auto_cd
と書くだけで有効化できます。
利点
cd
の3文字を入力しなくてもすみます。たった3文字ですが,それを1回入力するのに1秒かかり,1時間に5回cd
コマンドを使って,1日8時間の作業を月22日すると仮定すると,1年で3時間くらい1を節約することができます。
さらに便利な使い方
auto_cd
は標準ではカレントディレクトリ内のディレクトリしか指定できませんが,どこからでもそこに一瞬で移動できるようにしたいディレクトリなどがありますよね。自分はGitHubからcloneしたディレクトリを~/repos/github.com/
以下に置いているので,自分のレポジトリである~/repos/github.com/stmkza/
以下のディレクトリにはどこからでも移動できると便利です。また,ホームディレクトリ直下の場所にも直接移動したいです。
そんなときには環境変数cdpath
に移動したいディレクトリ名を↓のように書いたらそのディレクトリにも移動できます。
export cdpath=(~/repos/github.com/stmkza ~)
ただし,この設定をすると,cd
を使って移動したときにもそのディレクトリに移動してしまうので,そこは注意が必要です。
-
1秒 * 5回 * 8時間 * 22日 * 12ヶ月 = 10560秒 = 2時間54分 ≒ 3時間 ↩