Sublime 作为默认编辑器

Posted

技术标签:

【中文标题】Sublime 作为默认编辑器【英文标题】:Sublime as default editor 【发布时间】:2012-03-16 02:12:52 【问题描述】:

有没有办法将 Sublime Text 设置为 Windows 7 上文件格式的默认文本编辑器?

另外,如果有人知道 Sublime Text Tutorial 或 Wiki,那将非常有帮助。

【问题讨论】:

binaryfortress.com/NotepadReplacer NotepadReplacer 通过将自己设置为 notepad.exe 的调试器并将 argv 传递给您首选的文本编辑器来使用图像劫持。 标记为离题。这个问题更多是关于使用 Windows 和 Sublime Text 而不是编程,所以我认为它属于 SuperUser,而不是 ***。 【参考方案1】:

在资源管理器中打开具有所需扩展名的文件的上下文菜单,而不是选择打开方式->您的编辑器(可能您需要在它出现在可用程序列表中之前浏览其二进制文件)并设置复选框“始终使用选定的打开此类文件的程序”。

【讨论】:

这不适用于使用修改注册表版本的任何人。详情见我的回答。 -1 *** 不是“Windows for Dummies”。显然还有更多的问题! 这仍然可以帮助那些害怕编辑注册表的人。您不应该假设每个人都与您处于同一水平。【参考方案2】:

2014 年 11 月 21 日编辑

Tim Lewis在评论中指出http://www.binaryfortress.com/NotepadReplacer/有一个更通用的版本,效果更好。

原答案

试试这个:https://github.com/grumpydev/Sublime-Notepad-Replacement

【讨论】:

一个更通用的版本是 NotepadReplacer:binaryfortress.com/NotepadReplacer 在 Windows 7 64 位和 Sublime Text 3 上,我的 Findekano 出现“应用程序无法启动”错误。@Tim Lewis 感谢这很好!【参考方案3】:

其实不是我的答案,我只是googled it:

    打开regedit(Win+R,输入“regedit”,选择OK)。 导航到HKEY_CLASSES_ROOT\Applications\sublime_text.exe\shell\open\command 验证路径是否准确,如果不正确,请更正。退出注册表。 通过Ctrl+Alt+Del(或Ctrl+Shift kbd>+Esc 用于更高版本的 Windows),杀死 explorer.exe,运行 (Win+R) 并键入“explorer.exe”。 exe”(或跳过这一步直接重启)。 现在尝试相同的操作,右键单击文本文件,打开方式,导航到 sublime,它现在应该出现在可用应用程序列表中。

对我而言,该值指向先前放置便携式版本的桌面。因此它只是没有工作。

附:对我来说,不需要重启或注销 (WinXP)。

【讨论】:

顺便说一句,你可以使用Ctrl+Shift+Esc直接打开taskmanager.exe 工作了,我的注册表仍然指向 Sublime2 我去 Sublime3 时卸载了。 对我来说,我的注册表“数据”值需要设置为:"C:\Program Files\Sublime Text 2\sublime_text.exe" %1 谢谢,解决了我在 Win7 上的问题 - 甚至不需要杀死 explorer.exe,它就可以工作。 我的值以前是 "C:\Program Files\Sublime Text 3\sublime_text.exe" "%1" - 即 %1 周围的双引号。我把这些双引号去掉了,所以值是"C:\Program Files\Sublime Text 3\sublime_text.exe" %1,重启explorer.exe和Sublime,然后就可以了【参考方案4】:

如果您使用的是便携式版本,则不能将 Sublime 设置为任何文件的默认程序,因为 Windows 不会承认它是可以打开东西的程序。

【讨论】:

不,我们可以将它们设置为默认应用。【参考方案5】:

这里有一些关联 Sublime Text Portable 的方法。以下文本需要保存为扩展名为 .reg 的文件,然后在该文件上右键单击 > 合并。

这将为所有文件添加一个 Sublime 右键菜单条目:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]
@="Sublime"

[HKEY_CLASSES_ROOT\*\shell\Sublime]
@="&Sublime"

[HKEY_CLASSES_ROOT\*\shell\Sublime\command]
@="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\" \"%1\""

这将使 Sublime Text 替换所有对 notepad.exe 的调用:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Notepad.exe]
"Debugger"="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\" -z"

