Mac下非常好用的命令行工具 iTerm2

Mac 对原生 Shell 的支持是无数程序员喜爱 Mac 的理由之一,程序员用 Mac 而不用 Shell,基本等于自断一臂,威力将大打折扣。Shell 并非凭空而来,它的入口是终端工具。OS X自带的终端工具虽然不错,但是和 iTerm 2一比,就逊色很多了。

17101432_iOgu.jpg

iTerm2 是 OS X 下一款开源免费的的终端工具,我基本用它替代了原生的 Terminal。

一、安装 iTerm2

下载地址:https://www.iterm2.com/downloads.html

下载的是压缩文件,解压后是执行程序文件,你可以直接双击,或者直接将它拖到 Applications 目录下。

或者你可以直接使用 Homebrew 进行安装:

$ brew cask install iterm2

二、配置 iTerm2 主题

iTerm2 最常用的主题是 Solarized Dark theme,下载地址: http://ethanschoonover.com/solarized

下载的是压缩文件,你先解压一下,然后打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles -> Colors -> Color Presets -> Import,选择刚才解压的solarized->iterm2-colors-solarized->Solarized Dark.itermcolors文件,导入成功,最后选择 Solarized Dark 主题,就可以了。

435188-20171228124549144-520902143.jpg

三配置 Oh My Zsh

Oh My Zsh 是对主题的进一步扩展,地址:https://github.com/robbyrussell/oh-my-zsh

一键安装:

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

安装好之后,需要把 Zsh 设置为当前用户的默认 Shell(这样新建标签的时候才会使用 Zsh):

$ chsh -s /bin/zsh

然后,我们编辑vim ~/.zshrc文件,将主题配置修改为ZSH_THEME="agnoster"

435188-20171228124617863-587540558.png

agnoster是比较常用的 zsh 主题之一,你可以挑选你喜欢的主题,zsh 主题列表:https://github.com/robbyrussell/oh-my-zsh/wiki/themes

效果如下(配置了声明高亮):

435188-20171228124626363-735900072.png

四、配置 Meslo 字体

使用上面的主题,需要 Meslo 字体支持,要不然会出现乱码的情况,字体下载地址:Meslo LG M Regular for Powerline.ttf

下载好之后,直接在 Mac OS 中安装即可。

然后打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles -> Text -> Font -> Chanage Font,选择 Meslo LG M Regular for Powerline 字体。

435188-20171228124638503-196536251.png

当然,如果你觉得默认的12px字体大小不合适,可以自己进行修改。

另外,VS Code 的终端字体,也需要进行配置,打开 VS Code,按Command + ,键,打开用户配置,搜索fontFamily,然后将右边的配置增加"terminal.integrated.fontFamily": "Meslo LG M for Powerline",示例:

435188-20171228124651285-113264887.png

五、声明高亮

效果就是上面截图的那样,特殊命令和错误命令,会有高亮显示。

使用 Homebrew 安装:

$ brew install zsh-syntax-highlighting

安装成功之后,编辑vim ~/.zshrc文件,在最后一行增加下面配置

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

435188-20171228124702378-701306768.png

六. 自动建议填充

这个功能是非常实用的,可以方便我们快速的敲命令。

配置步骤,先克隆zsh-autosuggestions项目,到指定目录:

$ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

然后编辑vim ~/.zshrc文件,找到plugins配置,增加zsh-autosuggestions插件。

435188-20171228124716003-211091713.png

注:上面声明高亮,如果配置不生效的话,在plugins配置,再增加zsh-syntax-highlighting插件试试。

有时候因为自动填充的颜色和背景颜色很相似,以至于自动填充没有效果,我们可以手动更改下自动填充的颜色配置,我修改的颜色值为:586e75,示例:

435188-20171228124726566-1303342612.png

效果

435188-20171228124741660-319157353.png

七、左右键跳转

主要是按住option + → or ←键,在命令的开始和结尾跳转切换,原本是不生效的,需要手动开启下。

打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles → Keys → Load Preset... → Natural Text Editing,就可以了。

