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

iTerm2使用笔记

iTerm2使用笔记


Tmux

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

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


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 再次还原

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


上一篇 接下来要学习的

下一篇 Postman使用笔记

阅读
评论
1,318
阅读预计5分钟
创建日期 2018-07-05
修改日期 2020-09-28
类别

页面信息

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

评论