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 ...
随机推荐
- 一个Exception catch不住的【异常】
现象: Controller中的方法接收到前台ajax请求后开始执行, 当执行到某一行时程序终止,前台回调进Error方法. 后台明明catch了Exception异常,但异常并没有被捕获(不进cat ...
- Instruments性能优化-Core Animation
简书地址:http://www.jianshu.com/users/6cb2622d5eac/latest_articles 当App发展到一定的规模.性能优化就成为不可缺少的一点.可是非常多人,又对 ...
- [Angular] Using InjectionToken
Previously we have 'OpaqueToken', but it is DEPRECATED. The new one is called 'InjectionToken'. The ...
- [Docker] Run Short-Lived Docker Containers
Learn the benefits of running one-off, short-lived Docker containers. Short-Lived containers are use ...
- Android shape画圆点
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- Android 在Service里面启动Activity
直接在代码: Intent dialogIntent = new Intent(getBaseContext(), YourActivity.class); dialogIntent.addFlags ...
- 【27.77%】【BZOJ 4066】简单题
Time Limit: 50 Sec Memory Limit: 20 MB Submit: 1919 Solved: 533 [Submit][Status][Discuss] Descript ...
- 程序猿的还有一出路:大数据project师
非常多年前我非常郁闷地写了一篇博客<程序猿的出路在哪里?>,之所以郁闷.我记得是看了中国男足的比赛,不由自主对照自已苦逼的程序猿生涯,以前对中国软件的感情有如对中国男足,绝望到没有不论什么 ...
- Android使用READ_CONTACTS读取手机联系人
实例代码: package com.example.readcontacts; import java.io.InputStream; import java.util.ArrayList; impo ...
- 2015年工作中遇到的问题:71-80,Tomcat-Redis-浮点数-HTTPS
71.Tomcat访问项目带了"项目名称".最简单的办法,是把这个项目部署到"root"目录,据boss所说,阿里的每一个项目,都单独放到1个Tomcat的ro ...