Mac终端配置一多彩的iTerm 2

Mac终端配置一多彩的iTerm 2_第1张图片
目录

先来张效果图

image.png

【 其实,程序员其实还是很情调的 】
网上好多资源没有一个明确的目标、原理、实践。奔着一篇文章足矣的态度试试记录这个过程。

其实网上好多文章中zsh与主题iTerm 2没多大关系,有了ITerm2 shell可以随便改的

第一部分 终端 iterm2

代替系统自带终端,整天面对终端,怎么也得好好整理一下吧,这次趁机记录共享一下操作方法。

item2 下载位置---https://www.iterm2.com/安装好之后的样子如下所示:

Mac终端配置一多彩的iTerm 2_第2张图片
image.png

第一步:如何分那么多屏?

基本的操作命令:

----------------分屏--------------------
1. 垂直分屏:command + d
2. 水平分屏:command + shift + d
。。。。

先罗列这么多吧,否则因为罗列多影响心情怎么办。。。。
【详细的命令在最后的附录里】

急切的打出·ls·命令,窗口依旧那么丑,颜色依旧那么丑陋。。。。机智的赶紧的cmd + , 偏好设置新的主题,

Mac终端配置一多彩的iTerm 2_第3张图片
image.png

此时只是背景色变了,字呢,骗人。。。

别着急,这个只是工具的基本使用,至于配置颜色之前还是需要补脑一下基础

第二部分 配置前的准备【一些理论与历史,可跳过】

2.1 终端是什么?

【终端】是人与机器交互的【接口】。人通过自身终端的【输出设备】(嘴巴或手)将信息传递给计算机终端的【输入设备】(键盘、鼠标等),后者将信息传递给计算机的主机。主机处理完信息后,将结果传递给计算机终端的输出设备,后者将结果传递给人类终端的输入设备,最后到达人类的大脑。

终端仅此是负责将计算机返回的结果,按照相应的规则展示,那么重点在于终端的识别度是否够高。

2.2 BSD 与 Linux 区别是什么?

看标题,可能觉得只认识Linux,但此处的Linux其实专指Linux内核。不是指GNU/Linux。理解这些

首先看一个Unix图谱:

Mac终端配置一多彩的iTerm 2_第4张图片
image.png

Linux我们了解的相对较多就在此不再累述。主要介绍一些BSD的知识点。

BSD 【BSD (Berkeley Software Distribution,伯克利软件套件)】是Unix的衍生系统,在1977至1995年间由加州大学伯克利分校开发和发布的。


1. BSD 这个名字则代表**其内核**和**操作系统**。例如,FreeBSD 提供了 FreeBSD 内核和 FreeBSD 操作系统。它是作为一个单一的项目维护的。
2. Linux严格的说,它是只是一个内核。
3. Linux 使用 GNU 通用公共许可证,即 GPL。如果你修改了 Linux 内核,并将其分发,你就必须放出您的修改的源代码。
4. BSD 使用 BSD 许可证。如果你修改了 BSD 内核或发行版,并且发布它,对于源代码可自行决定;
5. 两者都是开放源码的,但是以不同的方式。

BSD主要分类

1. FreeBSD: FreeBSD 是最受欢迎的 BSD,针对高性能和易用性。它支持英特尔和 AMD 的32位和64位处理器。
2. NetBSD: NetBSD 被设计运行在几乎任何架构上,支持更多的体系结构。在他们的主页上的格言是"理所当然,我们运行在 NetBSD 上"。
3. OpenBSD:OpenBSD 为最大化的安全性设计的 —— 这不仅仅它宣称的功能,在实践中也确实如此。它是为银行和其他重要机构的关键系统设计的。

那么Mac是属于哪个分类呢?

1. DragonFly BSD: DragonFly BSD 的设计目标是提供一个运行在多线程环境中的操作系统 —— 例如,计算机集群。
2. Darwin / Mac OS X: Mac OS X 实际上基于 Darwin 操作系统,而 Darwin 系统基于 BSD。它与其他的 BSD 有点不同,虽然底层内核和其他的软件是开源代码(BSD 代码),但操作系统的大部分是闭源的 Mac OS 代码)。苹果在 BSD 基础上开发了 Mac OS X 和 iOS,这样他们就不必写操作系统底层,就像 谷歌在 Linux 基础上开发 android 系统一样。

hhw$ brew install xz coreutils
Updating Homebrew...
^C==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.3.sierra.bottle.tar.
######################################################################## 100.0%
==> Pouring xz-5.2.3.sierra.bottle.tar.gz
==> Using the sandbox
  /usr/local/Cellar/xz/5.2.3: 92 files, 1.4MB
==> Downloading https://homebrew.bintray.com/bottles/coreutils-8.27.sierra.bottl
######################################################################## 100.0%
==> Pouring coreutils-8.27.sierra.bottle.tar.gz
==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your basic like:

    PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:

    MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

==> Summary
  /usr/local/Cellar/coreutils/8.27: 430 files, 7.9MB

第三部分 配置

工具只是负责被使用,我们所需注意的点在【ls命令】与【iTerm2的主题】。

Mac中【BSD的ls命令】可以使用【-G参数】彩色化输出的文件列表,需要配置LSCOLORS环境变量定义颜色,如:export LSCOLORS=gxfxbEaEBxxEhEhBaDaCaD
但是这种方法色彩单一,不是预期的效果。

终于等到你---心急党

