jk2K's 窝

休息,是为了更好的前行

哈喽, 我是叶萌(@jk2K), 一名来自中国的 PHP / iOS 开发者


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

条件准备

动手

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

自动安装

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

手动安装

  1. 下载这个脚本

    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):

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

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

常见问题

Download with scp 按钮是灰色的

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

export iterm2_hostname=你远程机器的ip

记得这行命令要在

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体验要差一点,后者可以通过命令行来操作,更为快捷,但毕竟前者是官方支持,有人维护, 相信前者会越来越完善的

参考链接

comments powered by Disqus