iTerm2 使用笔记
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窗口右键
> Bury
或 Session
> 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 使用笔记的更多相关文章
- iterm2 学习笔记
itrem 笔记 选中即复制,有两种方式. 在新Tab中自动使用前一Tab路径,该怎么用? 系统热键:option+space 自动完成:输入打头几个字母,然后输入command+“;” iterm2 ...
- mac下iterm2 设置笔记
1.利用brew install zsh 来安装oh my zsh 2.chsh -s /bin/zsh,修改~/.zshrc文件 alias cls='clear' alias ll='ls -l' ...
- [Ting's笔记Day1] Ruby on Rails练习- MacOS安装篇
千里之行,始于足下.喊了要学Ruby on Rails好久,今天终于要来迈向第一步:安装了! 一开始学习新的事物,主要就是跟着这个网页所说的步骤step by step. 很喜欢这个网页的设计流程,透 ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
随机推荐
- gcc8.2安装__(沒有成功)
重要:https://gcc.gnu.org/install/prerequisites.html 官方安装所需要的工具文档 还有就是这篇文章 http://blog.51cto.com/2716 ...
- iframe和form表单实现ajax请求上传数据
form的target属性设置为iframe的name值时,表示提交到url后返回的数据显示到iframe区域 <form action="/upload.html" met ...
- Java 字符编码(二)Java 中的编解码
Java 字符编码(二)Java 中的编解码 java.nio.charset 包中提供了一套处理字符编码的工具类,主要有 Charset.CharsetDecoder.CharsetEncoder. ...
- Rabbit
安装配置参考:https://blog.csdn.net/qq_31634461/article/details/79377256 概念学习参考(纯洁的微笑):https://www.cnblogs. ...
- hive插入数据-单条
写入数据到hive的hdfs文件中即可,hive创建表的时候用小写做表名,不然查不到 相关操作如下: 查看目录与表 hive> dfs -ls /user/hive/warehouse/ 准备h ...
- mysql 统计某个月每天的数据
select SUM(order_money) as money,substr(t.pay_time,1,10) as time from pay_log t where t.pay_time l ...
- 死锁问题------------------------INSERT ... ON DUPLICATE KEY UPDATE*(转)
前言 我们在实际业务场景中,经常会有一个这样的需求,插入某条记录,如果已经存在了则更新它如果更新日期或者某些列上的累加操作等,我们肯定会想到使用INSERT ... ON DUPLICATE K ...
- C/C++字符串相关知识使用整理
C++字符串处理有最原始的char以及string两种方式,这里对其常用的功能进行总结. #include <string>using namespace std; ]; string s ...
- -1.记libgdx初次接触
学习一门技术最难的是开发环境变量配置和工具配置,以下为我初次接触libgdx时遇到的问题 几个难点记录下 gradle 直接用下到本地,然后放到d盘,链接到就行(gradle-wrapper.prop ...
- 实战操作——通过wireshark查看任意qq好友IP
今天有群里好友问我如何查看别人IP,查IP这个东西对于一些刚入门的小白来说可能是一个比较高大上的玩意,但是实际上只需一个网络协议分析工具就OK,废话不多说,下面开始实践 实验对象:任意QQ好友 操作工 ...