iTerm - 让你的命令行也能丰富多彩 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
swiftcafex
V2EX    macOS

iTerm - 让你的命令行也能丰富多彩

  •  
  •   swiftcafex 2015-10-30 09:55:11 +08:00 4383 次点击
    这是一个创建于 3697 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    iTerm 简介/h3>

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

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

    本文为 swiftcafe.io 原创文章,转载请注明出处

    更多精彩内容可关注微信公众号:
    swift-cafe

    hackpro
        1
    hackpro  
       2015-10-30 18:44:54 +08:00
    好文 前排支持!!!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     803 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 21:26 PVG 05:26 LAX 13:26 JFK 16:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86