Cygwin shell 添加上下文菜单项

Cygwin shell 添加上下文菜单项

SO上有这个问题:

https://stackoverflow.com/questions/9637601/open-cygwin-at-a-specific-folder

我想做一些相反的事情。使用终端时,我想右键单击并显示上下文菜单项“在此处打开资源管理器”,以打开带有当前位置的常规 Windows 资源管理器窗口 ( pwd)。有没有办法将上下文菜单项添加到 cygwin 终端?

答案1

Ctrl + click与我的 mintty 不兼容,也许我做错了。

无论如何,我从中学到了一些技巧务实的人并做了一些小修改,以便更优雅地完成您想要的任务。我将他的解决方案复制到此处,所有荣誉都归于他。

  • 为了确保该脚本仅在 cygwin 下运行,您可以将平台检测命令添加到~/.bashrc

    if [[ "$OSTYPE" == "linux-gnu" ]]; then
        echo "Linux-gnu environment detected."
    elif [[ "$OSTYPE" == "cygwin" ]]; then
        echo "Cygwin environment detected."
        if [ -f "${HOME}/.bashrc.cygwin" ]; then
            source "${HOME}/.bashrc.cygwin"
        fi
    else
        echo "Unknown Platform"
    fi
    
  • 现在将以下脚本添加到~/.bashrc.cygwin

    function xpl {
         if [ "$1" = "" ]; then
             XPATH=.   # Open current directory in default
         else
             XPATH=$1
             XPATH="$(cygpath -C ANSI -w "$XPATH")";
         fi
         explorer $XPATH
     }
    
  • 您现在可以调用xpl dir_name_or_file_name让 Windows 使用默认程序打开目录/文件。

  • explorer.exe不会阻止你的shell输入,这不是很完美吗?

答案2

事实证明,您可以使用Ctrl + clickmintty 中的路径来做到这一点。

相关内容