让你的Mac iTerm优雅的上传下载文件
我理解优雅是指支持拖拽、支持进度条、支持穿透容器/多层主机。 而今天的主角是trzsz .
trzsz
( trz / tsz ) 是一个兼容 tmux 的文件传输工具,和 lrzsz ( rz / sz ) 类似,并且有进度条和支持目录传输。
trzsz-iterm2
是 trzsz 在 iTerm2 上使用的客户端。
GitHub: https://github.com/trzsz/trzsz
安装指南
- 用 Python3 安装
sudo python3 -m pip install --upgrade trzsz-iterm2
- 用 Homebrew 安装
brew update brew install trzsz
配置指南
- 找出
trzsz-iterm2
安装的绝对路径 ( 可以是软链,但不支持相对路径 )。which trzsz-iterm2
下文中的
/usr/local/bin/trzsz-iterm2
请自行替换成真实的trzsz-iterm2
绝对路径。 -
打开
iTerm2 -> Preferences... -> Profiles -> ( 在左边选中一个 Profile ) -> Advanced -> Triggers -> Edit -> [+]
,如下配置:Name Value Note Regular Expression :(:TRZSZ:TRANSFER:[SRD]:\d+\.\d+\.\d+:\d+)
前后无空格 Action Run Silent Coprocess...
Parameters /usr/local/bin/trzsz-iterm2 \1
前后无空格 Enabled ✅ 选中 -
不要选中最下面的
Use interpolated strings for parameters
。 -
注意
/usr/local/bin/trzsz-iterm2
要替换成真实的trzsz-iterm2
绝对路径。 -
不同
Profile
的Trigger
是互相独立的,也就是每个用到的Profile
都要进行配置。 -
Trigger
的配置是允许输入多行的,但只会显示一行,注意不要多复制了一个换行符进去。
-
-
打开
iTerm2 -> Preferences... -> General -> Magic
,选中Enable Python API
。 -
设置
ITERM2_COOKIE
环境变量可以使启动速度更快。打开
iTerm2 -> Preferences... -> Advanced
,筛选COOKIE
,选择Yes
。
进度条配置
可选1:使用文本进度条
-
text 进度条示例
-
升级 iTerm2 到
Build 3.5.20220503-nightly
以上的版本。 -
Trigger
的Parameters
配置增加-p text
参数。/usr/local/bin/trzsz-iterm2 -p text \1
注意
/usr/local/bin/trzsz-iterm2
要替换成真实的trzsz-iterm2
绝对路径。
可选2:使用 zenity 进度条
-
zenity 进度条示例
- 安装
zenity
brew install ncruces/tap/zenity
- 如果
Mac M1
安装失败,可以试试用go
进行编译安装:brew install go go install 'github.com/ncruces/zenity/cmd/zenity@latest' sudo cp ~/go/bin/zenity /usr/local/bin/zenity
- 执行
ls -l /usr/local/bin/zenity
应该输出zenity
可执行文件或软链。不然可以建个软链:sudo ln -sv $(which zenity) /usr/local/bin/zenity
默认保存路径
如果你想自动下载文件到指定目录,而不是每次都弹窗询问。
例如,自动下载文件到 /Users/xxxxx/Downloads
- 使用文本进度条,将
/usr/local/bin/trzsz-iterm2 -p text \1
改为:/usr/local/bin/trzsz-iterm2 -p text -d '/Users/xxxxx/Downloads' \1
- 使用 zenity 进度条,将
/usr/local/bin/trzsz-iterm2 \1
改为:/usr/local/bin/trzsz-iterm2 -p zenity -d '/Users/xxxxx/Downloads' \1
注意 /usr/local/bin/trzsz-iterm2
要替换成真实的 trzsz-iterm2
绝对路径。
拖文件和目录上传
-
升级 iTerm2 到
Build 3.5.20220806-nightly
以上的版本。 -
打开
iTerm2 -> Preferences... -> Advanced
,筛选files are dropped into
,配置如下:/usr/local/bin/trzsz-iterm2 -p text dragfiles \(filenames)
注意 /usr/local/bin/trzsz-iterm2
要替换成真实的 trzsz-iterm2
绝对路径。
本文来自博客园,作者:sunsky303,转载请注明原文链接:https://www.cnblogs.com/sunsky303/p/16745148.html