標籤:

iterm2有什么酷功能?


我写了一篇文章,你应该知道的 iTerm2 使用方法--MAC终端工具。贴在下面。

iTerm2 是 MAC 下最好的终端工具。可以简单的认为,iTerm2 是配置完毕开箱即用的 tmux。但 tmux 有以下一些缺点:

  • 查找 terminal 的输出历史内容需要切换到 vim 模式。在该模式下复制使用的是 vim 的查找,增加了认知负担;
  • 和各种工具兼容性比较差,尤其是 vim 和 emacs 的 powerline;
  • 自有样式,与系统的样式冲突。

iTerm2 的一些特色功能如下:


标签变色

iTerm2 的标签的颜色会变化,以指示该 tab 当前的状态。当该标签有新输出的时候,标签会变成洋红色;新的输出长时间没有查看,标签会变成红色。可在设置中关掉该功能。


智能选中

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

在 iTerm2 中,选中即复制。即任何选中状态的字符串都被放到了系统剪切板中。


巧用 Command 键

按住?键:

  • 可以拖拽选中的字符串;
  • 点击 url:调用默认浏览器访问该网址;
  • 点击文件:调用默认程序打开文件;
  • 如果文件名是filename:42,且默认文本编辑器是 Macvim、Textmate或BBEdit,将会直接打开到这一行;
  • 点击文件夹:在 finder 中打开该文件夹;
  • 同时按住option键,可以以矩形选中,类似于vim中的ctrl v操作。

Meta 键

在emacs中,meta键的使用非常频繁,而 OSX 系统没有提供meta键。在 iTerm2 中可以选择左右两个的Option键作为meta键。官方推荐的配置如下图所示。右Option键依然是 OSX 的默认功能(输入特殊字符)。

Q: How do I make the option/alt key act like Meta or send escape codes?

A: Go to Preferences-&>Profiles tab. Select your profile on the left, and then open the Keyboard tab. At the bottom is a set of buttons that lets you select the behavior of the Option key. For most users, Esc+ will be the best choice.

常用快捷键

  • 切换 tab:?+←, ?+→, ?+{, ?+}。?+数字直接定位到该 tab;
  • 新建 tab:?+t;
  • 顺序切换 pane:?+[, ?+];
  • 按方向切换 pane:?+Option+方向键;
  • 切分屏幕:?+d 水平切分,?+Shift+d 垂直切分;
  • 智能查找,支持正则查找:?+f。


自动完成

iTerm2 可以自动补齐命令,输入若干字符,按?+;弹出自动补齐窗口,列出曾经使用过的命令。

iTerm2 也可以使用历史记录,按?+Shift+h弹出历史记录窗口。


Exposé Tabs

?+Option+e全屏展示所有的 tab,可以搜索。


高亮当前鼠标的位置

一个标签页中开的窗口太多,有时候会找不到当前的鼠标,?+/找到它。


大家都知道 iTerm 可以分屏。

大家都知道 iTerm 可以分屏以后记下布局

大家都知道 iTerm 记下的布局里也包含 profile 信息

大家都知道 iTerm 的 profile 里可以设置 trigger

大家都知道 iTerm 的 trigger 里可以模拟输入

……

……

……

……

……

……

所以这能做什么呢……?多个 remote 的一键自动登录啊!就像这样:

iTerm 还有一个功能就是把输入广播到所有终端,配合上面可以实现同时查看多台超算中的排队情况~~


咦,难道只有我一个人使用guake-like方式来操作么?

对于一个长期依赖终端的猿类,能够一键唤出终端是最重要的功能了,当然设定一个唤出快捷键是极好的,但是它却有窗口属性,有窗口就要管理窗口,它唤出后在屏幕哪里?大小?这些都不固定,很烦。

guake-like的好处就是它总是从固定的位置弹出,点击其他窗口自动就隐藏了,呼之即来,完全无痛,让你的脚本工作能够随心所欲,自由自在。

至于设定方式我就不多说了,谷歌一大把。


最新版的3.0 有两个很酷的新功能: Shell Integration 和 Utilities Package。

Shell Integration:

Alert on next mark

Command status

Download with scp

Utilities Package:

imgcat

it2dl

下载文件到 Downloads 文件夹

Usage:
it2dl filename


定制性强啊,profile+配色+背景图+各种快捷键+AutoComplete

用[Option+Space]呼出和隐藏,很有极客范儿,酷酷酷

===============2017.08.11更新=======================

很久没上知乎,没想到还挺多人评论的,谢谢了

附上Profile配置截图

字体是 12pt Monaco


iTerm2 最好用的是分屏CMD+D/CMD+Shift+D

而iTerm2最大的黑科技却是与tmux集成,全球仅此一家。

其实iTerm2的设计初衷就是做成Native窗口及标签的tmux。

与iTerm2集成的change已经merge到tmux主线中了,只要tmux的版本足够新都支持,我的是2.0。

使用也很简单,本地使用或者ssh远程使用均可

新建并关联tmux

#tmux -CC

attach并关联

#tmux -CC attach

这样原来的shell会变成控制tmux的状态。

同时iTerm2会新建一个窗口与tmux的服务器端一一对应

tmux的session映射iterm2窗口

tmux的tab映射iterm2的tab

tmux的panel映射iTerm2的panel

忘掉tmux那用不惯的快捷键和蛋疼的复制粘贴吧

使用tmux就像用本地shell一样,而且无痛断开和重连,神器有木有。

连接后会有条小鱼箭头以作区分这是tmux关联的标签


这几个功能也很强大 适用于控制数目不多的机器使用


已转iterm2,加oh my zsh。毕竟iterm2的高级特性还是美滋滋的呀,可以sz rz

-----------------分割线----------------……自带的终端很好用啊


如何在iTerm2上加按钮,点一下执行设置好的命令?

iterm2官网文档上面有一段 Scripts Menu

就是在item支持文件目录建一个Scripts的文件夹,可以支持AppleScript写的脚本。

mkdir -p $HOME/Library/Application Support/iTerm/Scripts

建一个文件test.scpt

tell application "iTerm"
tell current window
tell current session
write text "cd ~/Library/Application\ Support/iTerm/Scripts pwd ls"
end tell
end tell
end tell

注意目录空格的反斜线。

重启一下iTerm2。可以看到多出了Scripts的目录,里面有新建的脚本文件。点击运行。

对于重复而且复杂的命令,可以使用这种方式简化输入。

而且支持已经连接到的远程服务器。

AppleScript不是很懂,目前只能做到一堆命令按钮,还不知道传参数的命令怎么弄。

以前用zoc的按钮,很是方便。在iTerm2上只能用这个Scripts做到一部分功能。

zoc7也是个相当好用的终端。配置起来飞一样。


iterm2可以一键登录服务看大家没提到啊!有兴趣可以看看

我自己安装的笔记,成功实现了一键登录


请问iterm2的valet 命令生成文件的URL无法访问,有遇到过吗?


这个效果好赞,想问问楼主怎么弄的


分屏,想怎么分就怎么分


请问iterm2,使用密钥怎么登录啊


推薦閱讀:

TAG:zsh | iTerm2 |