iTerm2 是 MAC 下最好的终端工具。可以简单的认为,iTerm2 是配置完毕开箱即用的 tmux。

安装 iTerm2

官网下载安装,这里不赘述。

安装 brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。 这时你在命令行状态下面就可以使用 brew 命令了.

注意:如果在安装过程中返回400,可以在几分钟后尝试重新安装。

Homebrew的使用

  • 安装软件:brew install 软件名,例:brew install wget
  • 搜索软件:brew search 软件名,例:brew search wget
  • 卸载软件:brew uninstall 软件名,例:brew uninstall wget
  • 更新所有软件:brew update

安装并切换成 zsh

安装最新的zsh,

brew install zsh
```

安装完成后,将zsh设置成系统默认shell,以代替bash。

**由于权限原因,先在命令行上执行`open /etc`打开文件夹,然后在文件夹中找到`shells`文件,复制文件到桌面,然后打开文件,在末尾添加`/usr/local/bin/zsh`,保存关闭后。复制替换原目录下的文件,此处需要输入密码验证。**

再在终端中执行以下命令:

```shell
chsh -s /usr/local/bin/zsh

然后重新启动iTerm2,zsh就已经被配置成默认的shell了。

安装 oh-my-zsh

执行下面命令:

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

请根据本文安装完成后,关于oh my zsh具体配置详见另一篇文章:oh my zsh 使用指南

安装 Powerline

Powerline 是用 Python 写的脚本可以美化终端

1. 安装Python 2.X

因为 Powerline 是用 Python 写的脚本,所以我们必须确保在安装 Powerline 我们的 Mac 里面已经安装了 Python(一般来说 Mac 会自带 Python 2.X)

$ python -V
Python 2.7.10

# 我们可以在终端里面输入下面的代码来检查 Python 版本,若此命令没有返回任何讯息说明你的 Mac 里面没有安装 Python。
2. 安装pip

安装 Powerline 的方法有很多种,我们可以通过 pip 或者 git 等工具,我推荐使用 pip,

由于我还没有安装过 pip , 所以先执行以下命令安装:

$ sudo easy_install pip
# 或者执行下面代码安装
$ wget https://bootstrap.pypa.io/get-pip.py -O - | python
3. 检查Powerline

用 pip 安装 Powerline

$ pip show powerline-status  # 检查是否已经安装Powerline

# 如果以上命令执行后,如果出现如下信息,则说明已安装,可跳过下一步。如果没有任何反应说明没有安装,则进行下一步。

Powerline 信息

--
Metadata-Version: 1.1
Name: powerline-status
Version: 2.2
Summary: The ultimate statusline/prompt utility.
Home-page: https://github.com/powerline/powerline
Author: Kim Silkebaekken
Author-email: kim.silkebaekken+vim@gmail.com
License: MIT
Location: /Users/mac/Library/Python/2.7/lib/python/site-packages #被安装到哪個路径
Requires:

# 以我的例子,我的使用者名称是 mac
# 所以會安装到 /Users/mac/Library/Python/2.7/lib/python/site-packages 目录底下
4. 安装Powerline

(由于权限问题,无法安装到系统目录下,所以我加上了 –user 选项,选择安装到当前用户目录下)

$ pip install --user powerline-status
  • 配置.bash_profile(如果是已经将bash切换成zsh的,跳过此处,配置.zshrc就可以了)

配置 .bash_profile 文件(mac 默认的配置文件,如果没有请自己新建一个)让终端每次启动的时候自动运行 Powerline 脚本

cd ~ && l -h

# 输入上述命令,查看文件夹下是否有 .bash_profile 文件,没有的话执行下面命令, 如果有就跳过下一步,

touch .bash_profile # 创建 .bash_profile 文件

open .bash_profile # 打开文件
  • 配置 .zshrc
open ~/.zshrc

只需将下面代码修改后复制到你的 bash_profile文件里就可以啦:

. /Users/[你的用户名]/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh

需要注意的是最开始的 ‘.’ 和 ‘/powerline/…’ 中间是以空格分开的。

source ~/.zshrc # 保存后执行
```

这里也有可能出现“powerline/bindings/bash/../../../scripts/powerline-config:: No such file or directory”的报错。原因没有将powerline的相关命令添加到环境变量,可以使用软链接解决:

则需要将/Users/[用户名]/Library/Python/2.7/bin加入到PATH中,如下:

```shell
export PATH="/Users/[你的用户名]/Library/Python/2.7/bin":$PATH

. /Users/[你的用户名]/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh

5. 更换主题

下载agnoster主题,同样在任何目录下,执行下列命令

$ cd ~
$ git clone https://github.com/fcamblor/oh-my-zsh-agnoster-fcamblor.git
$ open oh-my-zsh-agnoster-fcamblor/

打开文件夹,双击运行install文件,主题将安装到~/.oh-my-zsh/themes目录下

open ~/.zshrc  # 打开.zshrc

找到ZSH_THEME字段,改成:ZSH_THEME="agnoster"

source ~/.zshrc # 保存后执行

咦,我的终端怎么这样,怎么这么多小问号?别担心,这是因为我们还没有 安装 Powerline Font - 专用于 Powerline 主题的字体。

6. 安装Powerline字体

通过git clone来下载powerline字体,在任意目录下,执行下列命令

$ cd ~
$ git clone https://github.com/Lokaltog/powerline-fonts.git
$ cd powerline-fonts/ && ./install.sh

安装完成后提示所有字体均已下载到/Users/mac/Library/Fonts路径下

All Powerline fonts installed to /Users/mac/Library/Fonts

安装完字体库之后,把iTerm 2的设置里的Profile中的Text选项卡中里的FontNon-ASCII Font的字体都设置成 Powerline 的字体,我这里设置的字体是12pt Meslo LG S DZ Regular for Powerline,大家可以根据喜好选择,只要是powerline字体就可以。

