当前位置 : 首页 » 文章分类 :  开发  »  iTerm2使用笔记

iTerm2使用笔记

iTerm2使用笔记


Tmux

Tmux使用手册
http://louiszhai.github.io/2017/09/30/tmux/

手把手教你使用终端复用神器 Tmux,丢掉鼠标不是梦[视频]
https://zhuanlan.zhihu.com/p/43687973


Dynamic Profiles

iTerm2 启动时会创建 ~/Library/Application Support/iTerm2/DynamicProfiles 目录并监控其中的文件变化,当其中的配置文件发生改变时,iTerm2 会立即重新装载所有 Profile

此文件夹中的文件应遵循 Apple Property Lists 格式,对于文件扩展名无要求。若有任一文件格式不对,变动不会生效。

Dynamic Profiles
https://iterm2.com/documentation-dynamic-profiles.html

利用Dynamic Profiles迁移iTerm2 Profile

1、旧电脑上, CMD+, 打开 preferences 设置,选择 profiles -> Other Actions -> Copy All Profiles as JSON
将全部 profile 配置保存到 json 文件中。

2、新电脑上,安装 iTerm2 打开 ~/Library/Application Support/iTerm2/DynamicProfiles 目录,将 json 文件拷贝进去,立即就可以看到所有 profile 都恢复了。

3、新导入的 profile 都会被打上 Dynamic 标签,并且放在 dynamic 子文件中,在 iTerm2 profile 界面挨个去掉所有 dynamic profile 的 dynamic 标签后,就变成正常的 profile 了。但编辑时会提示需要直接修改源 json 文件,启动也会报错,不用管,把 json 文件从 ~/Library/Application Support/iTerm2/DynamicProfiles 目录删掉即可,删除后这些 profile 也会保存在本地了。


Mac终端增强iTerm2 + Oh My Zsh

iTerm2 + Oh My Zsh 打造舒适终端体验
https://github.com/sirius1024/iterm2-with-oh-my-zsh

iTerm2
https://www.iterm2.com/
https://github.com/gnachman/iTerm2

Oh My Zsh
https://ohmyz.sh/
https://github.com/robbyrussell/oh-my-zsh


iTerm2结合expect脚本和profile实现跳板机快速ssh登录

1、创建 expect 脚本 ~/.ssh/relay.exp

