先来张效果图
image.png【 其实,程序员其实还是很情调的 】
网上好多资源没有一个明确的目标、原理、实践。奔着一篇文章足矣的态度试试记录这个过程。
其实网上好多文章中zsh与主题iTerm 2没多大关系,有了ITerm2 shell可以随便改的
第一部分 终端 iterm2
代替系统自带终端,整天面对终端,怎么也得好好整理一下吧,这次趁机记录共享一下操作方法。
item2 下载位置---https://www.iterm2.com/安装好之后的样子如下所示:
image.png第一步:如何分那么多屏?
基本的操作命令:
----------------分屏--------------------
1. 垂直分屏:command + d
2. 水平分屏:command + shift + d
。。。。
先罗列这么多吧,否则因为罗列多影响心情怎么办。。。。
【详细的命令在最后的附录里】
急切的打出·ls·命令,窗口依旧那么丑,颜色依旧那么丑陋。。。。机智的赶紧的cmd + , 偏好设置新的主题,
image.png此时只是背景色变了,字呢,骗人。。。
别着急,这个只是工具的基本使用,至于配置颜色之前还是需要补脑一下基础
第二部分 配置前的准备【一些理论与历史,可跳过】
2.1 终端是什么?
【终端】是人与机器交互的【接口】。人通过自身终端的【输出设备】(嘴巴或手)将信息传递给计算机终端的【输入设备】(键盘、鼠标等),后者将信息传递给计算机的主机。主机处理完信息后,将结果传递给计算机终端的输出设备,后者将结果传递给人类终端的输入设备,最后到达人类的大脑。
终端仅此是负责将计算机返回的结果,按照相应的规则展示,那么重点在于终端的识别度是否够高。
2.2 BSD 与 Linux 区别是什么?
看标题,可能觉得只认识Linux,但此处的Linux其实专指Linux内核。不是指GNU/Linux。理解这些
首先看一个Unix图谱:
image.pngLinux我们了解的相对较多就在此不再累述。主要介绍一些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](http://ethanschoonover.com/solarized)这个项目,可以配置很多很多程序的颜色主体,不需要知道配色方案,只需要配置就行。
Solarized Color Theme for GNU ls项目就是提供了配置好了的颜色配置文件,并且可以根据文件类型来展示不同的颜色,这个项目的[dircolors.ansi-universal](https://github.com/seebi/dircolors-solarized/raw/master/dircolors.ansi-universal)配置文件可以工作在两种形式的终端下,而[dircolors.256dark](https://github.com/seebi/dircolors-solarized/raw/master/dircolors.256dark)只能工作在265色的终端下。下载配置文件--[dircolors.ansi-universal](https://github.com/seebi/dircolors-solarized/raw/master/dircolors.ansi-universal)**放入到~/.dir_colors**
下载[dircolors-solarized](https://github.com/seebi/dircolors-solarized),解压双击然后再iTerm2中选择即可
![image.png](http:https://img.haomeiwen.com/i326255/b29083fdd52b494e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
偏好设置-->profiles-->Colors-->color presets
![image.png](http:https://img.haomeiwen.com/i326255/ea0d377febc6db6c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##### 第五步 还嫌颜色不够靓丽????
![image.png](http:https://img.haomeiwen.com/i326255/373fcbc6cd715e9f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
地址在这里--[iTerm2-Color-Schemes](https://github.com/mbadolato/iTerm2-Color-Schemes)我只能帮你到这里了。。。。
##### 第六步 其实你可以直接用Mac自带终端
双击solarized文件夹中【osx-terminal.app-colors-solarized】即可直接使用,但也只能每次这样都点击该文件,自行抉择。
![image.png](http:https://img.haomeiwen.com/i326255/d70d0235e902a100.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 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](http://www.jianshu.com/p/0f556c6c4ec8)
[OSX + iTerm2 + vim + ssh + CentOS/本机颜色配置原理小分析](http://www.jianshu.com/p/078e41fdd198)
[iTerm2 配色攻略](http://www.jianshu.com/p/99a404ae5b6a)
[让Mac OS X的终端多姿多彩](http://linfan.info/blog/2012/02/27/colorful-terminal-in-mac/)
[mac 下 使用 iterm2 配置及快键键使用](http://yijiebuyi.com/blog/9c6419897949a7935d0fdec74cb7c61b.html)
[Mac os x 打开终端后不执行.bash_profile文件](https://segmentfault.com/q/1010000002413991)
[](http://to-u.xyz/2016/08/07/zsh-bash/)
[iTerm2 快捷键大全](https://cnbin.github.io/blog/2015/06/20/iterm2-kuai-jie-jian-da-quan/)
[你真的知道什么是终端吗?](https://www.linuxdashen.com/%E4%BD%A0%E7%9C%9F%E7%9A%84%E7%9F%A5%E9%81%93%E4%BB%80%E4%B9%88%E6%98%AF%E7%BB%88%E7%AB%AF%E5%90%97%EF%BC%9F)
[What Is Unix, and Why Does It Matter?](https://www.howtogeek.com/182649/htg-explains-what-is-unix/)
[5分钟了解Linux 和BSD 异同](https://www.linuxpilot.com/linux-bsd)
[Linux 与 BSD 有什么不同?](https://linux.cn/article-3186-1.html)
[Vim编辑器](https://mac.aotu.io/docs/dev-common/vim.html)
更多精彩内容请关注“IT实战联盟”哦~~~
![IT实战联盟.jpg](http:https://img.haomeiwen.com/i326255/f67b0f0dd5fe5874.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/500)
网友评论