Sublime Text 2 在指定浏览器(例如 Chrome)中打开文件的键盘快捷键

Posted

技术标签:

【中文标题】Sublime Text 2 在指定浏览器(例如 Chrome)中打开文件的键盘快捷键【英文标题】:Sublime Text 2 keyboard shortcut to open file in specified browser (e.g. Chrome) 【发布时间】:2011-12-22 20:36:31 【问题描述】:

我从事 Web 开发并正在尝试 Sublime Text 2。是否有键盘快捷键可以在指定的浏览器(例如 Chrome)中打开当前文件?

感谢您在 Sublime Text 中设置 Web 开发的任何帮助!

【问题讨论】:

【参考方案1】:

我不太确定这个问题在这里是否合适,但您可以在Tools -> Build System -> New Build System... 下添加一个新的“构建系统”

与 Sublime Text 中的所有配置一样,它只是 JSON,所以它应该非常简单。您要配置的主要内容是"cmd" key/val。这是在我的 Mac 上启动 chrome 的构建配置。


    "cmd": ["open", "-a", "Google Chrome", "$file"]

将其保存为Chrome.sublime-build,重新启动Sublime Text,您应该会在构建列表中看到一个新的Chrome 选项。选择它,然后您应该能够在 Mac 上使用 Cmd+B 启动 Chrome(或者您为构建配置的任何热键,可能是它的 F7 或 Ctrl+B 在 Windows 机器上)

至少这应该会给你一个正确的方向。

编辑:

另一件我在 Sublime Text 2 中经常做的事情是,如果你在文档中右键单击,上下文菜单中的一个项目是 Copy File Path,它将当前文件的完整路径放入剪贴板以便于粘贴进入你想要的任何浏览器。


崇高的文字 3 (Linux 示例) "shell_cmd": "google-chrome '$file'"

【讨论】:

谢谢!这非常有帮助。 对于 Window 操作系统,使用这个 cmd: "cmd": ["PATH_TO_YOUR_CHROME", "$file"] 当心 Windows 路径中的反斜杠,将它们加倍,否则它会将它们视为无效的转义序列,因此不起作用。 对于 linux 也只有 "cmd": ["google-chrome", "$file"] 在 Sublime Text 3 中,该命令已更改为 "shell_cmd": "open -a your_app '$file'"【参考方案2】:

Windows7 FireFox/Chrome:

    
       "cmd":["F:\\Program Files\\Mozilla Firefox\\firefox.exe","$file"]
    

只需使用你自己的 firefox.exe 或 chrome.exe 路径来替换我的。

将 firefox.exe 或 chrome.exe 替换为您自己的路径。

【讨论】:

C:\\Users\\$User$\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe 是 windows 上 chrome 的常用路径(将 $User$ 替换为您的用户名)。 是的,但它会使用自动构建,还是我必须指定构建。因为我有很多其他构建并且我使用自动构建选项,所以它可以在自动构建上工作吗?【参考方案3】:

在 Windows 上使用预定义的 url 启动默认浏览器:

工具 > 构建系统 > 新构建系统:


    "cmd": ["cmd","/K","start http://localhost/projects/Reminder/"]

ctrl + B 瞧!

【讨论】:

太棒了,正是我想要的。谢谢!【参考方案4】:

“在浏览器上下文菜单中打开 html 文件”已在最新版本 (2207) 中添加。它的发布日期是 2012 年 6 月 25 日。

【讨论】:

我一定是忽略了右键单击的上下文菜单。感谢您的提示! 您可以轻松地为此分配一个快捷方式:转到首选项 > 键绑定 - 用户。然后,在打开的 .sublime-keymap 文件中,添加 "keys": ["ctrl+alt+b"], "command": "open_in_browser"(或您喜欢的任何其他组合键) Jaron 是对的,但请注意组合键不能与现有组合键冲突,否则它将不起作用,据我所知,sublime 中没有快捷方式冲突警告 [ "keys":["super+;"],"command": "run_macro_file", "args":"file":"Packages/User/Semicolon.sublime-macro" ] 这是我的配置文件中的内容吗?如何将您的添加到我现有的配置中?谢谢! @NeilMonroe 在控制台中激活日志记录命令以查看可能出现的错误sublime.log_commands(True)【参考方案5】:

