因为 bash 的自动补全是在太捉急, 我还是默认 zsh 好了, 慢一点... 但是不用切换来切换去. 而且 alfred 运行 Terminal/Shell 也一点不好用.
因为 zsh 启动太慢 (装了 oh-my-zsh), 决定把默认 shell 换成 bash. 一般情况下打开 terminal 用 bash 即可, 有需要才换到 zsh.
首先在 .profile 里面加上 locale 配置:
export LC_CTYPE=UTF-8
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="en_US.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
export LC_ALL=
安装新版本的 bash 并更新自己的默认 shell:
brew install bash
sudo -s echo /usr/local/bin/bash >> /etc/shells
chsh -s /usr/local/bin/bash
再安装 fzf (brew install fzf
) 并给 .bashrc 加上:
export PS1="> "
export EDITOR=vi
export PATH=/Users/zxtang/.fzf/bin:$PATH
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
fd() {
DIR=`find * -maxdepth 0 -type d -print 2> /dev/null | fzf-tmux` \
&& cd "$DIR"
}
这样就能用 fzf 来搜 command history, 用 c-t 来打开文件列表, escape c 打开文件夹列表. 当你嫌 escape c 太慢, 你可以用 fd 来切换文件夹.
如果新建的 shell 没有 source 你的 .bashrc 文件, 你可以新建一个 ~/.bash_profile 并放入:
[[ -f ~/.bashrc ]] && source ~/.bashrc
ZSH 也可能没有 source 配置项, 可以往 .zprofile 放入:
[[ -f ~/.zshrc ]] && source ~/.zshrc
references: