1

让我们看看我是否可以在 stackoverflow 上联系到 EmacsW32 用户。

我刚刚从http://ourcomments.org/Emacs/EmacsW32.html安装了 EmacsW32 的补丁版本

我发现 .txt 文件与 Emacs 相关联非常好,因此当您单击一个文件时,emacsclient 会在 Emacs 的运行实例中打开它。

问题是,由于某种原因,缓冲区被重命名为旧式缩短文件名,因此,例如,文件“activities-2008.txt”的缓冲区被重命名为“ACTIV~1.TXT”,我不这样做不喜欢。

如何让 EmacsW32 不重命名缓冲区,而是使用整个文件名作为缓冲区名称?

4

2 回答 2

1

艾克,太糟糕了。

为什么不直接使用标准Windows emacs 发行版附带的 emacsclientw呢?

它确实有一个问题,如果 Emacs 尚未运行,您会收到一个烦人的“无错误”错误框,但任何真正的 emacs 用户在登录时都会首先启动 emacs。:-)

于 2009-05-21T14:11:47.503 回答
1

解决了。

问题不在于 emacs,而在于在注册表中关联文件类型时 Windows 运行程序的方式。

在我的注册表中,我为将 txt 文件与 Emacs 相关联的键设置了以下值:

C:\emacs-23.0.91.1\Emacs\bin\emacsclientw.exe -n "%1"

问题是 %1,它被一个短文件名替换。

根据此消息http://lists.gnu.org/archive/html/help-emacs-windows/2009-05/msg00022.html

 %L is long file names.

 %1 is long file names IF
 * Explorer can find the exe file (it does not look very hard)
 AND
 * The file header says it is Win 95 aware Win16 exe, or
 * It is a 32 bit program

 Else %1 will be a short name.

解决方案是在 reg 键中使用%L代替%1 。

于 2009-05-22T19:53:46.063 回答