7. 安装配色方案

下载配色方案,同样在任何目录下,执行下列命令

$ cd ~
$ git clone https://github.com/altercation/solarized.git
$ open solarized/iterm2-colors-solarized

然后进入/Users/mac/solarized/iterm2-colors-solarized下双击 Solarized Dark.itermcolorsSolarized Light.itermcolors 两个文件就可以把配置文件导入到 iTerm2 里

把iTerm 2的设置里的Profile中的colors选项卡中里的Load Presets设置为刚刚下载的配色方案就可以了。

最后效果:

iTerm特色功能

特色快捷键
  • command+; 根据上下文呼出自动完成窗口,上下键选择

  • 全屏 command+enter

  • 光标去哪了?command+/

  • 用鼠标选中某个路径或者某个词汇就自动复制

光标控制
快捷键 说明
ctrl + a 到行首
ctrl + e 行末
ctrl + u 删除一行
⌘ + r(ctrl + l) 清屏,其实是滚到新的一屏,并没有清空。
ctrl + r 搜索命令历史,这个大家都应该很熟悉了
ctrl + d 删除当前字符
ctrl + h 删除之前的字符
ctrl + w 删除光标前的单词
ctrl + k 删除到文本末尾
ctrl + t 交换光标处文本
⌘ + —/+/0 调整字体大小
ctrl + f/b 前进后退,相当于左右方向键,但是显然比移开手按方向键更快
ctrl + p 上一条命令,相当于方向键上
窗口操作
  • 新建窗口:shift + command + d(横向)command + d(竖向)
  • 关闭窗口:shift + command + w
  • 前一个窗口:command + `
  • 后一个窗口:command + ~
  • 进入窗口 1,2,3:option + command + 编号
标签页操作
  • 新建标签页: Command + T
  • 关闭标签页: Command + W
  • 前一个标签页: Command + 左方向键,Shift + Command + [
  • 后一个标签页: Command + 右方向键,Shitf + Command + ]
  • 进入标签页1,2,3…: Command + 标签页编号
  • Expose 标签页: Option + Command + E(将标签页打撒到全屏,并可以全局搜索所有的标签页)
面板操作
  • 垂直分割: Command + D
  • 水平分割: Shift + Command + D
  • 前一个面板: Command + [
  • 后一个面板: Command + ]
  • 切换到上/下/左/右面板: Option + Command + 上下左右方向键
其他功能
  • 支持自定义全局快捷键用于显示和隐藏iTerm2 Preference -> Keys -> Show/hide iTerm2 with a system-wide hotkey 打上勾之后
  • 进入和退出全屏: Command + Enter
  • 查看当前终端中光标的位置: Command + /
  • 命令自动补全: Command + ;(很少用这个,还是感觉Zsh的补全更好用)
  • 开启和关闭背景半透明: Command + u
  • 清屏(重置当前终端): Command + r
  • 文本选取
  • 文本选取有使用鼠标和不使用鼠标两种方式。
使用鼠标

默认情况下,选取的文字会自动复制到剪切板,可以使用以下方式进行文本选取:

  • 常见的点击并拖拽方式
  • 双击选取整个单词
  • 三击选取整行
  • 选取某一部分,按住Shift,再点击某处,可以选取整个矩形内的文本(类似Windows下按住Shift可以批量选取图标)
  • 按住Command + Option,可以用鼠标画出一个矩形,用类似截图的方式选取文本 另外,还可以使用鼠标完成以下操作: 按住Command然后点击某个URL,会在浏览器中打开这个URL,点击某个文件夹,会在Finder里打开这个文件夹(再也不用open . 啦),点击某个文件名,会打开这个文件(文本文件支持MacVim,TextMate和BBEdit,如果后面跟随一个冒号和行号,文件会在行号处打开,其它格式的文件似乎不能调用默认程序打开) 选取文本之后,按住Command 同时拖动文本,可以将文本粘贴到目标位置(Drag and Drop) 鼠标中键粘贴(这个太感人了,一下子找回Linux的感觉了)
不使用鼠标

(这种方式最多只能选取一行文本) 使用 Command + f,会呼出一个搜索框,可以在当前面板中进行搜索,输入想要选取的部分内容,输入过程中,按Tab可以将选取部分向右扩展,按Shift + Tab向左扩展,按回车转到下一个匹配位置。使用Tab或Shift+Tab扩展得到想要的内容之后,选取内容会自动复制到剪切板,再次按Command + f隐藏搜索框。

位置书签

在当前会话中按Command + Shift + m可以保存当前位置,之后可以按Command + Shift + j跳回这个位置。

粘贴历史

使用Command + Shift + h 可以呼出粘贴历史,支持模糊检索。还可以设置将粘贴历史保存在磁盘上(Preferences -> General)

即时回放

使用Command + Opt + b 打开即时回放,按Esc退出。即时回放可以记录终端输出的状态,让你“穿越时间”查看终端内容。默认每个会话最多储存4MB的内容,可以在设置中更改(Preferences -> Genernal -> Instant Replay)。

窗口状态

通过 Window -> Save Window Arrangement 可以保存当前窗口状态的快照,包括打开的窗口,标签页和面板。通过 Window -> Restore Window Arrangement 还原。还可以在 Preferences -> General -> Open saved window arrangement 中设置在启动iTerm2时自动恢复窗口状态

问题解答

  1. ⌘+Q关闭iTerm 2 时每次弹窗提示问题:

iTerm 2 中,进入Preference-General-Closing栏目,将Confirm "Quit iTerm2(⌘Q)"command选项勾选去掉就行

转载请标注原文地址