(1) Zsh和Oh-my-zsh的安装
(1.1) install zsh
OSX自带了zsh,不必再安装. 对于Redhat系/Debian系的Linux,使用yum/apt-get工具安装: sudo -c 'yum install zsh'
.
(1.2) install oh-my-zsh
方式1 自动安装:wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
方式2 手动安装:git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
(2) 切换到zsh
已经安装完了zsh和oh-my-zsh,接下来在终端里输入zsh
就可以进入了.
然后输入chsh
把默认的bash切换到zsh,chsh
的具体用法可以man.
(3) zsh的简单体验
zsh的自动补全很强大,所有你能想象到的都可以用tab
触发补全,甚至kill这样的命令也支持补全了-.-! 比如想kill掉fcitx,直接输入kill fcitx
再加tab
就可以了,你会看到zsh已经把有关fcitx的进程id都列出来,我觉得时间久了会被zsh的智能补全惯坏,对不对?
在.zshrc里加入alias -s c=gvim
,就相当于把*.c文件和gvim关联起来了,假如我当前目录下有个test.c文件,在终端直接输入test.c
+回车,gvim就自动打开这个文件了,很方便.
当然,还支持
alias -s tgz='tar -xzvf' |
这样的关联,你再也不必记住tar
的z和j参数了!
(4) zsh的主题/插件
zsh的配置文件在~/.zshrc
,打开后找到”ZSH_THEME”一行: ZSH_THEME="robbyrussell"
修改这里可以改变zsh的主题.
更多的主题可以在~/.oh-my-zsh/themes目录找到.
再找到”plugin”一行:plugins=(git ruby autojump mvn gradle)
上面分别启用了git,ruby,autojump等几个插件. 其中git是默认已经安装的,下面介绍autojump:
(4.1) 插件之一autojump
autojump提供了一个快速切换当前目录的功能,比如我经常使用的目录是~/workspace,在任何目录下只要输入j wo
就能自动跳转到~/workspace了.
安装步骤:
git clone https://github.com/joelthelion/autojump.git |
不要忘记在.zshrc中启用autojump这个插件,并且在.zshrc里加入一行: [[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
之后你就能用j 目录名
快速切换目录了,甚至不用输入完整的目录名,autojump会根据你的使用习惯记录下常用目录,关于目录优先权重可以用autojump -s
查看:
22.4: /home/xxx/Dropbox/Fedora One
22.4: /home/xxx/Github
26.5: /home/xxx/Dropbox
(5) bye,bash
bash再见了,最后备份一下bash的配置cp ~/.bashrc ~/Dropbox/
我的bash里还有一些有用的东西,比如mark-directory,这个工具有些类似autojump,也是方便你在各个常用目录间跳来跳去的,只不过需要在目录下运行一下mark
加”书签”,然后j dir_name
跳转,当然也是支持tab补全的,食用方式也很简单,在.bashrc加入下面的配置:
mark-directory: provide a quick way to change directory from the command line |