美文网首页item2
Mac下终端配置Zsh(item2 + oh-my-zsh +

Mac下终端配置Zsh(item2 + oh-my-zsh +

作者: GeekerLou | 来源:发表于2018-10-15 14:09 被阅读187次

    前言

    一直羡慕别人拥有令人赏心悦目的终端,于是最近抽空查阅了一些前人的资料,加上自身的实践,配置了一下zsh的终端环境,使其提供一些更加人性化的功能:

    当前的zsh终端拥有语法高亮,命令行tab补全,自动提示符,显示Git仓库状态等功能。

    下面是最终完成的效果图:

    image

    闲话少说,下面正式开动安装和配置。

    安装步骤

    iTerm2

    下载

    首先我们下载的 iTem2 这个软件,比Mac自带的终端更加强大。直接官网 http://iterm2.com/ 下载并安装即可。

    配置

    1. 安装完成之后,打开iTem2 ,将iTem2 设置为默认终端:(菜单栏)iTerm2 -> Make iTerm2 Default Term。

      image
    2. 然后打开偏好设置preference,选中Keys,勾选Hotkey下的Show/hide iTerm2 with a system-wide hotkey,将热键设置为command+. ,这样你就可以通过ctrl+alt+T 的全局热键来打开或关闭iTerm2窗口,非常方便。


      image

    oh-my-zsh

    安装

    打开iTerm2,输入下面指令安装oh-my-zsh:

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

    Powerline

    安装

    如果不安装Powerline字体库,上面的主题会出现乱码。

    在官网有教程,我们只需要执行官网第一条安装指令就行

    如果你的终端能够正常执行pip指令,那么直接执行下面的指令可以完成安装:

    pip install powerline-status
    

    如果没有,则先执行安装pip指令

    sudo easy_install pip
    

    注意:如果执行pip install powerline-status发生如下的报错:

    ...
    OSError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/share'
    

    其实权限问题… OSError: [Errno 1] Operation not permitted , 各种的root都不可以,想到了一个粗暴的方式,直接针对share进行chmod的授权。 结果… 提示root也是没有权限操作系统的目录。 我突然发觉肯定是新版的osx有了某种机制制止我们直接的修改/System文档数据。

    现在的解决办法是取消SIP机制,具体做法是:

    重启电脑,按住Command+R(直到出现苹果标志)进入Recovery Mode(恢复模式)
    左上角菜单里找到实用工具 -> 终端,执行如下指令,重启Mac即可。

    $ csrutil disable
    

    我们现在再看看sip的状态, 这样就不会提示无法写入的权限提示了.

    $ csrutil status
    System Integrity Protection status: disabled.
    

    总结:如果在mac下碰到OSError: [Errno 1] Operation not permitted:的问题,就算用sudo 也无法解决,那肯定是sip在作怪了.如果想重新启动SIP机制重复上述步骤改用csrutil enable即可.

    字体库

    安装

    git clone https://github.com/powerline/fonts.git --depth=1
    cd fonts 
    ./install.sh
    cd ..
    rm -rf fonts
    

    配置主题

    1. 打开zsh配置文件:
    vim ~/.zshrc
    
    1. 利用vim查找快捷键/ZSH_THEME找到ZSH_THEME,将其值替换为agnoster.
    ZSH_THEME="agnoster"(agnoster即为要设置的主题)
    
    1. 保存后执行下面命令
    chsh -s /bin/zsh
    

    现在打开iTem2 会有乱码,还很丑, 别着急 ,我们去设置字体和配色。

    设置字体和颜色

    1. 打开iTerm2菜单栏,找到Preferences..选项:
    image
    1. 在profile选项卡下,选择text的tab页,将font的collecton选择为全部,font family选择为Roboto Mono Light for powerline,typeface选择为轻度,size选择为16。
    image
    1. Coloers选择Solarized Dark:
    image

    配置完成后关闭重启iTem2 。到现在为止,iterm2已经可以使用,起码是能看的了 ,接下来需要再美化一下。

    增加指令高亮效果

    简介

    指令高亮效果作用是当用户输入正确命令时指令会绿色高亮,错误时命令红色高亮。例如,当输入正确的指令pwd时,指令显示为绿色,当只输入pw时,当前系统上没有该指令,则判断指令有误或不完整,显示为红色。

    image

    下载插件

    首先,我们需要下载zsh-syntax-highlighting插件:

    1. cd到.zshrc所在目录,执行指令将工程克隆到当前目录:
    cd ~
    git clone git://github.com/zsh-users/zsh-syntax-highlighting.git
    

    配置插件

    1. 打开.zshrc文件,在最后添加下面内容
    vim ~/.zshrc
    
    source ~/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
    

    备注:如果希望自定义zsh-syntax-highlighting文件的目录,例如文件的完整路径是/user/GeekerLou/Public/zsh-syntax-highlighting,那么就需要将上述source语句修改为source ~/user/GeekerLou/Public/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

    1. 切换目录
    cd ~/.oh-my-zsh/custom/plugins
    
    1. 再次打开.zshrc文件,查找到plugins字段。
    vim ~/.zshrc
    /plugins
    
    1. 在后面添加zsh-syntax-highlighting插件名称。(zsh默认支持git,所以安装时自带安装了git插件,所以这里首次编辑时发现已经存在有git插件了)
    plugins=(zsh-syntax-highlighting git)
    

    修改完成后,保存文件。

    增加自动补全提示

    简介

    zsh 的命令补全功能非常强大,可以补齐路径,补齐命令,补齐参数等。(请问你记住 tar 的所有参数了吗,只要 tar -加 tab 键,再也不用 rtfm 了)

    image

    按下 tab 键显示出所有待选项后,再按一次 tab 键,即进入选择模式,进入选择模式后,按 tab 切向下一个选项,按 shift+tab 键切向上一个选项,ctrl+f/b/n/p 可以向前后左右切换。

    image

    下载插件

    首先,我们需要下载zsh-autosuggestions插件:

    cd ~/.oh-my-zsh/custom/plugins
    git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
    

    配置插件

    1. 再次打开.zshrc文件,查找到plugins字段:
    vim ~/.zshrc
    
    1. 添加zsh-autosuggertions,修改plugins字段为如下内容:
    plugins=(zsh-autosuggertions zsh-syntax-highlightin git)
    

    保存修改后退出。

    1. 切换目录,利用vim打开配置文件zsh-autosuggestions.zsh:
    cd~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
    vim zsh-autosuggestions.zsh
    
    1. 修改提示内容显示大小
      查找到ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE,将其值由默认值'fg=8'修改为'fg=10'
    ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'
    

    保存修改后退出。

    TODO

    后期考虑编写一个一键安装的执行脚本,一是方便小白用户,二是提升配置效率。

    参考资料:

    1. 高逼格终端iTerm2+Oh-My-Zsh自动连接远程服务器 解决rz/sz卡死 【亲测-完美】
    2. iTerm 2 && Oh My Zsh【DIY教程——亲身体验过程】
    3. Mac下终端配置(item2 + oh-my-zsh + solarized配色方案)
    4. 解决mac osx下pip安装ipython权限的问题

    相关文章

      网友评论

        本文标题:Mac下终端配置Zsh(item2 + oh-my-zsh +

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