Linux安装配置zsh


linux下安装zsh

本文针对Ubuntu,wsl-Ubuntu

安装zsh

进入bash,输入sudo apt-get install zsh安装zsh

查看系统已安装的shells

安装完成后,输入cat /etc/shells,查看当前系统安装的shell。
可以看到zsh在列。
cat shells

设置zsh为默认shell

输入chsh -s /bin/zsh设置zsh为默认shell

在输入echo $SHELL查看当前shell,发现还是/bin/bash。
这时需要重启一下。
再次进入系统,输入echo $SHELL,zsh已经是默认shell了。
echo 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
执行完后如下图:
ohmyzsh

再执行source ~/.zshrc使配置生效。
这里可能出现autoload: command not found报错,如下:
autoload: command not found
多番查找在ohmyzsh项目的这个issue中找到了答案,作者mcornella解释是因为在bash中执行的原因。
source error answer

所以先退出当前的wsl,然后用wsl命令而不是bash命令进入wsl。重新进入后zsh应该已经生效了,如果没有生效可以再执行一次source ~/.zshrc命令。

配置zsh插件

oh-my-zsh支持许多效率插件,可以增强终端功能。默认下oh-my-zsh只添加了git插件支持。使用vim ~/.zshrc查看配置可以看到plugins列表中只包含了git插件。
git plugin

zsh插件分为内置插件和非内置插件。

  • 内置插件路径在~/.oh-my-zsh/plugins。可以cd进去看,里面包含了许多插件。使用内置插件直接在oh-my-zsh的插件列表中添加就行了。
    例如要添加内置的adb插件,可以直接在.zshrc添加上plugins=(adb git),然后保存退出,执行source ~/.zshrc生效。

  • 第三方插件需要自己去下载到指定目录下,然后再添加到oh-my-zsh插件列表中。最后执行source ~/.zshrc生效

官方的插件Wiki

添加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列表中添加插件。中间用空格隔开。
add plugin

最后执行source ~/.zshrc就能使配置生效。

生效后,输入命令时就能看到提示了:
auto suggest

添加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 syntax highlight

配置zsh主题

oh-my-zsh内置了一些主题,路径为~/.oh-my-zsh/themes,可以cd进去查看主题,但是这里只列出了主题名称,不方便挑选。可以访问官方主题Wiki选择喜欢的主题。

例如如果要更换为ys主题,可以vim ~/.zshrc进入配置文件,找到ZSH_THEME=robbyrussell这一行(默认主题是robbyrussell),修改为ZSH_THEME=ys保存退出。再执行source ~/.zshrc生效。
ys theme
ys

这里ZSH_THEME的注释信息里提到如果把主题设置为random则每次oh-my-zsh启动时都会随机挑选一个主题加载。要知道当前使用的主题,可以执行echo $RANDOM_THEME查看。


文章作者: suifeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 suifeng !
  目录