文章

让 iTerm2 支持拖拽上传文件和右键下载文件

条件准备

动手

需要在你自己的机器和想通过ssh远程连接的机器上都安装shell integration

自动安装

1
curl -L https://iterm2.com/misc/install_shell_integration.sh | bash

手动安装

  1. 下载这个脚本
    1
    2
    
    curl -L https://iterm2.com/misc/`basename $SHELL`_startup.in >> \
    ~/.iterm2_shell_integration.`basename $SHELL`
    
  2. shell登陆脚本中添加如下命令 (.login for tcsh, .bash_profile for bash, .zshrc for zsh, or config.fish file for fish):
    1
    
    source "${HOME}/.iterm2_shell_integration.`basename $SHELL`"
    

2个机器都安装好后,现在你就可以体验拖拽上传文件和右键下载文件了

常见问题

Download with scp 按钮是灰色的

解决方案: 远程机器的hostname不对,默认是localhost, 需要设置为远程机器的ip, 可以在你远程机器的shell登录脚本中通过如下命令设置环境变量

1
export iterm2_hostname=你远程机器的ip

记得这行命令要在

1
source "${HOME}/.iterm2_shell_integration.`basename $SHELL`"

之前哦!

可以通过设置Preferences > Profiles > General > BadgeHostname is \(session.hostname),来检测iTerm2所使用的hostname

总结

iTerm2 必须为iTerm2 version 3,可以在nightly builds中获取,目前的稳定版2.1是没有这个功能的 有两个问题没注意,导致开启这个特色时花了2个多小时 1个问题是只在我本地的机器上安装了shell integration, 没有在远程机器上安装shell integration 第2个问题是远程机器的hostname不正确,导致功能不起作用, Download with scp按钮是灰色的

这个比之前使用的的rz, sz体验要差一点,后者可以通过命令行来操作,更为快捷,但毕竟前者是官方支持,有人维护, 相信前者会越来越完善的

参考链接

本文由作者按照 CC BY 4.0 进行授权

Comments powered by Disqus.