zshからbashに乗り換えた
これまで zsh + prezto を使っていて、シェルの起動が遅いのが気になっていた。ターミナルでウィンドウ開いてから2,3秒待つくらい。流石に遅い。
というわけでシェルの起動を早くしたいのと、そもそもbashで十分じゃないかと思っていたということでbashの設定を整えてみたのでまとめておく。
プロンプトを変更する
シンプルにカレントディレクトリだけ表示するようにした。プロンプトが長いのはあまり好きじゃない。
.bashrc に以下を記述
PS1="\[\e[1;34m\]\w\[\e[m\] "
\[\e[1;34m\]
で青色指定、\w
でカレントディレクトリを絶対パスで表示、\[\e[m\]
で先の色指定を解除。最後に半角スペース。
大文字小文字を無視
ディレクトリやファイル補完の際にストレスを感じないように。
~/.inputrc を作成し以下を記述
set completion-ignore-case on
PROMPT_DIRTRIMを設定
深い階層のディレクトリにいるときにプロンプトが長くなってしまわないように。
Before
After
.bashrc に以下を記述
export PROMPT_DIRTRIM=2 # カレントディレクトリから数えて2つ表示。それ以降は省略記号
なお、この設定はbash4以上でないと使えない。(参考:Shortening paths in the Bash prompt with PROMPT_DIRTRIM - Season of Code)
Macにデフォルトで入ってる /bin/bash
のバージョンは3.2.57 と古かったので、Homebrewで新しいbashを入れた。
brew install bash sudo sh -c "echo '/usr/local/bin/bash' >> /etc/shells" chsh -s /usr/local/bin/bash /usr/local/bin/bash --version #=> 4.4.5
fzf
fzfはzsh使っているときから使ってたけどね。 あまりに快適なのでbashにも導入。 プラグイン入れすぎて重くしないように気をつけないとね。
.bashrc
# fzf初期化。入っていない場合はインストール if which fzf > /dev/null 2>&1; then [ -f ~/.fzf.bash ] && source ~/.fzf.bash else git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf > /dev/null ~/.fzf/install > /dev/null source ~/.bashrc fi
fzfインストール済みなら初期化、未インストールならGithubからインストールするように書いてみた。
以下のコマンドを気に入っている。
C-r
: コマンド履歴検索。デフォルトではあいまい検索。^
とか$
を使って検索もできる。詳しくはREADMEのココを参照。
C-t
: ファイル名補完。再帰的にファイルを検索して、選択するとパスを補完してくれる。emacsとかcatとか、ファイル名を引数に取るコマンドの後にC-t
を押すと便利。
Alt-C
: ディレクトリ移動補助。再帰的にディレクトリを検索して選択すると移動する。これが一番気に入ってる。
所感
シェルの起動がめちゃ早くなった。とても快適。
設定少なめだけど十分快適な気がします。 とりあえずしばらく様子見。