您可以安装SideBarEnhancements plugin,除其他外,您只需点击 F12 即可在浏览器中打开文件。

要在 Chrome 中完全打开,您需要修复“Side Bar.sublime-settings”文件并将"default_browser" 设置为"chrome"

我还建议在 Sublime Text 2 上学习 this video tutorial。

【讨论】:

差事 这个视频到底在哪里?您上面列出的链接中有几个视频。我用的是windows 7,不是mac。谢谢。【参考方案6】:

使用 Package Control 安装 View In Browser 插件或从 github 下载软件包并将此软件包解压缩到您的软件包文件夹中(来自浏览软件包)

在此之后,转到首选项,键绑定 - 用户,粘贴此

[ "keys": [ "f12" ], "command": "view_in_browser" ]

现在 F12 将成为您的快捷键。

【讨论】:

我还必须更改Preferences --> PackageSettings--> view in Browser -- > default settings 中的最后一行;到“chrome 64”(是“firefox”)。然后与任何快捷方式完美配合;)【参考方案7】:

如果您想在文件中包含不同的浏览器,这是另一种解决方案。 如果您和 Mac 用户,从 sublime 菜单转到工具 > 新插件。删除生成的代码并过去:

import sublime, sublime_plugin
import webbrowser


class OpenBrowserCommand(sublime_plugin.TextCommand):
   def run(self,edit,keyPressed):
      url = self.view.file_name()
      if keyPressed == "1":
         navegator = webbrowser.get("open -a /Applications/Firefox.app %s")
      if keyPressed == "2":
         navegator = webbrowser.get("open -a /Applications/Google\ Chrome.app %s")
      if keyPressed == "3":
         navegator = webbrowser.get("open -a /Applications/Safari.app %s")
      navegator.open_new(url)

保存。 然后打开用户键绑定。 (工具>命令面板>“用户键绑定”),并将其添加到列表中的某处:

 "keys": ["alt+1"], "command": "open_browser", "args": "keyPressed": "1",
 "keys": ["alt+2"], "command": "open_browser", "args": "keyPressed": "2",
 "keys": ["alt+3"], "command": "open_browser", "args": "keyPressed": "3"

现在在 Sublime 中打开任何 html 文件并使用其中一个键绑定,它会在您喜欢的浏览器中打开该文件。

【讨论】:

【参考方案8】:

这适用于 Sublime 3:

通过 Alt+L 热键使用默认应用浏览 html 文件:

将此行添加到Preferences -> Key Bindings - User 打开文件:

 "keys": ["alt+l"], "command": "open_in_browser"

使用 chrome 等外部应用浏览或打开:

将此行添加到Tools -> Build System -> New Build System...打开文件,并以名称"OpenWithChrome.sublime-build"保存

"shell_cmd": "C:\\PROGRA~1\\Google\\Chrome\\APPLIC~1\\chrome.exe $file"

然后您可以通过选择Tools -> Build System -> OpenWithChrome 并按F7Ctrl+B 键来浏览/打开文件。

【讨论】:

