优雅地乱玩Linux-2-zsh

作者: szhielelp | 来源:发表于2017-05-28 22:14 被阅读0次

    文章首发于http://szhshp.org/tech/2017/05/28/zshlaunch.html

    转载请注明

    更新历史:

    • 2017年05月28日
      • 攒写最初正文
    • 2017年07月09日
      • 添加插件推荐

    Zsh

    目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash,但是真正强大的 Shell 是深藏不露的 zsh, 这货绝对是马车中的跑车,跑车中的飞行车,史称『终极 Shell』,但是由于配置过于复杂,所以初期无人问津,很多人跑过来看看 zsh 的配置指南,什么都不说转身就走了。直到有一天,国外有个穷极无聊的程序员开发出了一个能够让你快速上手的zsh项目,叫做「oh my zsh」,Github 网址是:https://github.com/robbyrussell/oh-my-zsh。这玩意就像「X天叫你学会 C++」系列,可以让你神功速成,而且是真的。

    安装zsh和oh-my-zsh

    <pre >
    sudo apt-get install zsh git wget
    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    chsh -s /bin/zsh
    reset
    </pre>

    使用

    首先, 使用这行命令可以查看当前使用的Shell

    <pre >
    echo $SHELL
    </pre>

    设置Zsh为默认Shell

    正常情况, 运行下面代码即可:

    <pre class="">
    chsh -s /bin/zsh
    </pre>

    然鹅, 这里可能出现很多情况, 比如权限不够, 或者路径不是/bin/zsh, 这个时候先查看一下所有的Shell

    <pre >
    cat /etc/shells
    </pre>

    然后将zsh那个设置成对应的shell

    <pre >
    chsh -s [which zsh]
    </pre>

    但是, 这里依然不一定生效, 可能会出现chsh: PAM authentication failed的错误

    那么就使用这个方法:

    well, my solution maybe help you

    sudo vim /etc/pam.d/chsh

    then, comment auth required pam_shells.so

    sudo chsh [user] -s [which zsh]

    如果依然不行, 那么就只能直接修改sudo vi /etc/passwd文件

    Open /etc/passwd:

    sudo vi /etc/passwd
    Find the line with your username:

    username:x:1634231:100:Your Name:/home/username:/bin/bash
    and replace bash with zsh:

    username:x:1634231:100:Your Name:/home/username:/bin/zsh

    Log out and log in back for the changes to take effect.

    主题设置

    设置主题需要使用oh-my-zsh

    <pre >
    vi ~/.zshrc
    </pre>

    即可打开配置, 然后设置, 就可以使用oh-my-zsh下面theme文件夹里面的主题了

    <pre >
    ZSH_THEME=robbyrussell
    </pre>

    别名设置

    就是给累赘的命令行增加个别名, 在配置文件末端进行设置即可:

    <pre >

    Example aliases

    alias zshconfig="gedit ~/.zshrc"

    alias ohmyzsh="mate ~/.oh-my-zsh"

    alias cls='clear'
    alias show='nautilus'
    </pre>

    取消第一行注释之后就可以通过zshconfig快速打开配置文件了

    插件设置

    oh my zsh 项目提供了完善的插件体系,相关的文件在~/.oh-my-zsh/plugins目录下,默认提供了100多种,大家可以根据自己的实际学习和工作环境采用,想了解每个插件的功能,只要打开相关目录下的 zsh 文件看一下就知道了。

    插件也是在.zshrc里配置,找到plugins关键字,你就可以加载自己的插件了,系统默认加载 git ,你可以在后面追加内容,如下:

    <pre class="">
    plugins=(git textmate ruby autojump osx mvn gradle)
    </pre>

    autojump
    installation

    首先安装autojump:

    sudo apt install autojump
    

    最后把以下代码加入.zshrc(git是默认的插件):

    <pre class="">
    plugins=(git autojump)
    </pre>

    然后在最末端加入:

    <pre class="">
    [[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
    </pre>

    你可能需要在终端里面执行一次Reload或者Log Off一次才能看到改变

    这样就可以了

    使用

    最主要的就是j命令:

    <pre class="">
    j [name]
    </pre>

    autojump首先会查找含有上方关键字的路径的访问权重, 然后进入权重最大的那个文件夹, 当然需要你先进入一次这个文件夹

    可以通过输入:

    <pre class="">
    j --stat
    </pre>

    查看访问过的各个文件夹的权重

    Git

    默认开启的一个插件, 会在repo里面自动显示git相关信息

    Ubuntu

    这个其实只是一些alias而已

    主要有一些很好用的alias:

    ag = sudo Apt-Get
    agi = sudo Apt-Get Install
    agd = sudo Apt-Get Dselect-upgrade
    By now you already can guess almost all aliases

    系列文章

    优雅地乱玩Linux

    参考文献

    相关文章

      网友评论

        本文标题:优雅地乱玩Linux-2-zsh

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