1、查看当前shell

echo $SHELL

2、查看安装的shell

cat /etc/shells

查看可知

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

已安装了zsh

3、切换zsh shell或 bash shell

chsh -s /bin/zsh

chsh - s /bin/zsh ,总是提示 chsh: no changes made错误。那我我们尝试用sudo chsh -s /bin/zsh 在试一次。如果还是不行,就不用再弄了,直接用下面的方法吧!

提示chsh:no changes made 解决办法:终端输入:

dscl . -read /Users/$USER/ UserShell
exec su - $USER 

然后在输入密码即可.

切换bash shell

chsh -s /bin/bash

切换成功后,退出,再次进入的时候就切换bash成功了

4、安装 oh my zsh

Zsh和bash一样,是一种Unix shell,但大多数Linux发行版都默认使用bash shell。但Zsh有强大的自动补全参数和自定义配置功能等等,Github地址:https://github.com/robbyrussell/oh-my-zsh,可以让我们非常快速的上手zsh。推荐使用curl自动安装,执行命令行如下:

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

如果没切换,此时会提示切换,切换成功后,重启终端即可,变为→

5、开启更多方便快捷功能

5.1、主题选择

oh-my-zsh有很多漂亮的主题:

主题列表

主题文件在~/.oh-my-zsh/themes中

#进入themes目录
cd ~/.oh-my-zsh/themes
#查看有几个主题
ls | wc -l
#可以看到有141个主题

查看当前主题:

echo $ZSH_THEME

修改

vim ~/.zshrc

大概11行改为

ZSH_THEME="ys"

更新配置

source ~/.zshrc

5.2、安装工具插件

1、克隆项目

其中:$ZSH_CUSTOM 在安装oh-my-zsh已经设置了

1》自动补全

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

2》预发高亮

git clone http://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

2、在 ~/.zshrc 中配置名称[一般是插件文件夹名称即可]

vim ~/.zshrc
plugins=(其他的插件 zsh-autosuggestions)

3、使配置生效

source ~/.zshrc

6、快捷键

mac通用:commond+“+”:窗口 字体放大

012-mac下shell,zsh,oh-my-zsh,以及插件的更多相关文章

  1. Mac下Shell脚本使用学习笔记(二)

    参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 (7)Shell echo命令: 命令格式:echo string ①显示普通字符串:echo "It is a ...

  2. Mac下Shell脚本使用学习笔记(一)

    参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 1.使用终端创建test.sh: (1)进入指定文件夹路径(命令示例:cd Desktop/面向对象程序设计): (2)创 ...

  3. Mac下brew/memcached/nginx/iterm/zsh的安装

    brew  https://www.cnblogs.com/fireworld/p/8609190.html memcached https://blog.csdn.net/whereismatrix ...

  4. Linux, Mac下Shell 数组 Array 的修理工

    我的测试基本都是在Mac,及Unix环境下测试的,如无特别注明,默认就是Mac 不论你看到这篇随笔是被shell array的奇淫巧技,还是发现shell array就在一对{}里面就可以做那么多勾当 ...

  5. Mac下Shell快捷键

    ctrl+a //移到行首 ctrl+e //移到行尾 ctrl+y // 插入最近删除的单词或语句 ctrl+k //删除光标处到行尾部分 ctrl+u //删除光标处到行首部分 ctrl+w // ...

  6. mac下shell给文件名批量加前缀

    用rename命令 如果没装的话执行下面这个命令安装rename brew install rename rename 's/^/logo_/' *.png

  7. mac下eclipse的svn(即svn插件)怎么切换账号?

    以mac os x为例(Unix/Linux类似) 打开命令行窗口,即用户的根目录(用户的home目录) cd ~ 即可进入home目录. 执行命令 ls -al 会列出home目录下的所有文件及文件 ...

  8. mac下烦人的eclipse安装svn插件

    eclipse作为一个鸡肋般的java ide,颇有食之无味弃之可惜之感.最近公司统一对电脑做了一些处理,搞的我的eclipse都不能用了.重新安装了一下,各种maven.svn,代码格式什么的依赖神 ...

  9. mac下sublime text3 安装px转rem插件

    本人使用的是os-x系统,即mac系统,每次使用单位rem用其他网页转换很不方便.自己捣腾了一下插件,现在共享给大家 第一步: 先下载插件: https://github.com/narrow-gat ...

  10. mac下chrome 长截图(不使用插件)

    1. command + option + i (打开windows下的f12): 2. command + shipt + p ; 3. 输入命令: Capture full size screen ...

随机推荐

  1. glide引出恶心的git submodule

      起因 某一天一个同事,在看那个glide,然后我路过,看到他为何不编译“glide”项目(他说,编译中出错,反正都是看源码而已,所以就懒得搞,然后我出于“好心”,给他弄一下,我擦) 报错: Pro ...

  2. jquery $('#form1').serialize()序列化提交表单

    1.$("#form1").serialize() 把form表单的值序列化成一个字符串,如username=admin&password=admin123 <for ...

  3. JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题的解决方法

    1 var date = new Date('2016-11-11 11:11:11'); 2 document.write(date); 最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间 ...

  4. Object type TYPE failed to create with error

    ORA-39083: Object type TYPE failed to create with error: ORA-02304: invalid object identifier litera ...

  5. Spring钩子方法和钩子接口的使用详解

    本文转自:http://www.sohu.com/a/166804449_714863 前言 SpringFramework其实具有很高的扩展性,只是很少人喜欢挖掘那些扩展点,而且官方的Refrenc ...

  6. List分组

    IEnumerable<IGrouping<string, SysMap>> query = sysMapList.GroupBy(pet => pet.Mobile);

  7. stl综合

    区别: List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]. Vector ...

  8. IDEA自动生成序列化ID

    1.安装 serialVersionUID 插件: 2.设置你的IDEA为检查序列化ID 3.重启IDEA(有的版本可以不重启) 4.在需要自动生成序列化ID的类中使用快捷键:Alt+Insert 转 ...

  9. Windows10 + IntelliJ IDEA 2017.3.2 + wamp2e + Yii + PHPunit 搭建测试环境

    一.环境 系统: windows10 WampServer:  wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-32b.exe IDE:  Intel ...

  10. js - 伪数组转化为数组的几种方法整理(更新中...)

    伪数组:无法调用数组的方法,但是有length属性,又可以索引获取内部项的数据结构. 比如:arguments.getElementsByTagName等一系列dom获取的NodeList对象,他们 ...