为了获得更好的排版效果,文章改用markdown撰写,故重发一次。

前言

mac自带的terminal终端没有文件名高亮等功能,而且界面不是很好看,故今晚学舍友折腾了终端,可以让自己使用起来更加方便,看起来更加舒服。

下面直接说配置方法吧。关于这三个名词的介绍可以看文末。

配置方法

1. 下载安装iterm2

官网:https://www.iterm2.com

在官网下载安装包,将安装包移到应用程序,然后打开就可以使用。

安装完毕后,后面的操作都用这个终端来操作。这样可以看到直观效果。

2. 切换shell为zsh

chsh -s /bin/zsh

  

重新打开iterm2,并查看是否切换成功

echo $SHELL

  

3. 安装ohmyzsh

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

4. 安装额外的字体库

(某些主题会用到一些其他字体) 

Powerline字体: https://github.com/powerline/fonts

安装步骤如下(来自其github):

# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

安装好之后,选择一款Powerline字体了:iterm2 -> Preferences -> Profiles -> Text -> Font -> Change Font(我用的是Meslo LG)

 

5. 修改主题配置。

首先打开家目录下的.zshrc文件,然后修改下面指定行便是配置主题的

ZSH_THEME="agnoster"

这个可以设置终端主题。这个agnoster主题很炫酷,大家可以试一试。

每次修改主题配置,都需要重启terminal终端。

其他主题可以参考Oh My Zsh主题展示网站

DEFAULT_USER=$USER

这个特别喜欢!新增这个配置可以去掉shell每行前面的user@hostname

6. 命令高亮(可选)

这个插件可以让ls/vim等命令高丽显示。效果图如下:

zsh-syntax-highlighting地址:https://github.com/zsh-users/zsh-syntax-highlighting

安装步骤如下(来自其github):

 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

重启终端,即可启动高亮效果。

本文博客地址:http://www.cnblogs.com/toulanboy/

最终效果图


软件介绍

下面内容来自:https://xiaozhou.net/learn-the-command-line-iterm-and-zsh-2017-06-23.html。

非常感谢原作者。

关于iTerm2

iTerm2是一款完全免费的,专为 Mac OS 用户打造的命令行应用,当然,也是程序员们的最爱。iTerm2本身支持很多自定义化的设置,比如自定义配色,自定义快捷键,方便的水平和垂直分屏功能,等等…… 毫不避讳的讲,说它是如今Mac下最好的终端工具也不为过。当然,日常工作与开发中,用它替代Mac自带的Terminal也是不二的选择。关于 Zsh 与 Oh My Zsh

有了终端利器iTerm2,当然还得配上一款顺手的shell。众所周知,如今用得最广泛的默认shell,就是bash了,因为它也是很多Linux发行版默认带的shell。作为默认自带的shell,其特点,也就是:特点不是很明显 -_-# 不太方便的地方是:可定制性和可扩展性有限,自动补全功能不够强大…… 所以,既然用上了iTerm2,需要一款更为强大的shell来配合。

关于shell

首当推荐的就是Zsh了。之所以叫Zsh,其含义是:

The last shell you’ll ever need!

可以理解为,一旦用上它,就别无所求了。跟Bash相比,Zsh的补全功能强大了许多,可以自动补全命令、参数、文件名、进程、用户名、变量、权限符,等等…… 另外,还支持插件,通过插件又可以扩展出许多功能来。

关于Oh My Zsh

既然有了Zsh,那Oh My Zsh又是啥呢?

因为 zsh 的默认配置极其复杂繁琐,让人望而却步,直到有了Oh My Zsh这个开源项目,让zsh配置降到0门槛。而且它完全兼容 bash 。所以,我们可以理解为Oh My Zsh是一个方便你配置和使用Zsh的一个开源工具。

本文博客地址:http://www.cnblogs.com/toulanboy/

参考列表:

  1. 程序员内功系列--iTerm与Zsh篇 | iTimothy
  2. Mac 下配置终端环境 iTerm2 + Zsh + Oh My Zsh + tmux | 明无梦
  3. Mac OSX终端安装主题(oh my zsh) - CSDN博客

