iterm2高级应用

自动切换profile

先上文档 profile-switching

经常用这个功能来区分服务器和本地环境。设置多个不同色调的profile,检测到服务器的时候,切换到高亮的profile,本地就切换回来。对于服务器环境使用GBK编码的情况也很实用。

具体方法是在preference->profile里面,选中对应的profile,然后切换到advanced,下面有一个automatic profile switching。然后用username@host的格式进行填写即可,支持使用星号(*)进行截断。然后iterm2检查到对应的用户名和host的时候就会自动切到该profile了。

至于如何检测用户名和host,有两个途径:

  1. 使用shell Integration。具体就是点击 iTerm2>Install Shell Integration。
  2. 当然,不是所有的环境都能安装,服务器极大可能不能安装这个。所以就需要途径2,使用trigger。trigger可以根据正则匹配,抓去屏幕上的输出,然后将用户名和host上报给iterm2,使之实现自动profile切换。具体怎么设置,看下面

Triggers

先上文档 triggers

trigger可以说是iterm2高级功能里面非常有意思的部分了。在介绍如何使用trigger获取用户名和host之前,我们先来看一下如何使用trigger,将特定的关键字高亮。同样在preference->profile里面,选中对应的profile,然后切换到advanced,这里选择Triggers

这个是我设置的trigger列表。其中的Regular Expression是抓取表达式。Action是抓取到之后执行的内容。

比如你在服务器tail一个日志。你会关注error,panic,fatal等关键字,希望能看到马上发现他们。你可以在Regular Expression里面写(?!)error|panic|fatal。然后选择Highlight Text,右边选择合适的颜色就行了。试试看在命令行执行echo error。就能看到效果了。

然后对于用户和host上报,一般服务器登录之后每个输入行开始都有一个前缀,前缀里面会有用户和host信息,就把这个抓出来就行了。例如你的服务器是user@server:/home/user:这种前缀,那么你可以使用这个表达式:

^(\w+)@([\w.]+):.+%

然后后面的Parameters就填入

\1@\2

即可。注意,不知道iterm的文档维护人怎么想的,这个虽然是triggers的功能,但是这个样例来自shell intergration。。。。

然后iterm就能收到你上报的host啦。

trigger还能用于实现rz,sz功能,具体参考iterm的文档,照着设置就行了。基本的原理就是捕捉一个前缀,然后执行对应的coprocess。

Badge

这个徽章功能会在一个窗口的右上角显示一个水印。对于一下开一堆窗口的人来说非常好用。一个窗口做一件事情,不会搞混。简单的设置方法就是使用cmd+i打开session设置窗口,然后进行设置

特殊逃逸数控制符号

先上 文档 escape-codes

这个也是一个很有意思的功能。它允许你在窗口接收到特殊的命令字的时候,执行一些操作。包括发一个通知,会在笔记本的右边弹一个通知,跟推送消息是一个效果(需要你允许通知),变更profile,变更badge,将窗口强制拉到前台等。具体参考iterm的文档,这里说一下大概的使用方法。

特殊逃逸控制要求在屏幕输出符合一下格式的一行输出:

以 Esc开头(二进制0x1b,在文档中用^[表示)以Bel结尾(二进制0x07,在文档中用^G表示)。中间为控制内容。

例如强制将窗口带到前端的控制命令,在文档中是这么写的:

^[]1337;StealFocus^G

用shell来输出,就是这样:

echo -e "\033]1337;StealFocus\07"

\033是八进制的0x1b,\07是八进制的0x07。

尝试休眠10秒,然后执行这个echo。开始执行之后,十秒内,把iterm窗口最小化,等这个echo出来,iterm会把这个窗口重新拉出来。

sleep 10 && echo -e "\033]1337;StealFocus\07"

这个功能对于需要跑长时间任务,但是对于输出结果时间非常敏感,希望有结果马上知道的情况,非常有用。(例如跑一个攻击防御程序,需要遇到攻击马上弹出来那种)

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是iTerm2汉化指南: 1. 下载中文语言包 - 打开终端,输入以下命令并回车:`curl https://iterm2.com/misc/simplified_chinese.txt > /tmp/simplified_chinese.txt` - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Terminal -> Report Terminal Type,选择xterm-256color - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Terminal -> Terminal Emulation,选择xterm-256color - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Terminal -> Character Encoding,选择Unicode (UTF-8) - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Font,选择支持中文的字体,例如Sarasa Mono SC - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Non-ASCII Font,选择支持中文的字体,例如Sarasa Mono SC - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,勾选该选项 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,选择支持中文的字体,例如Sarasa Mono SC - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use a different font for non-ASCII text取消勾选 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use a different font for non-ASCII text勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Size设置为与Font相同的大小 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Vertical和Horizontal都设置为0 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Anti-aliased勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Use ligatures勾选上 - 在iTerm2中,点击菜单栏的iTerm2 -> Preferences -> Profiles -> Text -> Use a different font for non-ASCII text,将Link定位到/Users/你的用户名/Library/Fonts/Sarasa Mono SC Nerd Font Complete.ttf - 在iTerm2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值