这将创建一个 SublimeFile 类,然后您可以将其与任何扩展名关联。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\SublimeFile\shell]
@="edit"

[HKEY_CLASSES_ROOT\SublimeFile\DefaultIcon]
@="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\",0"

[HKEY_CLASSES_ROOT\SublimeFile\shell\edit\command]
@="\"D:\\PortableApps\\SublimeText\\sublime_text.exe\" \"%1\""

这会将 .ext 扩展名与 SublimeFile 相关联:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.ext]
@="SublimeFile"

【讨论】:

谢谢!设置 Sublime 来替换记事本很棒,但是它不适用于包含空格的路径(至少对我来说!),它只是为每个空格分隔的路径元素打开一个选项卡。有解决这个问题的想法吗? @Dan - 在注册表中搜索 notepad.exe %1 并将所有找到的实例替换为 notepad.exe "%1" 这是所有这些答案中唯一在 Windows 10 上对我有用的东西:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Notepad.exe] "Debugger"="\"C:\Program Files\Sublime Text 3\sublime_text.exe\" -z"【参考方案6】:

您可以只运行 CCleaner 的注册表清理工具,然后像往常一样选择并添加默认程序。从 ST2 升级到 ST3 时,它对我有用。

【讨论】:

【参考方案7】:

试试这个,

@echo off

SET st2Path=C:\Program Files\Sublime Text 2\sublime_text.exe

rem add it for all file types
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 2"         /t REG_SZ /v "" /d "Open with Sublime Text 2"   /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 2"         /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 2\command" /t REG_SZ /v "" /d "%st2Path% \"%%1\"" /f

rem add it for folders
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 2"         /t REG_SZ /v "" /d "Open with Sublime Text 2"   /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 2"         /t REG_EXPAND_SZ /v "Icon" /d "%st2Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 2\command" /t REG_SZ /v "" /d "%st2Path% \"%%1\"" /f

pause

我也为 SublimeText 3(Portable) 测试了这个并且工作正常。用上面的代码创建一个.bat文件并以管理员身份运行。

参考:https://gist.github.com/mrchief/5628677

【讨论】:

在 Win10 64 位上运行良好【参考方案8】:

1:您也可以在控制面板中设置关联:

控制面板 > Default Programs > 将文件或协议与特定程序关联:

2:或者,通过IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI从代码中调用它;)

HRESULT LaunchAdvancedAssociationUI(
   [in]  LPCWSTR pszAppRegName
);

【讨论】:

这是比修改注册表更好的答案。感谢您发布此内容。【参考方案9】:

我也遇到了同样的问题。 唯一的解决方案是手动更正 --> 打开 regedit 并导航到 Computer\HKEY_CLASSES_ROOT\Applications\,找到 sublime_text.exe 条目,然后将其删除。您现在应该可以将 Sublime Text 3 设置为您想要的任何内容的默认编辑器。

我在这篇文章中找到了这个解决方案:https://forum.sublimetext.com/t/cant-make-default-editor-in-windows/10747/14

【讨论】:

【参考方案10】:

我尝试了所有选项以将 sublime text 3 作为我的 .php、.css 和/或 .js 文件的默认程序 我不完全知道为什么都失败了,我认为这与 windows 10 当前版本的错误有关

但好消息是我有一些工作方法,也适用于那些喜欢 CMD 的人

    以管理员身份打开 CMD 运行此行:FTYPE sublime="C:\Program Files\Sublime Text 3\sublime_text.exe" "%1" .php 文件使用这个命令:ASSOC .php=sublime js 使用这个:ASSOC .js=sublime 等等...

【讨论】:

【参考方案11】:

sublime 可以通过以下步骤设置为默认文本编辑器:

    右键单击 .txt 文件并选择属性。 然后在Open with:选项中点击Change。 如果 sublime 列在应用程序列表中,则选择它,如果没有向下滚动并单击 在此 PC 上查找另一个应用程序,然后选择 sublime 应用程序文件

【讨论】:

以上是关于Sublime 作为默认编辑器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Sublime Text 3作为Markdown编辑器

如何使用Sublime Text 3作为Markdown编辑器

如何使用Sublime Text 3作为Markdown编辑器

Linux下切换python2和python3为默认执行版本的方式(也能作用于sublime等编辑器的默认执行方式)

如何让sublime text 2/3支持中文编码

关于个人编辑器sublime text3使用指南