Mac OS 终端强化美化:iterm2 + zsh + oh~my~zsh 设置教程的更多相关文章

  1. Mac OS 终端利器 iTerm2

    之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...

  2. Mac OS 终端利器 iTerm2(怕以后找不到,自存自用)

    之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...

  3. Mac OS终端利器iTerm2(完美替代bash)

    iTerm2 iTerm一个为Mac OS X编写的,功能齐全的终端仿真程序:目标是在为用户提供OS X下最佳的命令行体验,iTerm 2有很多能够提升效率的实用功能.比如说窗口分割.热键窗口.智能搜 ...

  4. Mac OS 终端 iTerm2配置大全

    转载链接:https://www.cnblogs.com/diyxiaoshitou/p/9017413.html,在按照原文执行时发现有些问题,所以本文对原文中存在问题的地方做了些调整. 之前一直使 ...

  5. Mac OS 终端利器 iTerm2配置大全

    之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接受的,是有想换个终端的想法,然后今天偶然看到一个终端利器 iTerm2,发现真的很强大,也非常的好用,按照网上配置了 ...

  6. Mac OS终端利器 iTem2 配置大全

    转载链接:https://www.cnblogs.com/diyxiaoshitou/p/9017413.html 之前一直使用 Mac OS 自带的终端,用起来虽然有些不太方便,但总体来说还是可以接 ...

  7. Mac OS 终端常用命令【搜藏】

    基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念.比如什么“C:”你在桌面上看到的硬盘都挂在 /Volumes 下.比如接上个叫 ...

  8. Mac OS 终端常用命令基础

    基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录" /" 下面,所以不在要有Windows 下的盘符概念.比如什么"C:"你在桌面上看到的硬盘都 ...

  9. Mac OS 终端下使用 Curl 命令下载文件

    在 mac os下,如何通过命令行来下载网络文件?如果你没有安装或 wget 命令,那么可以使用 curl 工具来达到我们的目的. curl命令参数: curl 'url地址' curl [选项] ' ...

随机推荐

  1. LeetCode.897-递增搜索树(Increasing Order Search Tree)

    这是悦乐书的第346次更新,第370篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第211题(顺位题号是897).给定一棵树,按中序遍历顺序重新排列树,以便树中最左边的节 ...

  2. PostgreSQL - N''和::bpchar

    N''的效果和::bpchar效果类似,都表示定长字符串.比如下边的sql: select n'233' as num; select '233'::bpchar as num; select '23 ...

  3. java操作rabbitmq实现简单的消息发送(socket编程的升级)

    准备: 1.下载rabbitmq并搭建环境(和python那篇一样:http://www.cnblogs.com/g177w/p/8176797.html) 2.下载支持的jar包(http://re ...

  4. 089 Gray Code 格雷编码

    格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异.给定一个代表编码总位数的非负整数 n,打印格雷码序列.格雷码序列必须以0开头.例如, 给定 n = 2, 返回 [0,1,3 ...

  5. php __autoload函数 加载类文件

    面向对象的开发时,大家肯定都会遇到这样的问题,就是加载文件,一般都是加文件的头部inclue_once,require一大堆,看着很让人烦.当然你可以自己写程序来加载.php5以后引入了__autol ...

  6. ReferenceError: password is not defined

    报错提示位置at c:\Users\Administrator\WebstormProjects\blogtest\routes\index.js:19:16 原因是我这个password没有定义,p ...

  7. cf1028C. Rectangles(前缀和)

    题意 给出$n$个矩形,找出一个点,使得至少在$n$个矩阵内 Sol 呵呵哒,昨天cf半夜场,一道全场切的题,我没做出来..不想找什么理由,不会做就是不会做.. 一个很显然的性质,如果存在一个点 / ...

  8. SPOJ KATHTHI - KATHTHI(01BFS)

    题意 给出一个$n \times m$的网格,每个位置有一个小写字母,初始在$(1, 1)$,每次可以向上下左右走,问走到$(n, m)$的最小花费 设$(x, y)$为当前位置,$(nx, ny)$ ...

  9. 《高性能JavaScript》 实用指南

    By XFE-堪玉 阅读<高性能javascript>后,对其内容的一个整理和精简 加载与执行 将script标签放在body结尾标签上面 控制script标签数量(每一次script解析 ...

  10. How many '1's are there题解

    Description: Description: 第一行输入数字n(n<=50),表示有n组测试用例,第2到第n+1行每行输入数m(m为整数),统计并输出m用二进制表示时,1的个数. 例如:m ...