八、iTerm2 快速隐藏和显示

这个功能也非常使用,就是通过快捷键,可以快速的隐藏和打开 iTerm2,示例配置(Commond + .):

435188-20171228124752394-498404916.png

九、iTerm2 隐藏用户名和主机名

有时候我们的用户名和主机名太长,比如我的xishuai@xishuaideMacBook-Pro,终端显示的时候会很不好看(上面图片中可以看到),我们可以手动去除。

编辑vim ~/.zshrc文件,增加DEFAULT_USER="xishuai"配置,示例:

435188-20171228124824566-107795143.png

我们可以通过whoami命令,查看当前用户,效果(另外分屏的效果):

435188-20171228124832113-143056841.png

十. iTerm2 配置代理

编辑~ vim ~/.zshrc,增加下面配置(使用的 shadowsocks):

# proxy list
alias proxy='export all_proxy=socks5://127.0.0.1:1086'
alias unproxy='unset all_proxy'

iTerm2 需要新建标签页,才有效果:

$ proxy
$ curl ip.cn
当前 IP:185.225.14.5 来自:美国

$ unproxy
$ curl ip.cn
当前 IP:115.236.186.130 来自:浙江省杭州市 电信

我们可以测试下:

$ curl https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64

<html>
  <head>
    <title>Directory listing for /yum/repos/kubernetes-el7-x86_64/</title>
  </head>
  <body>
    <h2>Index of /yum/repos/kubernetes-el7-x86_64/</h2>
    <p></p>
    <a href="/yum/repos/kubernetes-el7-x86_64/repodata">repodata</a><br />
  </body>
</html>

十一、iTerm2 快捷命令

命令说明
command + t新建标签
command + w关闭标签
command + 数字 command + 左右方向键切换标签
command + enter切换全屏
command + f查找
command + d垂直分屏
command + shift + d水平分屏
command + option + 方向键 command + [ 或 command + ]切换屏幕
command + ;查看历史命令
command + shift + h查看剪贴板历史
ctrl + u清除当前行
ctrl + l清屏
ctrl + a到行首
ctrl + e到行尾
ctrl + f/b前进后退
ctrl + p上一条命令
ctrl + r搜索命令历史

参考资料:

十二、其他使用介绍

选中即复制

iterm2有2种好用的选中即复制模式。

一种是用鼠标,在iterm2中,选中某个路径或者某个词汇,那么,iterm2就自动复制了。

另一种是无鼠标模式, command+f ,弹出iterm2的查找模式,输入要查找并复制的内容的前几个字母,确认找到的是自己的内容之后,输入tab,查找窗口将自动变化内容,并将其复制。如果输入的是shift+tab,则自动将查找内容的左边选中并复制。

iTerm2 Text Selct

路径重复

在新Tab中自动使用前一Tab路径,如此设置:

iTerm2 Login Shell

屏幕切割

  • command+d :垂直分割;

  • command+shift+d :水平分割

iterm2 split panes

系统热键

如下图,设置好系统热线之后,将在正常的浏览器或者编辑器等窗口的上面,以半透明窗口形式直接调出iterm2 shell。

iterm2 hotkey

按下同样的系统热键之后,将自动隐藏。这样非常有利于随时随地处理。

自动完成

输入打头几个字母,然后输入 command+;  iterm2将自动列出之前输入过的类似命令。

iterm2 autocomplete

剪切历史

输入 command+shift+h ,iterm2将自动列出剪切板的历史记录。如果需要将剪切板的历史记录保存到磁盘,在Preferences > General > Save copy/paste history to disk.中设置。

iterm2 Paste History

全屏切换

command+enter 进入与返回全屏模式

Exposé所有Tab

command+option+e ,并且可以搜索

保存当前快照

Window > Save Window Arrangement.

同样,恢复快照:

Window > Restore Window Arrangement

可以在Preferences > General > Open saved window arrangement.设置自动恢复快照

未经允许请勿转载:程序喵 » Mac下非常好用的命令行工具 iTerm2

点  赞 (1) 打  赏
分享到: