iTerm2使用笔记
iTerm2使用笔记
Tmux
Tmux使用手册
http://louiszhai.github.io/2017/09/30/tmux/
手把手教你使用终端复用神器 Tmux,丢掉鼠标不是梦[视频]
https://zhuanlan.zhihu.com/p/43687973
Profile 保存ssh连接信息
打开 Profiles 点 + 加号新建 profile
General 页面中,Command 选择 Command,输入ssh登录命令 ssh root@127.0.0.1
Advanced 页面中,点 Triggers -> Edit,点 + 加号新增一个触发器,触发器的作用是匹配终端输出的字符串然后执行相应动作
Regular Expression 输入 password,表示匹配 password 串
Action 选择 Send Text
Parameters 填入登录密码,密码最后以 \n
结束表示输完密码后换行
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 -> Save All Profiles as JSON
将全部 profile 配置保存到 json 文件中。
2、新电脑上,安装 iTerm2,CMD+, 打开 preferences 设置,选择 profiles -> Other Actions -> Import Json Profiles… 选择刚才到处的 json 文件。
注意:
1、导出全部 profile 时会将 default profile 也导出,default profile 中有我们配置的字体、颜色等,在新环境上导入后如果看到多个 default profile,前面带星号的是当前在用的,可以删除旧的 default profile。
2、如果新电脑上有重复的 profile,先删除(只能界面一个一个点删除),否则导入后会有重复的。
导入后 默认 Profiles -> Window -> BackGround Image 勾选图片
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
安装 PowerLine
提示没有 pip 时,改用 pip3
pip3 install powerline-status --user
SSL_ERROR_SYSCALL in connection to github.com:443
安装 Oh My Zsh 时执行
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
报错
fatal: unable to access ‘https://github.com/ohmyzsh/ohmyzsh.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
解决:
打开 https://www.ipaddress.com/
搜索 raw.githubusercontent.com
把四个 ip 都填入 /etc/hosts 中
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
一开始只填了一个,还是会报错。
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使用技巧
vim触摸板滚动
iterm2->Preferences->Advanced
搜索关键词:
scroll
Scroll wheel sends arrow keys when in alternate screen mode. 设为 yes
选中即复制
在iTerm2 中,选中即复制,所以在 iTerm2 的 session 中不用再去 CMD+c, 可直接将选中的文本复制到剪切板中去,通常选中有以下两种方法:
1、使用鼠标选择。
双击选中,三击选中整行,四击智能选中
2、使用 CMD+f 搜索,查找内容会高亮显示,通过 tab / shift+tab 扩大选中范围,快捷键可在 Profiles > Keys 中设置。
CMD+K 清屏
直接执行 clear 命令只是滚动到一个新页面,往上翻还能翻到之前的内容,CMD+F 搜索也会搜到之前的内容
CMD + K 可彻底清屏,搜不到也翻不到之前的内容
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+O 打开Profiles列表页
CMD+O 打开Profiles列表页,输入ip或名称筛选定位到 profile,回车即可快速连接,非常流畅
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使用笔记
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: