Shell的唯一选择--zsh

作者: lingyv | 来源:发表于2016-05-06 14:12 被阅读3202次

    有些同学可能对Shell不太熟悉。借用池建强的一个解释:简单的说,Shell是Linux/Unix的一个外壳。它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序。
    Linux/Unix提供了很多种Shell,输入以下的命令查看有哪些Shell:

    cat /etc/shells
    
    shell.png
    Linux的默认 Shell 都是 bash,既然如此,那我今天为什么要说zsh呢?因为zsh搭配上"oh my zsh"真的好用到爆啊!"oh my zsh"的Github网址点我点我!
    那么如何安装、配置和使用 zsh(我用的是Ubuntu)

    1. 安装zsh

    sudo apt-get install zsh
    

    2. 安装oh my zsh

    wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
    

    3. 配置zsh

    zsh的配置在当前用户目录的.zshrc里。oh my zsh 在安装时已经自动读取当前的环境变量并进行了设置,你可以继续追加其他环境变量。

    • 换主题
      打开~/.zshrc。oh my zsh提供了数十种主题,相关文件在~/.oh-my-zsh/themes下,你可以随意选择,我采用的是ys主题。
      在~/.zshrc文件中找到
    ZSH_THEME="ys"
    

    更改成你想要的主题就好了。

    • 插件
      oh my zsh里提供了非常多的插件,相关文件在~/.oh-my-zsh/plugins文件夹下,默认有100多种,我们可以根据自己的实际需要加载特定的插件。插件也是在~/.zshrc里配置,找到plugins关键字,你就可以加载自己的插件了,系统默认加载 git ,你可以在后面追加内容。
    plugins=(git autojump mvn last-working-dir)
    

    下面简单介绍一下我用的这几个插件:

    • git:当你处于git的目录下时,Shell 会明确显示 git和 branch,如图所示,另外对 git 很多命令进行了简化,例如 gco=’git checkout’、gd=’git diff’、gst=’git status’、g=’git’等等,熟练使用可以大大减少 git 的命令长度,命令内容可以参考~/.oh-my-zsh/plugins/git/git.plugin.zsh


      git.png
    • autojump
      autojump可以说是zsh必备插件,有点双剑合璧的意思。安装了autojump之后,zsh会自动记录你访问过的目录,通过j+目录就可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过~/workspace目录,输入j wor即可正确跳转,如图。j –stat 可以看你的历史路径库。


      autoj.png
    • last-working-dir
      last-working-dir 插件,可以记录上一次退出Shell时的所在路径,并且在下一次启动Shell时自动恢复到退出时所在的路径。这一切不需要进行任何操作,全部都是自动完成的。
    • 命令纠错
      如图,输入
    sudp apt-get install 
    

    nyae会提示zsh: correct 'sudp' to 'sudo' [nyae]?接下来直接按y/n就行了。真是太贴心了有木有


    nyae.png

    那如何开启nyae提示呢?
    打开~/.zshrc,找到配置项更改为“true”即可

    # Uncomment the following line to enable command auto-correction.
     ENABLE_CORRECTION="true"
    

    4. 指定zsh为默认Shell

    输入命令

    chsh -s /bin/zsh
    

    5. zsh操作

    • 输入 grep 然后用上下箭头可以翻阅你执行过的所有 grep 命令
    • tab补全:路径补全、命令补全,命令参数补全,插件内容补全等等。触发补全只需要按一下或两下 tab 键,补全项可以使用 ctrl+n/p/f/b上下左右切换。
    • 目录浏览和跳转:输入 d,即可列出你在这个会话里访问的目录列表,输入列表前的序号,即可直接跳转


      dshell.png
    • 在当前目录下输入 .. 或 … ,或直接输入当前目录名都可以跳转,不再需要输入 cd 命令了。


      cdzsh.png

    相关文章

      网友评论

      • xinxingzhao:zsh用起来确实爽,文章里很多技巧都没用过

      本文标题:Shell的唯一选择--zsh

      本文链接:https://www.haomeiwen.com/subject/tladrttx.html