在Windows应用程序中打开来自cygwin home的文件

时间:2014-05-14 22:22:58

标签: cygwin

我记得当我第一次安装cygwin时,我可以使用Windows应用程序从我的主目录中打开文件。例如,我在Windows中安装了Emacs,我可以runemacs ~/some_file.txt。我的空间不足,不得不将我的cygwin安装移到另一个驱动器上。从那时起,我似乎已经破坏了我的安装,我不能再使用这样的Windows应用程序。

我完全删除了cygwin,并像以前一样在C:\ cygwin中重新安装,但问题仍然存在。

我发现由于某种原因~扩展为C:\home\Tudor而不是C:\cygwin\home\Tudor

有谁知道我怎么能让它再次起作用?

1 个答案:

答案 0 :(得分:2)

非Cygwin Windows应用程序不知道您的Cygwin根目录或主目录。

Emacs是一个特例。它最初是在UNIX上开发的,它使用类似UNIX的语法。

根据您的最新评论,Emacs将~扩展为C:\Users\Tudor。这是您的 Windows 主目录,而不是您的Cygwin主目录。

您还可以安装Cygwin版本的Emacs,与任何Cygwin应用程序一样,它会将~扩展到您的Cygwin主目录。

如果从Cygwin shell调用Windows应用程序,那么 Windows应用程序的shell将~扩展到您的Cygwin主目录,用Cgywin语法表示。例如,假设runemacs是非Cygwin应用程序,如果我运行:

bash$ runemacs ~

然后shell扩展~,所以它相当于(假设我的用户名是Tudor):

bash$ runemacs /home/Tudor

runemacs可能会将/home/Tudor视为等同于\home\Tudor,如果当前广告为C:\home\Tudor,则相当于C:

如果您在Emacs中键入 Ctrl-X Ctrl-F 来打开文件,那么Emacs将根据其内部遵循的规则解释~ ;这些规则不太可能识别Cygwin,除非您运行的是Cygwin版本的Emacs Emacs本身有一些特殊情况代码来处理Cygwin路径。