iTerm2 使用了1年多了,一些功能其实还没有主动去发现,这次接着项目忙完的空闲时间整理一下tips,提高工作效率,方便以后查阅。

一、几个术语

从小到大:session > pane > tab > window

二、好用的功能

1、Toggle Broadcasting Input - 广播输入

session窗口右键 > Toggle Broadcasting Input

(1)当多个session一起打开,将同步输入

(2)更多设置(shell > Toggle Broadcasting Input



2、多窗口(panes)

shell 下:

(1)shell > Duplicate Tab 可以快速新建一个 tab 且保留上一个 tab 的 pane 样式

3、清空 session 内容

(1)edit > Clear Buffer —— 清空所有

(2)edit > Clear Scrollback Buffe —— 清空除了当前的所有

4、恢复不小心关掉的窗口

Edit > Undo Close Session

(1)只支持恢复几分钟前不小心关闭的(原理是赶在没有真正断开链接前)

5、copy mode —— 复制模式

专门切换到用于复制的模式,此模式下不能修改任何内容

Edit > Copy Mode

基本操作:

(1)空格toggle到复制光标状态

(2)上下左右剪头移动复制光标

(3)更多高级操作请看文档:https://www.iterm2.com/documentation-copymode.html

6、关于历史时间

(1)显示命令执行的时间 View > Show Timestamps`

(2)时光倒流 View > Show Annotations`

7、给不同的 window 上颜色

View > Tab Color ,用来区分不同窗口的功用。

8、侧边栏工具箱

Toolbelt 下可以打开不同的工具窗口:

我常用的是两个:



可以用下面实现相同的效果:

Session > Open Command History..

Session > Open Recent Directories...

9、隐藏 / 恢复 session

(1)隐藏 session:

session窗口右键 > BurySession > Bury Session

(2)恢复 session:

Session > Buried Sessions

10、多window自动布局

开的 window 太多,可以用 Window > Arrange Windows Horizontally 自动布局

11、列出所有 window 并支持搜索

Window > Expose all Tabs

12、无鼠标复制

在搜索框按tab,可以拓展选择匹配结果后面的单词

三、与 Shell 集成

新版本的 iTerm2 可以与unix shell(支持tcsh、zsh、bash、fish 2.3)集成,提供更多功能。

1、安装

因为我用的是 zsh,所以不要用 iTerm2 > Install Shell Integration,而是执行:

curl -L https://iterm2.com/shell_integration/zsh \
-o~ / .iterm2_shell_integration.zsh # 然后将下面添加到〜/ .zshrc的末尾:
source~ / .iterm2_shell_integration.zsh

2、Marks and Annotations —— 标记与备注

(1)添加 Mark(标记):

与 Shell 集成后,所有的命令行都会被自动标记为mark。

没有跟与 Shell 集成前,可以通过Marks and Annotations > Set Mark在最近的命令行添加 Mark。

(2)添加 Annotation(备注):

在最近的命令行添加 Annotation:Marks and Annotations > Add Annotation at Cursor

任意地方添加 Annotations:session窗口右键 > Annotate Selection

(3) 移动位置(包括 mark 和 Annotation)

快捷键:Cmd+Shift+上/下剪头

跳到上一个mark / Annotation:Marks and Annotations > Previous Mark/Annotation

跳到下一个mark / Annotation:Marks and Annotations > Next Mark/Annotation

若跳到 mark,会有颜色提示,蓝色表示成功的命令,红色表示失败的命令

跳到最近的 Mark:Marks and Annotations > Jump to Mark

(4) 显示所有 Annotation

View > Show Annotations

3、命令执行完后提醒

(1)弹窗方式:Edit > Marks and Annotations > alerts > Show Modal Alert Box

(2)提醒栏方式:Edit > Marks and Annotations > alerts > Post Notification

4、查看历史命令状态

在命令(mark 过的)的三角形处右击:

四、更多特性

看官方文档:https://www.iterm2.com/features.html

五、DIY 功能

1、实现双击 Profiles 的服务器可以免密登录

(1)Profiles 设置里,指定如下图的路径expect /Users/xjnotxj/Program/ssh/121.xxx.xxx.xxx



(2)路径指定的文件121.xxx.xxx.xxx,内容如下:


#!/usr/bin/expect -f
set user root
set host 121.xxx.xxx.xxx
set password xxxxsxx
set timeout -1 spawn ssh $user@$host -o StrictHostKeyChecking=no
expect "*assword:*"
send "$password\r"
interact
expect eof

iTerm2 使用笔记的更多相关文章

  1. iterm2 学习笔记

    itrem 笔记 选中即复制,有两种方式. 在新Tab中自动使用前一Tab路径,该怎么用? 系统热键:option+space 自动完成:输入打头几个字母,然后输入command+“;” iterm2 ...

  2. mac下iterm2 设置笔记

    1.利用brew install zsh 来安装oh my zsh 2.chsh -s /bin/zsh,修改~/.zshrc文件 alias cls='clear' alias ll='ls -l' ...

  3. [Ting's笔记Day1] Ruby on Rails练习- MacOS安装篇

    千里之行,始于足下.喊了要学Ruby on Rails好久,今天终于要来迈向第一步:安装了! 一开始学习新的事物,主要就是跟着这个网页所说的步骤step by step. 很喜欢这个网页的设计流程,透 ...

  4. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  7. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  8. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  9. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

随机推荐

  1. Mnist

    Mnist 先贴一个介绍的很好的博客 https://blog.csdn.net/sysushui/article/details/53257185 mnist是一个手写体数字的数据集.上图是数据集的 ...

  2. java 实现udp通讯

    需求:应用A(通常有多个)和应用B(1个)进行 socket通讯,应用A必须知道应用B的ip地址(在应用A的配置文件中写死的),这个时候就必须把应用B的ip设成固定ip(但是某些时候如更换路由后要重新 ...

  3. 探索未知种族之osg类生物---渲染遍历之Renderer::draw()简介

    我们今天进入上一节的遗留问题Renderer::draw()的探究. 1.从_drawQueue中取出其中一个sceneView对象.SceneView是对scene和view类的封装,通过他可以方便 ...

  4. python AES加密 ECB PKCS5

    class AesEbc16:  # 按块的大小, 一块一块的加密, 明文和密文长度一样 def __init__(self): self.key = b"123qweqqqwerqwer& ...

  5. Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

    虚拟机恢复快照后,使用yum安装软件,提示下面的信息,开始以为是yum源的问题或者DNS的问题,但是无果,最后再看一下服务器的时间,坑了,还原快照,时间变成以前的了. [root@localhost ...

  6. 201621123002《java程序设计》第十三周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以被多个用户通过网 ...

  7. 教你如何用ps制作紫色光斑效果

    1.新建800x800画布 2.设置前景色和背景色分别为#b38adb ,#212121;执行"滤镜"-"渲染"-"云彩"操作 3.执行&q ...

  8. Dockerfile制作自定义镜像

    本文介绍最精简的Dockerfile文件构建镜像,Docker启动的时候可以启动一个shell脚本 1.首先编写Dockerfile文件 说明 1.启动的这个shell脚本一定是不退出的,比如服务器的 ...

  9. brace源码改造实现跨服务器监控-zjs

    1.从GitHub上下载源码,本地编译,有部分代码编译报错,如下图: 百度搜索import sun.jvmstat.monitor.需要导入什么jar包:导入jdk/lib/tools.jar.

  10. AX_Unit

    UnitConvert::qty(_deliverNow,      salesLine.SalesUnit,      salesLine.inventTable().inventUnitId(), ...