前戏
查看系统当前使用的shell1
2$ echo $SHELL
/bin/bash
查看系统是否安装了zsh1
2
3
4
5$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
安装zsh
一般来说,直接运行
sudo apt-get install zsh
即可。当然也可以下载源Download zsh source,使用curl安装
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
把zsh设为默认终端
chsh -s $(which zsh)
重启系统,可使用
reboot
重启后,查看当前shell
1 | $ echo $SHELL |
安装oh-my-zsh
1 | wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh |
配置
1 | $ vim ~/.zshrc |
agnoster主题终端乱码的解决方案
1 | $ git clone https://github.com/powerline/fonts |
然后在配置终端,依次选择“编辑”->“配置文件首选项”,选择“自定义字体”,字体为“Ubuntu Mono derivative Powerline Regular”即可。
另外一种解决方案来自csdn:CoderMannul的博客
还有一种解决方案是1
$ vi ~/.zshrc
在文件中添加内容:1
export LC_ALL=en_US.UTF-8
并解除注释1
export LANG=en_US.UTF-8
接着重启终端,或输入
source ~/.zshrc
即可。以上两种解决方案一般不用,只有在第一种方案不行时才尝试一下。
小彩蛋:在~/.zshrc中添加1
export DEFAULT_USER="[你的username]"
即可隐藏固定的username@hostname信息。
另外,1
$ vim ~/.oh-my-zsh/themes/agnoster.zsh-theme
注释掉最下面1
2
3
4
5
6
7
8
9
10
11## Main prompt
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_context
prompt_dir
prompt_git
prompt_hg
prompt_end
}
中的一句
prompt_context
也能实现相同的效果。(一般不采用此方法)
启用插件
oh-my-zsh自带了一些默认主题,存放在~/.oh-my-zsh/plugins目录中,我们可以查看这些插件。
oh-my-zsh默认只启用git插件1
plugins=(git)
如需启用更多插件,只需加入需启用的插件名称即可,如1
plugins=(git history-substring-search)
小技巧
设置自动更新oh-my-zsh。默认情况下,当oh-my-zsh有更新时,都会给你提示。如果希望让oh-my-zsh自动更新,在~/.zshrc 中添加下面这句1
DISABLE_UPDATE_PROMPT=true
要手动更新,可以执行1
$ upgrade_oh_my_zsh
卸载oh-my-zsh,直接在终端中运行如下命令即可。1
uninstall_oh_my_zsh
安装没带的插件
安装zsh-syntax-highlighting语法高亮插件
1
2
3$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
$ echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
$ source ~/.zshrc安装zsh-autosuggestions语法历史记录插件
1
2
3
4
5$ git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
$ vim ~/.zshrc
plugins=(git zsh-autosuggestions)
source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh(加在zshrc文件最后一行)
$ source ~/.zshrc安装incr补全插件
1
2$ wget http://mimosa-pudica.net/src/incr-0.2.zsh
$ mv ~/incr-0.2.zsh ~/.oh-my-zsh/plugins/
将
source ~/.oh-my-zsh/plugins/incr/incr*.zsh
一句加在zshrc文件末尾,然后1
$ source ~/.zshrc
与vim的提示冲突的解决方案
使用自动补全插件可能会与vim的提示功能相冲突,如会报以下错误:1
2$ vim t
_arguments:451: _vim_files: function definition file not found
此时,将~/.zcompdump*删除即可1
2$ rm -rf ~/.zcompdump*
$ exec zsh
让Windows下的putty、secureCRT等工具支持Powerline,使得oh-my-zsh正常显示、不出现乱码
- 将这些工具的编码改为UTF-8
- 下载支持Powerline的字体(DejaVu for Powerline.zip),将解压后的tty文件拖入“C:\Windows\Fonts”下,重启工具更改设置,选择终端窗口使用的字体为“DejaVu for Powerline”即可。