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编辑器