简 述: 之前看旁边的同事大佬,在deepin里面的终端,和我用的终端有些不一样,那会大概是以为是使用了什么插件之类的吧。和浏览器插件相似,觉得安装之类的,可能会比较麻烦,于是乎没有压下去好奇心;但时间久了,总会心里痒痒难耐,一询问,告知是zsh,google一波,然后就在Linux上面也给布置了一套,还选用一套自己喜欢的主题, 美滋滋;回家再自己的mac上面,今天也想着也给换上zsh;习惯统一。

[TOC]


本文初发于 “偕臧的小站“,同步转载于此。


zsh介绍:

全名称:oh my zsh

官网:https://github.com/robbyrussell/oh-my-zsh

个人评价:相当于平行于bash的东西,或者是给加了一个漂亮的主题外壳,使用起来会看起来很舒服,且会有这很智能提示,当按下Tab按键后;主题很多,也可以喜欢自己搭配

其他:或许有那种使用高级东西,尝试新鲜没有试过的工具,遇到一个喜欢的会很开心,在新人面前可以秀一把(显得专业);最主要的自己使用的舒服,就会一直用下去,喜欢就好


检查是否已安装zsh:

  • 检查电脑是否有安装zsh
zsh --version

可以看到我的MacOS 10.14.6 (18G103)默认安装有的,其版本为zsh 5.3 (x86_64-apple-darwin18.0);

  • 查看配置文件,在~/.zshrc是否存在;我使用ls -a查看,是没有的;于是git clone后,想着复制文件到~/下面, 但是经过下载之后, 发现里面并没有这个文件; 于是乎我决定自己重新安装(下图为重新安装zsh之后的截图)

官网安装zsh:

运行如下命令:随后需要按一次回车, 和一次Y + 回车

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

安装成功, 查看~/.zshrc配置文件;


更换zsh主题:

官方自带的100多个主题,可以直接预览 https://github.com/robbyrussell/oh-my-zsh/wiki/Themes ,其中博主比较喜欢的一款主题是cloud

  • 使用vim编辑主题配置文件
vim ~/.zshrc
  • ZSH_THEME=设置为你喜欢的主题名称后, 保存退出;重启终端,即可见到主题切换成功

    ZSH_THEME=”robbyrussell” 修改为 ZSH_THEME=”cloud “


效果图:

没有切换之前的bash效果,感觉前缀太长:

切换后,当进入到含有.git的文件夹中,若是文件有修改或增加部分,但是没有git stash或者git add .里面的时候,是会有一个闪电提示;且时刻会一个小的[branch]当前分支的提醒,很是简介,但我想要的信息都给显示出来了,


查看zsh安装位置:

which zsh

会发现安装是在/bin/zsh里面的;所以下面的理解


从bash切换到zsh:

chsh -s /bin/zsh

从zsh切换到bash:

chsh -s /bin/bash

更新 2022-08-26

自 MacOS 10.15 起,其终端默认就是 zsh,安装或升级版本之后, 会提示 如下目录权限

☁  bin  . ~/.zshrc
[oh-my-zsh] Insecure completion-dependent directories detected:
drwxrwxr-x  3 winks  admin   96  8 25 09:10 /usr/local/share/zsh
drwxrwxr-x  6 winks  admin  192  8 25 09:39 /usr/local/share/zsh/site-functions

[oh-my-zsh] For safety, we will not load completions from these directories until
[oh-my-zsh] you fix their permissions and ownership and restart zsh.
[oh-my-zsh] See the above list for directories with group or other writability.

[oh-my-zsh] To fix your permissions you can do so by disabling
[oh-my-zsh] the write permission of "group" and "others" and making sure that the
[oh-my-zsh] owner of these directories is either root or your current user.
[oh-my-zsh] The following command may help:
[oh-my-zsh]     compaudit | xargs chmod g-w,o-w

[oh-my-zsh] If the above didn't help or you want to skip the verification of
[oh-my-zsh] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to
[oh-my-zsh] "true" before oh-my-zsh is sourced in your zshrc file.

解决

#6835

chmod 755 /usr/local/share/zsh
chmod 755 /usr/local/share/zsh/site-functions