我想使用dired+
它Emacs
来浏览 Windows 7 上的目录路径。
dired
我在模式和附件路径中遇到了诸如äöü之类的特殊字符的问题:
迪雷德
当我尝试使用访问目录时
M-x dired
,显示的路径包含奇怪的字符,例如- “\374” 代表“ü”
- 或者用“\366”表示“ö”。
对于 显示的目录和文件列表也是如此dired
。
是否有一个设置可以使dired
字符以正确的编码显示?
附件路径
我的其他问题似乎是有关的*:
- 我目前在 org-mode 中添加了一个长服务器路径作为附件目录,例如
//servername/dir1/dir2/dir2/dir4/etcetera/Zubehör/
(我通常使用 PathCopy 上下文菜单在 Windows 7 资源管理器中复制 UNC 路径)
路径显示为属性中的 :ATTACH_DIR: 中的内容,其中“ö”正确显示。但是,当我C-c C-a C-f
在 Windows 资源管理器中键入以打开目录时,它会在同一路径下创建一个名为的新目录祖贝豪尔然后打开这个而不是正确的那个。
我该如何解决这两个问题?
答案1
这是一个 Emacs 错误,而不是迪雷德+我认为这是一个 bug。Windows 上的 Emacs 无法处理文件名中的 Unicode 字符。至少从 2010 年起,这个问题就被归类为 bug,但后来被归类到“愿望清单”中,因此尚不清楚何时或是否会修复。
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15236
可能的修复描述
问题在于,主流 Emacs 代码使用的 API 不接受宽字符。例如,'stat'、'access'、'open'、'fopen' 等。要解决此问题,我们需要提供这些 API 的自己的实现,这些 API 可以接受 UTF-8 编码的文件名,然后以 UTF-16 重新编码文件名,并在实现过程中调用 Unicode API。这是一项艰巨的工作。
在 Emacs 24.4 中已解决
它终于发挥作用了Gnu Emacs 24.4