iTerm2打磨之路
iTerm2相比较Mac自带的Terminal个人觉得还是很强大的,这里总结下使用中的一些设置/技巧。
App完整设置过多,这里并不一一赘述,只hightlight下我个人认为重要的一些设定
基本设定
主题推荐设置为Minimal
终端会有沉浸式体验,没有独立的头部工具栏
badge设置
每个profile进行badge设置,便于区分会话/机器,注意badge设定是by profile,并不对所有机器work。
缺省显示timestamp
很多时候我想知道命令执行的大概时间,因此默认开启了右侧的时间戳显示
Status bar开启
终端会话可以显示部分数据信息,比如内存占用情况/电池电量等
设置同步/保存
比如我自己有多台Mac设备,我希望iTerm2设置可以多设备自动同步,因此这里可以进行下设定,只需要将配置文件保存到iCloud的云盘,另一台Mac-iTerm2下加载即可。
多台Mac针对iterm2这里的配置要一致
无限回滚-Unlimited scrollback
有时,我们的终端输出错误很长,如果想上滚动,看到完整的输出,需要进行下设定
Unlimited scrollback
Cursor guide设定
光标所在行会有不同背景色进行高亮显示
Color Presets
推荐coolnight
更多主题推荐这里
https://github.com/mbadolato/iTerm2-Color-Schemes
集成工具
iTerm2强大除了本身这些feat外还可以再集成下以下几个工具,变的更好用
oh my zsh
zsh是很强大的shell,而oh my zsh让这一切更好用,更好看。
- 访问官网
- 安装推荐主题即可
zsh插件推荐
1 | git |
tmux
tmux可以解决会话保存/恢复,详细介绍可以看下我的另一篇总结,这里简单描述下
- iTerm2下全局设定
- 目标机器安装tmux
- profile登陆机器时设置命令进行开启
ssh -p 22 -t root@188.146.132.160 "tmux -CC attach || tmux -CC"
Alfred
Alfred用户集成后,可以直接在输入框里输入命令后唤起iTerm2执行
拷贝脚本内容
Alfred- Features-Terminal
其它
Dynamic Profile
iTerm2下经常多服务器终端操作存在一个问题即如何复用profile配置,比如szrz的trigger支持,比如按键设置。
解决方案就是iTerm2 Dynamic Profile
配置
- cd ~/Library/Application\ Support/iTerm2/DynamicProfiles
- 创建
iterm2-profile-template.json
- 配置
iterm2-profile-template.json
,具体profile配置项,可以UI上配置一个目标的,选择导出json,拷贝需要的配置项到template文件中去- 放置一个我的模版,供参考
- UI操作拷贝目标配置项
- 选中模版profile
- 选中需要拷贝的类别项目
当前profile也并非所有配置都支持拷贝 - 选中拷贝到的目标profile,支持多选
- 选中模版profile
如此一来,即解决profile配置的复用问题
Dynamic Profile Parent Name
profile模版本身也支持动态继承,配置方式如上,只是多了2个字段Dynamic Profile Parent Name
和Dynamic Profile Parent GUID
来标明继承关系
name/guid
任选其一配置即可- template中profile为list,因此需要注意配置放置顺序,父在前,子继承在后
GUID
的生成可以使用命令行工具uuidgen
推荐将profile作软链接,同步到云盘,方便复用。
ln -s "$HOME/Library/Mobile Documents/com~apple~CloudDocs/conf/iTerm2/iterm2-profile-template.json" "$HOME/Library/Application Support/iTerm2/DynamicProfiles/iterm2-profile-template.json"
Semantic History
iterm2终端下点击不同文件时,执行不同动作。🚀
脚本安装,戳这里
Triggers
简单的文件上传下载使用SZRZ会比单独使用FileZilla方便的多
URL Scheme
iterm2也可以设置为
写在最后
如何iTerm2还是很强大的吧,搞起。