【问题标题】:iTerm2 open fileiTerm2 打开文件
【发布时间】:2017-03-28 18:56:46
【问题描述】:

iTerm2 有一个不错的 ⌘ 单击以在您的 IDE 中打开文件。

问题是我通过 Vagrant 运行 Web 服务器,所以 /home/vagrant 并不是 iTerm2 可以访问的真正物理目录。

有没有办法:

A.) 将 /home/vagrant/ 映射到我的 .bash_profile 中的 /Sites

B.) 通过返回修改后路径的查找/替换脚本运行它?

有什么建议吗?谢谢

【问题讨论】:

  • 它如何打开未安装在您计算机上的东西?你想让它启动一个网页还是什么?

标签: bash vagrant iterm2


【解决方案1】:

无法使用 .bash_profile 对其进行配置...但在您的 iTerm2 偏好设置中有解决方案。

首选项 -> 配置文件 -> 语义历史。更改为 Run command... 并填写:

sh ~/click-handler.sh \1 /home/vagrant /Sites

创建 ~/click-handler.sh:

old_filepath=$1
old_basepath=$2
new_basepath=$3
new_filepath="${old_filepath/$old_basepath/$new_basepath}"
open $new_filepath

让我们试试吧!

【讨论】:

  • 谢谢!我测试过,当我在终端本地执行 shell 时,你的脚本可以工作:sh ~/click-handler.sh /home/vagrant/fis.dev/craft/app/consolecommands/BaseCommand.php /home/vagrant /Sites 但是,当我在 iTerm2 中单击它时,什么也没有发生。
  • 您能否在运行命令中填写: echo 'sh ~/click-handler.sh \1 /tmp /tmp/site' > /tmp/log - 并将 /tmp/log 的结果放在这里?
【解决方案2】:

感谢乌德莱。你肯定给我指出了正确的方向。 “运行命令”的问题是 iTerm2(当前为 3.0.15)如果无法识别文件系统中的目录,则不会响应点击。我将其更改为“始终运行命令”,并且能够使用您的代码来实现这一点。非常感谢您的帮助。

#!/bin/bash

# iTerm2 > Profiles > Adv -> Semantic History > Always Run Command:
# sh ~/click-handler.sh \1 /home/vagrant /Sites \5

original_filepath=$1
vagrant_basepath=$2
local_basepath=$3
current_pwd=$4

# remove quotes from var_dump if present
original_filepath_temp="${original_filepath%\"}"
original_filepath="${original_filepath_temp#\"}"

# look for /home/vagrant in the $original_filepath
if [[ $original_filepath =~ ^(\/home\/vagrant) ]];
    then
    new_filepath="${original_filepath/$vagrant_basepath/$local_basepath}"
    # echo $new_filepath > ~/Library/Logs/iterm.log
    /usr/local/bin/subl $new_filepath
# default local handling
    else
    original_filepath="$current_pwd/$original_filepath"
    # echo $original_filepath > ~/Library/Logs/iterm.log
    /usr/local/bin/subl $original_filepath
fi

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多