iterm2有什么酷功能?

关注者
1,505
被浏览
440,463

18 个回答

我写了一篇文章,你应该知道的 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,可以搜索。


高亮当前鼠标的位置

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



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关联的标签