BSD下的ls不容易被配置为多姿多彩的样子,那么GNU/Linux下呢?既然要用GNU下的软件,那么就得配置安装Coreutils

3.1 Coreutils 是什么?

GNU核心工具组(英语:GNU Core Utilities,亦常缩写为Coreutils)是一个包含了多个类Unix所需的基本工具的软件包,其亦是之前许多类似软件包(如textutils(文本工具组)、shellutils(shell工具组)、fileutils(文件工具组)等)所包含工具的集合[2]。

选择它的原因

Coreutils提供了配置工具,定义颜色代码更加方便;
Coreutils包含的不仅仅是ls,同时作为Linux用户,我更习惯于使用GNU的各种shell工具。

其实就是安装了Coreutils,就可以使用Linux下的程序,【ls/mkdir/mv】等等;

3.2 安装Coreutils

理论总是一衣带水,多之又多,操作起来其实是非常简单的。

第一步 下载
brew install coreutils
第二步 生成颜色定义文件
gdircolors --print-database > ~/.dir_colors

第三步 在~/.bash_profile配置文件中加入以下代码
if brew list | grep coreutils > /dev/null ; then
  PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"
  alias ls='ls -F --show-control-chars --color=auto'
  eval `gdircolors -b $HOME/.dir_colors`
fi

此时颜色已经好多了,大致的流程以及原理是什么?

gdircolor的作用就是设置ls命令使用的环境变量LS_COLORS(BSD是LSCOLORS),我们可以修改~/.dir_colors自定义文件的颜色,此文件中的注释已经包含各种颜色取值的说明。

Linux下的ls --color=auto
命令,其实是根据两个文件来显示颜色的,`/etc/DIR_COLORS` 或者 `~/.dir_colors`,一个是系统级别的配置文件,一个用户级别的配置文件。

刚才设置的颜色还没那么好看,我们继续

第四步 使用SOLARIZED

使用SOLARIZED这个项目,可以配置很多很多程序的颜色主体,不需要知道配色方案,只需要配置就行。

Solarized Color Theme for GNU ls项目就是提供了配置好了的颜色配置文件,并且可以根据文件类型来展示不同的颜色,这个项目的dircolors.ansi-universal配置文件可以工作在两种形式的终端下,而dircolors.256dark只能工作在265色的终端下。下载配置文件--dircolors.ansi-universal放入到~/.dir_colors

下载dircolors-solarized,解压双击然后再iTerm2中选择即可

Mac终端配置一多彩的iTerm 2_第5张图片
image.png

偏好设置-->profiles-->Colors-->color presets

Mac终端配置一多彩的iTerm 2_第6张图片
image.png
第五步 还嫌颜色不够靓丽????
Mac终端配置一多彩的iTerm 2_第7张图片
image.png

地址在这里--iTerm2-Color-Schemes我只能帮你到这里了。。。。

第六步 其实你可以直接用Mac自带终端

双击solarized文件夹中【osx-terminal.app-colors-solarized】即可直接使用,但也只能每次这样都点击该文件,自行抉择。

Mac终端配置一多彩的iTerm 2_第8张图片
image.png

X 参考

X.1 iTerm2常用命令

----------------分屏--------------------
1. 垂直分屏:command + d
2. 水平分屏:command + shift + d
3. 切换屏幕:command + option + 方向键 command + [ 或 command + ]
4. 查看历史命令:command + ;
5. 查看剪贴板历史:command + shift + h
----------------分屏--------------------
7. 新建标签:command + t
8. 关闭标签:command + w
9. 切换标签:command + 数字 command + 左右方向键
10. 切换全屏:command + enter
11. 查找:command + f
12. ----------------分屏--------------------
13. 清除当前行:ctrl + u
14. 到行首:ctrl + a
15. 到行尾:ctrl + e
16. 前进后退:ctrl + f/b (相当于左右方向键)
17. 上一条命令:ctrl + p
18. 搜索命令历史:ctrl + r
19. 删除当前光标的字符:ctrl + d
20. 删除光标之前的字符:ctrl + h
21. 删除光标之前的单词:ctrl + w
22. 删除到文本末尾:ctrl + k
23. 交换光标处文本:ctrl + t
24. 清屏1:command + r
25. 清屏2:ctrl + l
26. ⌘ + f 所查找的内容会被自动复制
27. ⌘ + r = clear,而且只是换到新一屏,不会想 clear 一样创建一个空屏
28. ctrl + u 清空当前行,无论光标在什么位置
29. 输入开头命令后 按 ⌘ + ; 会自动列出输入过的命令
30. ⌘ + shift + h 会列出剪切板历史
31. 

参考
配置linux下dircolors
OSX + iTerm2 + vim + ssh + CentOS/本机颜色配置原理小分析
iTerm2 配色攻略
让Mac OS X的终端多姿多彩
mac 下 使用 iterm2 配置及快键键使用
Mac os x 打开终端后不执行.bash_profile文件

iTerm2 快捷键大全
你真的知道什么是终端吗?
What Is Unix, and Why Does It Matter?
5分钟了解Linux 和BSD 异同
Linux 与 BSD 有什么不同?
Vim编辑器

更多精彩内容请关注“IT实战联盟”哦~~~


Mac终端配置一多彩的iTerm 2_第9张图片
IT实战联盟.jpg

你可能感兴趣的:(Mac终端配置一多彩的iTerm 2)