今天要给大家介绍一个工具: iTerm。这次我们讲的和开发技术无关,只是一个工具。但虽然是一个工具,却能让你的功力提升一个层级。下面我们就来一看究竟。每一位开发者都难免要用到命令行,从 git 版本库操作,到运行一些脚本,都离不开命令行。虽然现在的图形界面已经很强大了,但在很多情况下,使用命令行仍然是最快捷的方式。

iTerm 简介

iTerm 是一款完全免费的,专为 Mac OS 用户打造的命令行应用。我们可以打开它的官方网站看一看 www.iterm2.com:

很有极客风格吧,我们可以点击 Downloads 进入下载页面,选择一个适合你系统的版本,我们这里下载 2.9 版本,这也是做出重大改进的一版:

下载下来之后,我们就开始 iTerm 之旅吧。

当然 iTerm 网站也有一个中文版本,大家也可以访问这个地址 www.iterm2.cn

我们打开 iTerm 首先会看到这样的界面:

标准的命令行应用程序配色,当然这种配色方案可能显得不够活泼,大家当然可以修改配色,我们可以打开 Perferences 来调整设置:

进入设置界面后,我们在 Profiles 选项卡里面可以找到 Colors 配色方案面板,在右下角的下来选框中,我们可以看到有几种内置的配色方案供我们选择,比如黑色风格,白色风格,深蓝风格,等等:

iTerm 快捷操作

iTerm 当然不止是换换皮肤这么简单,它还提供了很多方便的功能,让我们使用命令行更加的顺手。

  • 不用鼠标也可以选择文本: iTerm 提供了一种脱离鼠标也可以选择文本的机制,叫做 搜索 + Tab,不要小看这个细微的小功能,它能让你保持专注。我们在使用命令行的时候,经常会要去选择命令行中的文本复制粘贴。就比如说 ping 命令吧,我们用 ping 命令来获取一个域名解析后的 IP:
localhost:~ icafe$ ping z.cn
PING z.cn (106.50.16.198): 56 data bytes
^C
--- z.cn ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss

相信大家都有过这样的体验: ping 命令得到 IP 后,我们想要把它复制下来,我们只能拿起鼠标,然后精确的选中这段 IP,然后把它复制出来。频繁的在键盘和鼠标之间切换,很会影响我们的注意力。

iTerm 给我们提供了一个好的方法,我们先按下 Cmd + F 调出搜索框,然后输入这段 IP 的前缀,比如 106:

我们用搜索的方式找到了这段文本,接下来神奇的事情就要发生啦,我们这时按下 Tab 键,我们发现 iTerm 自动帮我们把这段 IP 选中了,并且自动的帮我们复制到了剪贴板中:

我们在需要用到这段 IP 的任意地方,按下 Cmd + V 键,就可以讲它复制出来啦。这一个小小的功能,让我们不必在键盘和鼠标之间频繁切换了,非常的实用。

  • 支持一键调出命令行: 我们有时会遇上这样一种情况,就是我们只想用命令行执行某一个特定的操作,然后就不需要它了。其实在这种情况下我们没有必要打开命令行应用的。比如我们就是想看一眼某个文件夹里面都有什么文件,类似这种操作我们其实没有必要单独开启一个命令行窗口的。

这就是 iTerm 的一键调起功能的作用啦,我们进入设置界面,进入 Keys 选项卡

我们看设置界面的左下角,有一个 Hotkey 选项,我们将这个选项下的所有复选框打开,并且设置一个自定义的快捷键,我这里设置的是 Cmd + \。然后。。。 我们就可以退出 iTerm 了。

稍后呢。。 在我们需要命令行的时候,我们只需要按下我们刚才定义的快捷键,看。。 神奇的事情发生了:

iTerm 以半透明的形式,在桌面的顶部显示了出来,我们可以在这里执行我们需要的命令,比如 ls 命令来查看某些目录的内容,当执行完我们需要的命令后,我们再次按下预设的快捷键,浮在上面的命令行界面消失了。这对于用完命令行总是忘记关闭窗口的懒人来说(比如我~),又是一大福音哦。

  • 命令行标记功能: 这个功能简单来说就是,我们在某一行按下 Cmd + Shift + M 将这行标记下来。随后我们在需要的时候,可以按下 Cmd + Shift + J 就可以立即跳回这一行了。

  • 正则表达式搜索: 这个就不用多说了吧,你可以任性的搜索,专为极客们准备,只需在调出搜索界面的时候,将 Regular Expression 选项钩上,你就可以使用正则表达式进行搜索了:

  • 剪贴板历史纪录: 这个也是一个很方便的特性,iTerm 能够将我们在使用命令行过程中所有的复制粘贴操作保存下来,随后我们在任何地方按下 Cmd + Shift + H 就可以我们所有复制粘贴内容的列表:

并且,还显示出了这些条目被复制的时间,从此以后,尽情的复制粘贴吧~

  • 快照返回:这个功能称得上是 iTerm 又一杀器,比如你在下午三点的时候执行了一些命令,然后过了几个小时,你又执行了其他的命令。如果这时候你想再回去看看下午三点那会儿你做了什么怎么办呢,答案就是用 iTerm 的快照返回功能。按下 Cmd + Option + B 就会在界面上显示一个时间轴:

这时候,我们按下键盘的左右箭头,时间轴就会自由的穿梭,这时 iTerm 上的命令行界面也随着变化成你选中的时间点的内容了。很神奇,很方便~

  • 标签排列切换:我们用命令行的时候,会发现用着用着,不知不觉就打开了很多个标签,比如像我这样:

