• zsh
    • 安装zsh
      • oh-my-zsh
      • zshrc
      • oh-my-zsh插件
        • 自动跳转
        • fasd
    • 参考资料

    zsh

    zsh是shell语言类型,兼容bash,提供强大的命令行功能,比如tab补全,自动纠错功能等。缺点就是配置太麻烦,好在有一个叫做oh-my-zsh的开源项目,很好的弥补了这一缺陷,只需要修修改改配置文件,就能很顺手。

    安装zsh

    安装方式我使用:brew install zsh

    替换bash的方式:chsh -s /bin/zsh。关闭终端,再次打开即为zsh。

    注意:之前我们使用bash,我们为了使用brew安装的软件,修改了~/.bash_prorile文件,新的zsh自己也有配置文件,是~/.zshrc,需要将配置拷贝到~/.zshrc中。

    或者在安装完oh-my-zsh后,执行echo export PATH='/usr/local/bin:$PATH' >> ~/.zshrc

    oh-my-zsh

    由于zsh的配置是很复杂的,所以有这个一个开源项目oh-my-zsh,帮助我们简化zsh的配置。

    官网有自动安装的方法,我选择的是: curl -L http://install.ohmyz.sh | sh

    安装完成后,重启终端就能看到界面的变化了。zsh的配置文件是~/.zshrc,配色对应的是ZSH_THEME.

    zshrc

    zshrc是zsh的配置文件,我会在此添加一些alias设置。比如:

    1. alias st='open -a "Sublime Text"'

    oh-my-zsh插件

    oh-my-zsh的强大之处还在于提供了完善的插件系统。相关的文件存储在~/.oh-my-zsh/plugins中,默认提供了100多种。。。

    默认提供的插件是git,需要添加的话,修改~/.zshrcplugins=(git autojump)即可。

    自动跳转

    z和autojump。是两个可以实现自动跳转的插件,都是可以通过brew下载的。

    我目前使用的是autojump,通过brew install autojump下载,并且在~/.zshrc中修改plugins=(git autojump)。重启终端。

    使用就可以使用j来代替cd命令了,并可以添加自定义目录,具体使用说明参考autojump的文档或者autojump --help

    fasd

    fasd, 功能上和z, autojump差不多,功能和速度上更优。它会按照访问的频率记录下文件,帮助用户快速访问。

    安装还是通过brew: brew install fasd,安装之后,我安装官网的步骤,执行了:eval "$(fasd --init auto)", 且在zshrc中开启对应的配置:plugins=(git fasd), 重启终端即可使用。

    asd comes with some useful aliases by default:

    1. alias a='fasd -a' # any
    2. alias s='fasd -si' # show / search / select
    3. alias d='fasd -d' # directory
    4. alias f='fasd -f' # file
    5. alias sd='fasd -sid' # interactive directory selection
    6. alias sf='fasd -sif' # interactive file selection
    7. alias z='fasd_cd -d' # cd, same functionality as j in autojump
    8. alias zz='fasd_cd -d -i' # cd with interactive selection

    Example:

    1. f foo # list frecent files matching foo
    2. a foo bar # list frecent files and directories matching foo and bar
    3. f js$ # list frecent files that ends in js
    4. f -e vim foo # run vim on the most frecent file matching foo
    5. mplayer `f bar` # run mplayer on the most frecent file matching bar
    6. z foo # cd into the most frecent directory matching foo
    7. open `sf pdf` # interactively select a file matching pdf and launch `open`

    参考资料

    • 分享了下自己的终端环境,iTerm2,zsh,z,tmux。
    • 终极 Shell——ZSH