iTerm - 让你的 MAC 命令行更加丰富多彩
今天要给大家介绍一个工具: 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 命令行更加丰富多彩的更多相关文章
- mac命令行配置网络
mac命令行配置网络今天终于找到了Mac OS X通过命令行修改ip的方式了,记录如下: 修改mac地址,重启后失效sudo ifconfig en0 lladdr d0:67:e5:2e:07:f1 ...
- mac命令行对复杂ipa包重新签名
最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...
- Appium Mac 命令行安装
试过很多方法都失败,打算用命令行方式安装. 准备工作: 从 https://github.com/appium/appium下载appium版本的源码(.tar) 详见github_Appium1.6 ...
- Mac命令行
参考:http://www.cnblogs.com/-ios/p/4949923.html 必读 涵盖范围: 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处.本文致力于做到覆盖面广(尽 ...
- mac 命令行安装软件
第一步需要在mac上安装brew工具 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas ...
- mac 命令行上传文件,mac tar.gz命令压缩
在mac上可以直接打开命令行给服务器上传文件,注意是本地的命令行,不是服务器的命令行,我就走了绕路 命令可以看这里https://www.cnblogs.com/hitwtx/archive/2011 ...
- Mac 命令行美化
在 mac 中使用原生的命令行工具,竟然没有 git 命令的自动补全,在 git 仓库下也看不到当前的分支名,不能忍.于是,开始一波改造. 目标:命名 Tab 自动补全:可以显示分支名: 一番 Goo ...
- 【Mac命令行学习】(持续更新)
常用命令: 一.修改环境变量文件: 1.进入文件:vi .bash_profile 2.键盘点击[a]键,进入文件编辑 3.修改完成后,如果是vi,点击[esc]键退出编辑模式 4.输入以下命令进行具 ...
- mac启动springboot失败,8080端口被占用,mac命令行关闭端口
如下图,idea启动springboot失败,8080端口被占用 Error starting ApplicationContext. To display the conditions report ...
随机推荐
- position:relative和position:absolute的差别及使用方法
这几天在做项目时遇到做选项卡的功能时,标题和内容区域的背景颜色不同.且须要选到当前标题时,此标题以下会出现下边框及小三角边框,这样就会超出标题背景颜色需覆盖以下内容区域.这时就须要用到potition ...
- 事件处理之一:两种方式:监听器与回调 分类: H1_ANDROID 2013-10-31 10:26 3250人阅读 评论(0) 收藏
Android组件的事件处理有2种方式: 1.基于监听器的事件处理方式:先定义组件,然后为组件设定监听器. 详见http://blog.csdn.net/jediael_lu/article/deta ...
- HOOK API入门之Hook自己程序的MessageBoxW(简单入门)
说到HOOK,我看了很多的资料和教程,无奈就是学不会HOOK,不懂是我的理解能力差,还是你们说的 不够明白,直到我看了以下这篇文章,终于学会了HOOK: http://blog.sina.com.cn ...
- Python 网络爬虫与信息获取(一)—— requests 库的网络爬虫
1. 安装与测试 进入 cmd(以管理员权限),使用 pip 工具,pip install requests 进行安装: 基本用法: >> import requests >> ...
- Oracle成长点点滴滴(2)— 权限管理
权限管理中权限包含系统权限以及对象权限.在解说权限管理之前我们先来了解用户的创建以及授权这些前提. 1. 创建用户以及授权 Ø 默认用户 既然提到了创建用户,首先必须先把用户的知识攻克了. ...
- 【u239】整数分解
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 某些数能表示成为一些互不相同的整数的阶乘之和.如9=l!+2! +3!. 现在给定一个非负整数n,要求 ...
- Python 数组[],元组(),字典{}的异同
序列 Python有6中内建的序列,在这里我们重点讨论两种,数组和元组.所有序列都可以做某些特定的操作,大致上常用的是:加,乘,索引,分片以及检查某个元素是否属于序列的成员. Python还提供一些内 ...
- 小强的HTML5移动开发之路(27)—— JavaScript回顾2
Javascript面向对象基础知识 1.如何定义一个类,使用如下语法来创建一个类 function Person(name, age){ //习惯上第一个字母大写 //this修饰的变量称为属性 t ...
- findbugs静态代码分析工具使用教程
FindBugs 是一个静态分析工具,很多程序猿都在使用,再次详细列出findbugs的使用教程,希望对大家有帮助. 1 安装 FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行 ...
- AsyncTask下载图片
最近在看一个非常早期曾经写过代码,装上去召回.本文首先召回AsyncTask的基本使用. AsyncTask说简单点就是 开启一个线程.而且把结果提交给ui线程. Thread+Handler,只 ...