这时候,我们想在这么多标签中找一个窗口就很麻烦哦。这时候我们可以按下 Cmd + Option + E 键。。。

又一件神奇的事情发生了,我们看到所有的标签都整齐的排列在屏幕上,并且屏幕左上角为我们展现了一个搜索框,我们可以根据需要输入我们记忆中要搜寻的内容,然后 iTerm 就会将和我们输入的关键词最匹配的标签高亮显示出来,我们再按下回车键,就可以切换到那个标签啦~

  • 智能选择:这个小功能也非常的实用,我们连续点击四次鼠标选中文字,这时候 iTerm 就会根据我们鼠标所指向的文本内容,智能的选中文本。比如我们的鼠标正好指在了文本中的一个 URL 上面,这时候我们连续四次点击这个 URL智能选择 就会帮助我们选中这个 URL,而不用我们费力的要精确去用鼠标指向,拖拽才能才能选中这个 URL,就像这样:

我们可以很轻松的这样选中内容了,除了 URL 之外,还包括 Email 地址,双引号包含的字符串,都是智能选择的识别对象。

极客开发的软件,充分考虑了极客的各种需求~

已上就是本人对 iTerm 的简单了解啦,在这里分享给大家。也许并不高深,但旨在抛砖引玉,为大家打开一个新的思路。就像练功,不停的多处吸取养分,才能让你的内力不断增强,虽然在很短的时间内显现不出来,但随着时间推移,也在突然在某个时间点,你发现自己一下子强大了。

上面这些特性介绍,也许大家未必全能记得住,不过你可以收藏这篇文章,待日后突然急需的时候翻看一下。

iTerm - 让你的 MAC 命令行更加丰富多彩的更多相关文章

  1. mac命令行配置网络

    mac命令行配置网络今天终于找到了Mac OS X通过命令行修改ip的方式了,记录如下: 修改mac地址,重启后失效sudo ifconfig en0 lladdr d0:67:e5:2e:07:f1 ...

  2. mac命令行对复杂ipa包重新签名

    最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...

  3. Appium Mac 命令行安装

    试过很多方法都失败,打算用命令行方式安装. 准备工作: 从 https://github.com/appium/appium下载appium版本的源码(.tar) 详见github_Appium1.6 ...

  4. Mac命令行

    参考:http://www.cnblogs.com/-ios/p/4949923.html 必读 涵盖范围: 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处.本文致力于做到覆盖面广(尽 ...

  5. mac 命令行安装软件

    第一步需要在mac上安装brew工具 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas ...

  6. mac 命令行上传文件,mac tar.gz命令压缩

    在mac上可以直接打开命令行给服务器上传文件,注意是本地的命令行,不是服务器的命令行,我就走了绕路 命令可以看这里https://www.cnblogs.com/hitwtx/archive/2011 ...

  7. Mac 命令行美化

    在 mac 中使用原生的命令行工具,竟然没有 git 命令的自动补全,在 git 仓库下也看不到当前的分支名,不能忍.于是,开始一波改造. 目标:命名 Tab 自动补全:可以显示分支名: 一番 Goo ...

  8. 【Mac命令行学习】(持续更新)

    常用命令: 一.修改环境变量文件: 1.进入文件:vi .bash_profile 2.键盘点击[a]键,进入文件编辑 3.修改完成后,如果是vi,点击[esc]键退出编辑模式 4.输入以下命令进行具 ...

  9. mac启动springboot失败,8080端口被占用,mac命令行关闭端口

    如下图,idea启动springboot失败,8080端口被占用 Error starting ApplicationContext. To display the conditions report ...

随机推荐

  1. 一个Exception catch不住的【异常】

    现象: Controller中的方法接收到前台ajax请求后开始执行, 当执行到某一行时程序终止,前台回调进Error方法. 后台明明catch了Exception异常,但异常并没有被捕获(不进cat ...

  2. Android改变图片颜色的自定义控件

    效果如下: 理解:Xfermode的16总模式如图 第一步: package com.rong.activity; import com.rong.test.R; import android.con ...

  3. pthread_join/pthread_exit的使用方法解析

    官方说法: 函数pthread_join用来等待一个线程的结束.函数原型为: extern int pthread_join __P ((pthread_t __th, void **__thread ...

  4. 基于 Android NDK 的学习之旅-----Java 调用C

    随便谈谈为什么要Java调用C 吧: 我认为: 1.  有些公司开发Android项目的时候, 许多组件功能可能是C中已经实现了,所以我们没必要同样的功能又在java中实现一遍.例如我之前做的一个项目 ...

  5. vs 错误提示及解决方案

    错误: 应输入";" 错误原因,宏展开出现错误:

  6. [React Native] Writing Platform-Specific Components for iOS and Android in React Native

    Learn to write components that render differently on iOS and Android, but present the same API. Firs ...

  7. Newtonsoft.Json 序列化反序列化

    public class People { public string name { get; set; } public string age { get; set; } public string ...

  8. Eclipse Che安装入门和使用(一)

    Eclipse Che序列博文如下: 安装和调试篇:Eclipse Che安装入门和使用(一) Web进阶篇:Eclipse Che开发Spring Web应用(入门) (二) 本文摘要: Eclip ...

  9. 机房重构所遇问题"未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件"的解决的方法集锦

    敲七层登录的时候.忽然间认为敲三层搞清的思路瞬间又凌乱了.花了一天的时间边敲边梳理,最终整完了,执行的时候弹出了这种错误:未能载入文件或程序集"DAL"或它的某一个依赖项. 系统找 ...

  10. document.addEventListener的使用介绍

    document.addEventListener("事件名称", 函数, false); function 函数名(event){ // 方法执行 } addEventListe ...