点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

作者 | 米开朗基杨

来源 | 公众号「云原生实验室」

对于需要长期与终端打交道的工程师来说,拥有一款称手的终端管理器是很有必要的,对于 Windows 用户来说,最好的选择是  Xshell,这个大家都没有异议。但对于 MacOS 用户来说,仍然毋庸置疑,iTerm2 就是你要的利器,如果你觉得不是,那是你的问题,不是  iTerm2 的问题。今天我就来告诉你问题出在哪里,我将要向你展示的基本上都是你没见过的配方,擦亮眼睛吧!

本教程总共分为三个部分:第一部分关于 iTerm 自身的设置和优化;第二部分关于连接远程服务器的设置和优化;第三部分关于 zsh 的设置和优化。

今天来讲第一部分。

01

悬浮窗口

首先我们来解决第一个问题:如何在任何界面呼入呼出 iTerm2 的窗口,并且悬浮在界面的顶部?

相信每个人都会有这样的使用场景:你正在全屏浏览器浏览网页,或者正在全屏编辑器写代码写文章之类的,突然想到了什么,或发现了什么,想快速打开终端,执行一两条命令(诸如打开文件、启动服务等),然后关闭。

对于这种情况,我们的愿景是可以通过快捷键迅速打开终端,然后用同样的快捷键迅速隐藏它,直到我需要时再次来到我面前。至于实现方式,虽繁琐但并不复杂,下面跟着我的步骤走:

创建新的 Profile

首先打开 Preperence → Profiles,新建一个 Profiles,取名 HotKey Window

背景透明与模糊设置

Preperence → Profiles → Window → Window Appearance 进行设置

窗口风格配置

Preperence → Profiles → Window → Settings for New Windows 进行设置

解释一下这几个参数:

  • Full-Width Top of Screen : 这个很好理解,让终端显示在屏幕顶部,并占满整个宽度。

  • Current Spce : 表示只显示在当前的工作空间,举个例子吧,假设你在当前屏幕打开了终端,你切换到下一个屏幕时它就不会跟到下一个屏幕。

  • Screen width Cursor : 这个和上面的参数搭配,用来判定哪个屏幕属于当前的工作空间,表示你的鼠标在哪,哪里就是当前的工作空间。

设置 HotKey

在 Preperence → Profiles → Keys → HotKey Window 进行设置

选中 A hotkey opens a dedicated window with this profile,表示此 profile 可以通过快捷键快速打开快速关闭。

然后点击 Configure Hotkey Window,设置快捷键。

为了只使用一个键,可以使用功能键作为快捷键,我选择的是 F12

这里需要说明一点,功能键只适用于没有 Touch Bar 的 MacBook,对于新款的带 Touch Bar 的 MacBook,只能使用其他的组合快捷键,比如 Cmd+P 什么的。至于原因嘛,那是因为新款 MacBook 的功能键只能显示在 Touch Bar 上,你只能分别针对应用打开功能键,也就是说,你只有打开这个应用时,才会在 Touch Bar 上显示功能键,可是我们要的是在任何地方通过快捷键呼出终端,我不能先打开终端,再使用功能键打开终端。。。这是个先有鸡还是先有蛋的问题,所以还是选其他快捷键吧。

对于没有 Touch Bar 的 MacBook,我们可以这么设置,首先打开系统偏好设置,选择键盘设置。

选中 将 F1、F2 等键用作标准功能键

这样你就可以通过 F12 来快速打开关闭终端了。

请注意:打开了标准功能键之后,以后再想使用功能键的特殊功能,比如 F11 减小音量、F12 增大音量,必须得和 Fn 键组合使用,例如增大音量就是 Fn+F12

对于新款带 Touch Bar 的 MacBook,可以这么设置,首先打开系统偏好设置,选择键盘设置。

"按下 Fn 键以" 选择 “显示F1、F2等键”:

这样就可以使用 Fn+F12 来快速打开终端。

同时在 快捷键 → 功能键 设置中添加 iTerm 应用,这样打开 iTerm2 窗口时就可以直接使用 F12 键来关闭窗口。

到目前为止,悬浮终端的 Profile 就配置完成了,你可以按下你设置的HotKey来方便快速打开和隐藏命令行。如果你想新建标签页也用这个 Profile,可以将 Hotkey Window 设为默认的 Profile:

下面我们来做一些优化工作。

02

改变光标形状

在 Preperence → Profiles → Text 进行设置。

默认光标形状是酱紫的:

更改设置之后光标形状就顺眼多了:

03

为自己代言

如果你要为自己代言,新建任何一个终端窗口都想打上自己的 Logo,可以在 Preperence → Profiles → General 进行设置。

这样不管我切换到哪个终端,都可以 fuck cloud native!

04

自定义标签页标题

在 Preperence → Profiles → General 进行设置。

取消勾选 Applications in terminal may change the title

Title 选择 Profile Name,取消勾选 Job Name

这样每个标签页的标题都会显示为对应的 Profile Name

