zsh简介

Zsh是一个Linux下强大的shell, 由于大多数Linux产品安装,以及默认使用bash shell, 但是丝毫不影响极客们对zsh的热衷, 几乎每一款Linux产品都包含有zsh,通常可以用apt-get、urpmi或yum等包管理器进行安装
Zsh具有以下主要功能:

  • 开箱即用、可编程的命令行补全功能可以帮助用户输入各种参数以及选项
  • 在用户启动的所有shell中共享命令历史
  • 通过扩展的文件通配符,可以不利用外部命令达到find命令一般展开文件名
  • 改进的变量与数组处理
  • 在缓冲区中编辑多行命令
  • 多种兼容模式,例如使用/bin/sh运行时可以伪装成Bourne shell
  • 可以定制呈现形式的提示符;包括在屏幕右端显示信息,并在键入长命令时自动隐藏
  • 可加载的模块,提供其他各种支持:完整的TCP与Unix域套接字控制,FTP客户端与扩充过的数学函数
  • 完全可定制化

    安装zsh

  • 通过apt(ubuntu/debian)或者yum(redhat/centos)安装zsh:

    1. sudo apt-get install zsh
  • 将zsh配置为系统默认shell:

    1. chsh -s `which zsh`
    • 如果要切回到bash:
      1. chsh -s /bin/bash
  • 编辑/etc/passwd文件,修改root用户和当前用户的shell为:zsh

    1. vim /etc/passwd
  • Linux oh-my-zsh 安装和配置 - 图1

    安装oh-my-zsh

  • 直接使用命令的方式安装(官方源):

    • curl:

      1. sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    • wget:

      1. sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
  • 如果国内访问github太慢或无法访问可以试试gitee的镜像源:

    1. sh -c "$(wget -O- https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"

    配置oh-my-zsh

    设置主题

    官方主题

    oh-my-zsh集成了大量的主题, 位于oh-my-zsh/theme
    通过修改~/.zshrc中的环境变量ZSH_THEME来完成主题配置:
    Linux oh-my-zsh 安装和配置 - 图2
    还可以把主题设置为ZSH_THEME="random",就可以由系统随机选择

  • 如果设置了agnoster主题,terminal中出现乱码,则是需要安装字体:

    1. sudo apt-get install fonts-powerline


    推荐的官方主题:
    image.png

第三方主题

从以往的经验来看,第三方提供的主题总是比官方主题要好看漂亮很多,因此,我毫不犹豫地使用了 powerlevel10k,同时也向大家推荐该主题,因为真的好看 。

安装:

  1. git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
  2. # 如果github连不上可以使用 Gitee 镜像
  3. git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

安装完毕后需要更改配置文件 ~/.zshrc,将其中 ZSH_THEME 的值改为 powerlevel10k/powerlevel10k,如下:
image.png

同时,记得重新加载配置文件哦~ source ~/.zshrc
第三方主题一般会被放到 ${ZSH}/custom/themes/ 目录下。

输入 p10k configure 命令对 powerlevel10k 根据自己的喜好进行配置

安装配置插件

所有插件都列在Plugins,自定义插件可以安装在〜/.oh-my-zsh/custom/plugins
要使用插件,只需将其添加到〜/.zshrc文件中的插件列表即可。请按需添加,因为太多的插件会减慢shell的启动速度
插件之间使用空格分割
Linux oh-my-zsh 安装和配置 - 图5

colored-man-pages

可以为man手册提供高亮显示,自带插件添加到plugins中即可

zsh-syntax-highlighting

该插件可以为shell命令提供高亮显示,也可以根据颜色区分输入的命令是否正确

  • 安装:

    1. git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

    zsh-autosuggestions

    该插件可根据历史命令进行自动提示和补全

  • 安装:

    1. git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

    extract

    该插件可以在解压文件时使用 x + 文件名 的方式,会自动根据压缩文件的类型来匹配命令,自带插件添加到plugins中即可