我已经在 Windows 中使用 Notepad++ 有一段时间了,虽然我认为它是一个很好的编辑器,但我还是决定回到 Emacs 尝试学习充分利用它(编写一些 elisp 之类的东西)。
因为我确实喜欢 Notepad++,所以我不想卸载它,但我无法让 notepad++ 停止恢复某些文件类型(如 .txt 和 .xml)的文件关联。
如果我右键单击该文件,选择“打开方式>选择默认程序......”并将其设置为 emacs windows 客户端,我可以看到图标短暂闪烁,好像它发生了变化,但随后立即又变回原样。
我已经从 Notepad++ 设置中禁用了所有文件关联,因此“已注册的扩展名:”列表完全是空的。
有人知道我还能做些什么来阻止它恢复文件关联吗?
(只是在想:禁用关联后我是否需要重新启动?)
编辑:
感谢大家的帮助。
不幸的是,我没有太多时间去弄清楚是什么原因造成的。所以我安装了 Notepad++。奇怪的是,这不是导致问题的原因,现在当我尝试将其与 Emacs 关联时,它会出现同样的闪烁,下次我执行正常的“打开”时,它会询问我用什么打开文件(因此,虽然它不再与 Notepad++ 绑定,但它仍然不允许我将其重新绑定到 Emacs。作为测试,我对普通的 MS Notepad 进行了同样的操作,它也不允许我重新绑定到它……所以,似乎这既不是 Notepad++ 的问题,也不是 Emacs 的问题,而是其他问题(Windows 本身?)阻止我重新绑定文件。
我刚刚尝试过Control Panel > Default Programs > Set Associations
,现在它显示:
Name Description Current Default
.txt TXT File Unknown application
我尝试从这里(通过Change program...
)更改它,但没有任何改变。它仍然显示“未知应用程序”,并且仍然使用“打开方式”窗口打开。
顺便说一句,既然我的问题现在似乎与 Notepad++ 无关,我是否应该重命名我的问题?
编辑2:
我刚刚尝试更改从未与 Notepad++ 关联的文件(与 Notepad2 关联的 .css)的关联,结果相同(没有效果)。只是为了确认这绝对不是与 Notepad++ 相关的问题。
答案1
转到“设置”->“首选项”并删除所有已注册的扩展:
答案2
以“管理员”或“root”身份打开 Notepad++,然后删除与其关联的扩展。删除后,Windows 将询问如何打开此文件,请选择其他应用程序。
答案3
对于 cmd、bat 和 exe 关联,您需要在删除关联后执行额外的步骤,因为它们的工作方式与其他文件类型不同。
要恢复这些,请以管理员身份运行 CMD.EXE,然后:
Microsoft Windows [Version 6.0.6003]
Copyright (c) 2006 Microsoft Corporation. All rights reserved.
C:\Windows\system32>assoc .bat=exefile
.bat=exefile
C:\Windows\system32>assoc .cmd=exefile
.cmd=exefile
您可以使用 assoc 命令修复任何关联。至于改变关联的程序,您必须逐个卸载它们才能找到罪魁祸首。