05

自定义配色方案

网上有现成的配色方案,我们可以直接拿来主义,地址在这里:https://iterm2colorschemes.com/[1]

下载压缩包,解压后,打开 iTerm2 的设置:Preperence → Profiles → Colors → Color Presets。点击 import 选择解压好的主题目录下 schemes 目录下的你想要的主题导入。

导入之后,再选择你想要的主题就好了,我当然选的是 Ubuntu 骚紫~~

06

统一配色

默认情况下标签的颜色是黑的,即使你改了配色也没用:

如果想统一配色,需要稍微调整一下配置,打开 Appearence → General,将 Theme 改为 Minimal

07

关闭启动界面

如果你不想每次打开 iTerm2 都打开默认的窗口,也就是静默打开程序,可以在 Appearence → General 设置:

勾选 Exclude from Dock and ...,更改设置之后下次你再重新打开 iTerm2 就会变成这个样子:

它再也不会出现在 Dock 中,也不会在启动时给你打开一个默认的窗口,你可以优雅地通过快捷键呼入呼出窗口,完美。

08

使用 shell integration

iTerm2 可以与 unix shell 集成在一起,在安装了 iTerm2 的 shell 集成工具后,可以在 iTerm2 中看到命令历史、当前工作目录、主机名、上传下载文件等。

可以点击菜单栏 iTerm2 > Install Shell Integration 或者终端输入指令:

# 如果你的默认 shell 是 bash,请将 zsh 换成 bash
$ curl -L https://iterm2.com/misc/install_shell_integration.sh | zsh

该脚本会自动安装当前终端 shell 的对应脚本,并写入到对应的 shell 配置文件中。例如在 zsh shell 中执行完脚本后,.zshrc 中间中写入了下面语句:

$ test -e "${HOME}/.iterm2_shell_integration.zsh" && source"${HOME}/.iterm2_shell_integration.zsh"

在安装完 iTerm2 的 shell integration 后会在终端界面中最左侧多出一个蓝色三角形的标记。如图:

有蓝色三角形的标记说明当前 shell 支持 shell integration。如需关闭标记,可以在 iTerm2 > Preferences > Profiles > (your profile) > Terminal 最下面 > Shell Integration 关闭 Show mark indicators 。

所有工具:

imgcat filenameDisplays the image inline.
imglsShows a directory listing with image thumbnails.
it2apiCommand-line utility to manipulate iTerm2.
it2attention start|stop|fireworksGets your attention.
it2checkChecks if the terminal is iTerm2.
it2copy [filename]Copies to the pasteboard.
it2dl filenameDownloads the specified file, saving it in your Downloads folder.
it2setcolor ...Changes individual color settings or loads a color preset.
it2setkeylabel ...Changes Touch Bar function key labels.
it2ulUploads a file.
it2universionSets the current unicode version.

例如,可以用 imgcat 直接在终端显示图片:

09

奇技淫巧

最后介绍一些 iTerm2 的奇技淫巧。

剪贴板历史记录

iTerm2 允许我们快速查看剪贴板内容 只需使用 Command + Shift + h 可以呼出粘贴历史,支持模糊检索。还可以设置将粘贴历史保存在磁盘上(Preferences -> General)

智能选中

在 iTerm2 中,双击选中,三击选中整行,四击智能选中(智能规则可配置[2]),可以识别网址,引号引起的字符串,邮箱地址等。(很多时候双击的选中就已经很智能了)

巧用 Command 键

按住 ⌘ 键:

  • 可以拖拽选中的字符串;

  • 点击 url:调用默认浏览器访问该网址;

  • 点击文件:调用默认程序打开文件;

  • 点击文件夹:在 finder 中打开该文件夹;

  • 同时按住 option 键,可以以矩形选中,类似于 vim 中的 ctrl v 操作。

将文本内容复制到剪切板

$ pbcopy < text.md

在 Finder 中打开当前目录

$ open .

ok,关于 iTerm 自身的设置和优化到这里就结束了,下一篇将会介绍关于连接远程服务器的设置和优化,敬请期待。

脚注

[1]

https://iterm2colorschemes.com/: https://iterm2colorschemes.com/

[2]

配置: http://www.iterm2.com/documentation-smart-selection.html

  • 安利 10 个 Intellij IDEA 实用插件

  • 有了这 4 款工具,老板再也不怕我写烂SQL了

  • YAML中多行字符串的配置方法总结

  • 一篇漫画带你了解 Linux 内核长啥样!

  • JDK/Java 14 正式发布!然而我还在用 Java 8...

推荐关注本文作者

宝藏男孩

米开朗基杨