#!/usr/bin/expect
#trap sigwinch and pass it to the child we spawned
trap {
 set rows [stty rows]
 set cols [stty columns]
 stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH

# 设置超时时间,默认超时时间10s
set timeout 30

# 登录跳板机
spawn ssh relay
# 等待1秒钟,等跳板机打印提示字符串
sleep 1

expect {
    # 当日首次登陆跳板机,需要先输入跳板机密码,然后continue等待ssl提示
    "*password:*" {send "tiaobanjimima\n"; exp_continue;}

    # 通过共享session自动登录跳板机,直接根据profile参数登录目标主机
    "*ssl*" {send "ssh [lindex $argv 0]@[lindex $argv 1]\n"}
}

expect {
    "yes/no" {send "yes\n"; exp_continue;} # 匹配到输出'yes/no' 后发送 yes\n
    "*password:*" {send "[lindex $argv 2]\n"} # 匹配到输出'password:' 后输入密码
}

# 将控制权交给控制台
interact

[lindex $argv 0] 表示获取第一个命令行参数
最后的 interact 表示执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行一段命令就退出,可改为[expect eof]

2、给脚本添加可执行权限
chmod u+x relay.exp 添加可执行权限,或者也可以 expect relay.exp 作为 expect 的参数传入

3、CMD+, 打开 iTerm2 的 Preferences 配置,选择 Profile 标签
点加号新建一个profile,配置如下图 relay.exp 后面的三个参数依次是 目标服务器用户 目标服务器ip 目标服务器密码,不同的服务器配置不同的profile,共用同一个 expect 脚本。


iTerm2 Profile 配置

4、之后直接点击这个profile就可以自动登录目标服务器,或者可以 CMD+O 快捷键打开profile选择界面,选择对应的profile后回车直接登录。

iTerm2结合 expect 脚本实现 ssh 登录跳板机后登录指定服务器
https://juejin.im/post/6844903761521950727


iTerm2配置

修改选中字体颜色

选中字体颜色和背景太接近,看不清楚
Preferences -> Profiles -> Colors 选择Selection颜色即可

设置终端历史行数

ITERM 默认设置了终端能保留的历史输出行数,在进行调试时特别不方便,一旦输出过多就无法看到完整的历史记录。
在 Preference=>Profiles=>Terminal 内将 Scrollback Lines 右侧的 Unlimited scrollback 勾选上即可保留所有的历史输出。


iTerm2使用技巧

选中即复制

在iTerm2 中,选中即复制,所以在 iTerm2 的 session 中不用再去 CMD+c, 可直接将选中的文本复制到剪切板中去,通常选中有以下两种方法:

1、使用鼠标选择。
双击选中,三击选中整行,四击智能选中

2、使用 CMD+f 搜索,查找内容会高亮显示,通过 tab / shift+tab 扩大选中范围,快捷键可在 Profiles > Keys 中设置。

CMD+鼠标智能选中

按住 CMD 键
1.可以拖拽选中的字符串;
2.点击 url:调用默认浏览器访问该网址;
3.点击文件:调用默认程序打开文件;
4.如果文件名是filename:42,且默认文本编辑器是 Mac vim将会直接打开到这一行;
5.点击文件夹:在 finder 中打开该文件夹;
6.同时按住opt键,可以以矩形选中。

/bin/zsh找不到命令

问题原因
在 Terminal 中访问得到 command not found 的具体原因可能如下:
1、当前调用的命令确实没有安装,如:”lorem spear”;
2、当前命令安装了,但是没有创建软链接到 */bin;
3、当前命令已创建软链接到bin,但是所在bin路径没有被export;

解决方法
首先 zsh 的配置文件在 ~/.zshrc,编辑此文件,export PATH 环境变量
source ~/.zshrc 使生效

“command not found”问题的解决办法
https://www.jianshu.com/p/bba968ca3957

iTerm2分屏


iTerm的标签Tab和面板Panel

iTerm2快捷键

CMD+D 纵向分割标签

Tab纵向分割:⌘+d

CMD+Shift+D 横向分割标签

Tab横向分割:⌘+shift+d

CMD+[ 切换Panel

切换Tab中的panel:⌘ + [ 或者 ⌘+ opt + arrow

CMD+Left/Right 左右切换标签

Ctrl+Tab 切换最近2个标签页

Tab 切换:Ctrl+Tab 或 ⌘ + arrow 或者 ⌘+shift + [
Atom,Chrome,iTerm2有相同快捷键

CMD+N 切换到第N个标签上

快速切换到Tab上:⌘ + Num
Atom,Chrome,iTerm2有相同快捷键

CMD+Shift+Enter 最大化/还原Panel

最大化Tab中的pane,隐藏本Tab中的其他pane:⌘+ shift +enter , 再次还原

CMD+W 关闭Panel

关闭panel:⌘ + w
和Atom以及Chrome中关闭标签页的快捷键一样

CMD+T 新建标签

新建Tab :⌘ + t

CMD+Enter 最大化/还原标签

最大化Tab : ⌘ + enter 再次还原

CMD+I 重命名标签(双击tab)

CMD + I 打开 Preference 编辑页面,输入 tab title 后直接 esc 退出即可。
或者双击 tab 可直接编辑 tab title

关于 iTerm2 你不知道的一些事
https://juejin.im/entry/58bf6cb4a22b9d00588927aa


上一篇 接下来要学习的

下一篇 Postman使用笔记

阅读
评论
1.7k
阅读预计6分钟
创建日期 2018-07-05
修改日期 2021-06-06
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论