linux下安装zsh
本文针对Ubuntu,wsl-Ubuntu
安装zsh
进入bash,输入sudo apt-get install zsh
安装zsh
查看系统已安装的shells
安装完成后,输入cat /etc/shells
,查看当前系统安装的shell。
可以看到zsh在列。
设置zsh为默认shell
输入chsh -s /bin/zsh
设置zsh为默认shell
在输入echo $SHELL
查看当前shell,发现还是/bin/bash。
这时需要重启一下。
再次进入系统,输入echo $SHELL
,zsh已经是默认shell了。
安装oh-my-zsh
oh-my-zsh是zsh的一套配置,可以方便使用zsh。
on-my-zsh提供了方便的安装方式,执行下面命令就能自动安装了。因为需要从GitHub下载,可能比较耗时,要等一等。wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
执行完后如下图:
再执行source ~/.zshrc
使配置生效。
这里可能出现autoload: command not found报错,如下:
多番查找在ohmyzsh项目的这个issue中找到了答案,作者mcornella解释是因为在bash中执行的原因。
所以先退出当前的wsl,然后用wsl
命令而不是bash
命令进入wsl。重新进入后zsh应该已经生效了,如果没有生效可以再执行一次source ~/.zshrc
命令。
配置zsh插件
oh-my-zsh支持许多效率插件,可以增强终端功能。默认下oh-my-zsh只添加了git插件支持。使用vim ~/.zshrc
查看配置可以看到plugins列表中只包含了git插件。
zsh插件分为内置插件和非内置插件。
内置插件路径在
~/.oh-my-zsh/plugins
。可以cd进去看,里面包含了许多插件。使用内置插件直接在oh-my-zsh的插件列表中添加就行了。
例如要添加内置的adb插件,可以直接在.zshrc添加上plugins=(adb git)
,然后保存退出,执行source ~/.zshrc
生效。第三方插件需要自己去下载到指定目录下,然后再添加到oh-my-zsh插件列表中。最后执行
source ~/.zshrc
生效
添加zsh-autosuggestions插件
zsh-autosuggestions是一款自动提示命令的插件。当你输入指令时,会根据历史命令推测可能要输入的命令。按下方向键右键→就可以补全命令。
输入git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
把zsh-autosuggestions克隆到zsh的plugins目录下。
然后vim ~/.zshrc
进入zsh的配置文件再在plugins列表中添加插件。中间用空格隔开。
最后执行source ~/.zshrc
就能使配置生效。
生效后,输入命令时就能看到提示了:
添加zsh-syntax-highlighting插件
zsh-syntax-highlighting是一款语法高亮插件,当输入错误命令时,命令是红色的,正常则是其他颜色。
输入git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
把zsh-syntax-highlighting克隆到plugins目录下。
接下来的步骤和上面一样。
执行source ~/.zshrc
生效后就能看到效果了。
配置zsh主题
oh-my-zsh内置了一些主题,路径为~/.oh-my-zsh/themes
,可以cd进去查看主题,但是这里只列出了主题名称,不方便挑选。可以访问官方主题Wiki选择喜欢的主题。
例如如果要更换为ys主题,可以vim ~/.zshrc
进入配置文件,找到ZSH_THEME=robbyrussell
这一行(默认主题是robbyrussell),修改为ZSH_THEME=ys
保存退出。再执行source ~/.zshrc
生效。
这里ZSH_THEME的注释信息里提到如果把主题设置为random
则每次oh-my-zsh启动时都会随机挑选一个主题加载。要知道当前使用的主题,可以执行echo $RANDOM_THEME
查看。