iTerm2 都不会用,还敢自称老司机?相关推荐

  1. 涡轮增压和机械增压都分不清,还敢自称老司机?

    最近几年,越来越多的汽车厂商加入了涡轮增压大家庭,从承诺过"自然进气"的本田,宝马到V12引擎靠自然进气排气做出天籁之声的法拉利都逐步重拾或者说新开发了涡轮增压的机器.不少看官们惊 ...

  2. iTerm2 都不会用,还敢自称老司机?(上)

    点击 "阅读原文" 可以获得更好的阅读体验. 前言 对于需要长期与终端打交道的工程师来说,拥有一款称手的终端管理器是很有必要的,对于 Windows 用户来说,最好的选择是  Xs ...

  3. iterm2下载太慢_iTerm2 都不会用,还敢自称老司机?

    对于需要长期与终端打交道的工程师来说,拥有一款称手的终端管理器是很有必要的,对于 Windows 用户来说,最好的选择是 Xshell,这个大家都没有异议.但对于 MacOS 用户来说,仍然毋庸置疑, ...

  4. idea 用iterm 终端_iTerm2 都不会用,还敢自称老司机?(上)

    对于需要长期与终端打交道的工程师来说,拥有一款称手的终端管理器是很有必要的,对于 Windows 用户来说,最好的选择是 Xshell,这个大家都没有异议.但对于 MacOS 用户来说,仍然毋庸置疑, ...

  5. 聊聊身边的嵌入式,为什么老司机都爱后视镜

    为什么老司机都爱后视镜 有句话形容我们老司机的成长过程,叫:一年虎,二年狼,三年变成小绵羊.如果你不懂这句话的意思,证明你还不是一个合格的老司机.如果没和别人发生过亲(Gua)密(Ceng)接(Shi ...

  6. 成年人都在用的黑科技app,高效率高质量,用过的都是老司机

    手机里总有几款黑科技app,虽然不是经常用到,但是每次使用都非常高质量,或者高效率,老司机用过都说好.下面就给大家分享几款黑科技app. 1.资源类:小羊搜搜 小羊搜搜是一款功能比较丰富的资源工具,高 ...

  7. 为什么我什么都不知道_我什么都不知道,但是还可以

    为什么我什么都不知道 by Nastasia Saby 由Nastasia Saby 我什么都不知道,但是还可以 (I know nothing, but it is okay) One thing ...

  8. 【正一专栏】巴萨和曼城都那么强了还在买人续约

    巴萨和曼城都那么强了还在买人续约 原创2018-01-30九天九天时空 目前欧洲最火的三支球队分别是巴萨.曼城和大巴黎,分别在各自联赛中遥遥领先不说,在杯赛中也是高歌猛进,欧冠也是夺冠的热门,更重要的 ...

  9. WiFi密码都不会破译​还想考清华?​

    1 18万的飞机票也能秒空??? 留学生:这是救命钱啊 ▼ 2 WiFi密码都不会破译还想考清华? ▼ 3 好羡慕有这样的妈妈 ▼ 4 猫:你别进来,我这儿不接待小孩儿! 孩子:我就进去看看 ▼ 5 ...

最新文章

  1. 全球及中国操纵杆控制系统行业应用动态与十四五形势分析报告2022版
  2. 【CodeForces - 245H 】Queries for Number of Palindromes (带容斥的区间dp)
  3. c++输入错误重新输入_管家婆提示本单据的日期太大,请确认后重新输入
  4. 预测一下web前端未来的6个趋势
  5. 紫色UI趣味测试微信小程序源码下载包含多种评测
  6. vant-联系人卡片
  7. 【POJ3264】Balanced Lineup,线段树入门
  8. Java中int和Integer的区别
  9. linux 设置端口常用命令
  10. 倒数第N个字符串 (15 分)
  11. 社会达尔文主义 盛行时间_新达尔文主义的心理理论
  12. echart 地图 某个地区_使用echarts实现自定义区域地图
  13. GBase 数据库用户的最大连接数限制
  14. 计算机管理 服务在哪,信息服务,教您哪里打开Internet信息服务(IIS)管理器
  15. SAP BASIS ADM100 中文版 Unit 9(5)
  16. 获取服务器端的webapps路径
  17. “我不是坚强,我只是走投无路”,从职高到杭电、浙大、麻省计算机博士!...
  18. 拼多多砍价用户福利贴:通过python模拟操作进行拼多多砍价
  19. 力推数字化工作方式 阿里钉钉全链路数字化解决方案助力企业数字化
  20. JAVA对象布局之对象头(Object Header)

热门文章

  1. premiere pr 波纹编辑 滚动编辑 比率拉伸 工具使用
  2. linux suse 软件管理工具 zypper 简介
  3. shodan 渗透测试 漏洞挖掘 一些用法
  4. python3 list 列表 倒序
  5. linux 后台任务 前台任务 查看切换终止开始命令 bg、fg、ctrl+z、ctrl+d和ctrl+c 简介
  6. linux 图形界面 x x11 gnome xorg kde 之间的关系
  7. win10默认账户 WDAGUtilityAccount 和 DefaultAccount
  8. vector的初始化和遍历
  9. 对多态变形引擎背后方法的概述
  10. IsDebuggerPresent学习