这是最直接的方法。大多数人都需要将行添加到键绑定。 您也可以替换双反斜线 \` with single slashaes /`,Sublime Text 也可以在 Windows 上理解。 这有效,但我发现如果我的文件位于名称中包含空格的目录中,我需要将文件名放在引号中。例如:“C:\My Folder\test.html”会导致两个 Chrome 选项卡打开“C:\My”和“Folder\test.html”,这是错误的。用转义引号包裹 $file 部分,然后就可以正常工作(在上面的命令中将 $file 替换为 \"$file\")。【参考方案9】:

这里似乎有很多针对 Windows 的解决方案,但这是最简单的:

Tools -> Build System -> New Build System,在上面输入,另存为Browser.sublime-build:


    "cmd": "explorer $file"

然后返回到您的 HTML 文件。 工具 -> 构建系统 -> 浏览器。然后按CTRL-B,文件将在系统默认浏览器中打开。

【讨论】:

【参考方案10】:

egyamado 的回答真的很有帮助!您可以通过以下方式为您的特定设置增强它:

import sublime, sublime_plugin
import webbrowser

class OpenBrowserCommand(sublime_plugin.TextCommand):
   def run(self, edit, keyPressed, localHost, pathToFiles):  
      for region in self.view.sel():  
         if not region.empty():  
            # Get the selected text  
            url = self.view.substr(region)  
            # prepend beginning of local host url 
            url = localHost + url  
         else:
            # prepend beginning of local host url 
            url = localHost + self.view.file_name()
            # replace local path to file
            url = url.replace(pathToFiles, "")


         if keyPressed == "1":
            navigator = webbrowser.get("open -a /Applications/Firefox.app %s")
         if keyPressed == "2":
            navigator = webbrowser.get("open -a /Applications/Google\ Chrome.app %s")
         if keyPressed == "3":
            navigator = webbrowser.get("open -a /Applications/Safari.app %s")
         navigator.open_new(url)

然后在你的键绑定中:

 "keys": ["alt+1"], "command": "open_browser", "args": "keyPressed": "1", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs",
 "keys": ["alt+2"], "command": "open_browser", "args": "keyPressed": "2", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs",
 "keys": ["alt+3"], "command": "open_browser", "args": "keyPressed": "3", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs"

我们将示例 URL 存储在所有模板的顶部,因此第一部分允许您突出显示该示例 URL 并在浏览器中启动它。如果没有突出显示文本,它将仅使用文件名。您可以将键绑定中的命令调用调整为您的 localhost url 和您正在处理的文档的系统路径。

【讨论】:

【参考方案11】:

工具 -> 构建系统 -> 新构建系统。下面的类型作为你的操作系统,另存为 Chrome.sublime-build

Windows 操作系统

  
        "cmd": ["C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "$file"]
  

MAC 操作系统


   "cmd": ["open", "-a", "/Applications/Google Chrome.app", "$file"]

保存文件 - Chrome.sublime-build 在位置

C:\Users\xnivirro\Downloads\Software-Installed\Sublime-2\Data\Packages\User

浏览器中的 Sublime 视图 - https://github.com/adampresley/sublime-view-in-browser(已在 Linux 上尝试过,它可以工作)

【讨论】:

确保保存为 .sublime-build 作为扩展名示例,如果是 Firefox:Firefox.sublime-build【参考方案12】:

我也有和你类似的情况。我不想要像 jpg png 文件这样的二进制文件的 sublime 打开编辑器。反而开放系统默认应用更合理。

    创建一个构建。就像接受的答案一样。但它会同时打开默认应用程序和十六进制编辑器。 Pulgin OpenDefaultApplication https://github.com/SublimeText/OpenDefaultApplication 它将具有上下文右键单击菜单 OpenInDefaultApplication。但它也会打开默认应用程序和十六进制编辑器

    Pulgin:非文本文件 https://packagecontrol.io/packages/Non%20Text%20Files 在用户设置中添加配置

    "binary_file_patterns": ["*.JPG","*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],
    "prevent_bin_preview": true,
    "open_externally_patterns": [
       "*.JPG",
       "*.jpg",
       "*.jpeg",
       "*.JPEG",
       "*.png",
        "*.PGN",
       "*.gif",
        "*.GIF",
        "*.zip",
        "*.ZIP",
        "*.pdf",
        "*.PDF"
    ]
    

我选择第三种方式,这对我来说非常适合。它将在系统默认应用程序中打开 jpg 文件,同时快速自动关闭编辑模式。对于前两种方式,可以设置"preview_on_click": false,折衷地停止自动打开十六进制编辑器。

【讨论】:

【参考方案13】:

在mac和sublime text 3,哪个版本是3103,内容应该是


    "shell_cmd": "open -a 'Google Chrome' '$file'"

【讨论】:

【参考方案14】:

或者试试这个

"cmd": ["cmd","/K","start http://localhost/Angularjs/$file_name"]

【讨论】:

以上是关于Sublime Text 2 在指定浏览器(例如 Chrome)中打开文件的键盘快捷键的主要内容,如果未能解决你的问题,请参考以下文章

Sublime Text 3配置浏览默认路径为localhost

JSLint with Sublime text 2 - 系统找不到指定的文件

Sublime text 3 和 virtualenv

CSS 用于Sublime Text 2的跨浏览器线性渐变

Sublime text3配置LiveReload 浏览器即时刷新

sublime text2-text3 定义的不同浏览器的预览快捷键