Mac终端配置一多彩的iTerm 2

作者: simuty | 来源:发表于2017-06-12 23:44 被阅读5988次
    目录

    先来张效果图

    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.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](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)
    

    相关文章

      网友评论

        本文标题:Mac终端配置一多彩的iTerm 2

        本文链接:https://www.haomeiwen.com/subject/mwpjtxtx.html