打开URL
在Sublime Text中打开光标下或选中文本中的URL、文件、文件夹或Google文本。
详细信息
安装
- 总数 23K
- Win 12K
- Mac 8K
- Linux 4K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | 6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 3 | 0 | 1 | 1 | 0 | 0 | 1 | 3 | 3 | 1 | 2 | 3 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 4 | 0 | 1 | 0 | 4 | 1 | 1 | 0 | 0 | 0 | 1 | 3 | 0 | 1 | 1 | 0 | 0 | 2 | 1 | 1 | 1 | 0 | 0 | 2 |
Mac | 3 | 2 | 0 | 0 | 0 | 0 | 2 | 2 | 2 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 1 | 1 | 5 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 2 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
README
打开URL
描述
在Sublime Text中的任何位置快速打开文件、文件夹、网页URL或其他URL。
安装
使用软件包管理器查找打开URL
如何使用
将光标放在文件、文件夹、URL或单词内,然后运行命令。它将自动扩展选择直到遇到分隔符字符,可以在设置中进行更改(请见下文)。
或者,高亮显示您想要打开的文本。如果文本被高亮,则选择不会扩展。
这里有几种运行命令的方式。
- ctrl+u (OSX), ctrl+alt+u (Linux/Windows)
- 右键点击 > 打开URL
- alt + 双击
- shift+cmd+p,然后查找打开URL
试试看
将以下项目复制到Sublime Text中。将光标放在其中任何一个上,按ctrl+u(OSX)或ctrl+alt+u(Linux/Windows)。
- $HOME/Desktop
- https://news.ycombinator.com
- google.com
- search_for_me
工作原理是什么?
如果您选择的是文件或文件夹,您可以选择编辑它(使用Sublime Text打开)或显示它(使用macOS Finder/Windows File Explorer/Linux文件管理器打开)。
打开文件和文件夹非常方便。两者都可以指定绝对路径、相对于当前打开文件的路径或相对于当前打开项目的根路径的路径。会展开环境变量和别名~
。
如果您选择的是URL,它将立即在默认网页浏览器的新标签页中打开。如果您想省略方案(http://),也可以,因为“打开URL”会帮您添加。
如果打开网页URL失败,可能需要更改到您网页浏览器可执行文件的路劲。请查看以下的web_browser_path设置。
如果您的选择不是上述选项之一,并且您没有使用other_custom_commands
配置特定URL的定制命令,您将看到两个选项
- 修改选择后再次尝试
- 使用您配置的其中一个web_searchers搜索选择
- Open URL附带提供的唯一网页搜索器是Google搜索
- 要添加其他搜索器,请在下方的“设置”部分查看更多
快捷键
不希望从菜单项中选择来打开文件或文件夹?在命令面板中寻找打开URL(跳过菜单)。要为此创建快捷键,从命令面板打开首选项:快捷键,并添加以下内容
{ "keys": ["your+key+binding"], "command": "open_url", "args": { "show_menu": false } },
这将直接在Sublime Text中打开文件进行编辑,或在Finder中打开文件夹,而无需先显示菜单。
在文件、文件夹或特殊URL上运行shell命令
Open URL提供了一些设置,您可以配置这些设置来在文件、文件夹或特殊URL(如FTP URL)上运行自定义shell命令
- file_custom_commands
- folder_custom_commands
- other_custom_commands(用于特殊URL,即既不是文件也不是文件夹或网页URL)
定制命令设置应指向一个可以具有最多5个属性的数组对象
label
,必需:命令在下拉菜单中的标签commands
必需:要附加到URL的字符串,或shell参数的数组;如果字符串/数组包含$url
占位符,则该占位符被替换为URL,并且URL不附加到字符串/数组末尾pattern
,可选:如果URL匹配此模式,则命令才出现os
可选:仅在此OS中出现命令;一个为('osx', 'windows', 'linux')
的值kwargs
,可选:传给subprocess.Popen的kwargs
例如,文件的reveal命令使用以下file_custom_commands
。
"file_custom_commands": [
{ "label": "reveal", "os": "osx", "commands": ["open", "-R"] },
{ "label": "reveal", "os": "windows", "commands": ["explorer", "/select,"] },
{ "label": "reveal", "os": "linux", "commands": ["nautilus", "--browser"] },
],
例如,如果您想为OSX创建将文件夹添加到当前项目或在新窗口中打开文件夹的命令,您可以这样做
"folder_custom_commands": [
{ "label": "add to project", "os": "osx", "commands": ["open", "-a", "Sublime Text"] },
{ "label": "open in new window", "os": "osx", "commands": ["/usr/local/bin/subl"] },
],
设置shell命令的cwd目录
您可能希望选择执行shell命令的目录。Python的subprocess
库使用cwd
kwarg使这变得简单。
Open URL为cwd
kwarg定义了两个特殊值,"project_root"
和"current_file"
。使用这些值动态设置shell命令的工作目录为项目根目录或当前打开文件的目录。
查看设置部分或运行Open URL:设置以获取示例。
URL / 路径转换
Open URL有一些设置,允许在尝试打开之前转换您选择的URL / 路径。
以下是一组设置及其默认值
aliases
:{}
search_paths
:["src"]
file_prefixes
:[]
file_suffixes
:[".js"]
aliases
字典是应用在所选URL / 路径上的第一个转换。它将URL中的每个键替换为其对应的值。
其他转换仅影响文件和文件夹路径。 search_paths
是一组目录,这些目录被添加到路径的前面,file_prefixes
被添加到文件名前,file_suffixes
被添加到文件名后。
针对每个搜索路径、文件前缀和文件后缀的组合生成一个路径,并打开包含目录或文件的第一个路径。
想象一下你正在构建一个使用绝对导入,相对于src
目录的JS应用。你的应用有一个文件位于src/utils/module.js
。打开URL可以使用utils/module
直接解析这个文件。非常好!
多重光标
将这些URL复制到Sublime Text中,使用多重光标选择两行,然后运行URL打开器。
该插件将同时打开这两个URL。您可以使用多重光标打开多个文件、文件夹、URL或它们的组合。注意,使用多重光标运行“打开URL”会跳过菜单,就像您运行了打开URL(跳过菜单)一样,对所有选择都进行操作。
设置
要自定义这些设置,按shift+cmd+p打开命令面板,然后查找打开URL:设置。
- 定界符
- 自动展开所选路径停止的字符,例如
\t\n\r\"'`,*<>[](){}
- 默认设置对Markdown友好
- 自动展开所选路径停止的字符,例如
- 尾部定界符
- 如果URL末尾出现任何这些字符,将递归删除;对于文件和文件夹路径,尝试
具有和没有
尾部定界符的URL;默认为;.:
- 如果URL末尾出现任何这些字符,将递归删除;对于文件和文件夹路径,尝试
- 网络浏览器
- 打开URL用于打开新标签的浏览器;必须是字符串来自此列表
- 如果您使用空字符串,将使用“默认浏览器”
- 如果您选择了一个未安装在您的机器上的浏览器,打开URL将报错
- 网络浏览器路径
- 打开网络URL的Web浏览器可执行文件路径
- 此设置覆盖默认网络浏览器和网络浏览器设置
- 在此处查看相关答案,或查看设置中的示例
- 网络搜索器
- 如果您的选择既不是文件、也不是文件夹、也不是URL,您可以将其传递给网络搜索器,这是一个搜索所选文本的URL
- 示例:
{ "label": "google search", "url": "http://google.com/search?q=", "encoding": "utf-8" }
- 别名
- 应用于URL的第一个变换,具有键和值的字典;用对应的
value
替换URL中的每个key
- 示例:
{ "{{BASE_PATH}}": "src/base" }
- 应用于URL的第一个变换,具有键和值的字典;用对应的
- 搜索路径
- 路径变换;将这些目录连接到路径的开头
- 示例:
["src"]
- 文件前缀
- 路径变换;仅将这些前缀添加到文件名中
- 示例:
["_"]
- 文件后缀
- 路径变换;仅将这些后缀添加到文件名中
- 示例:
[".js", ".ts", ".tsx"]
- file_custom_commands
- 将文件传递给匹配文件路径模式的shell命令
- 示例,用于将文件路径复制到剪贴板:
{ "label": "copy path", "commands": "printf '$url' | pbcopy" }
- folder_custom_commands
- 将文件夹传递给匹配文件夹路径模式的shell命令
- 示例,用于在iTerm中打开文件夹:
{ "label": "open in terminal", "commands": [ "open", "-a", "/Applications/iTerm.app" ] }
- 其他自定义命令
- 将既不是文件、也不是文件夹、也不是网络URL的URL传递给匹配URL模式的shell命令
- 示例,用于在特定行号打开文件:
{ "label": "subl: open file at line #", "pattern": ":[0-9]+$", "commands": [ "/usr/local/bin/subl" ], "kwargs": {"cwd": "project_root"} }
项目特定设置
某些设置,特别是像aliases
这样的URL/路径变换,可能在不同项目中有所不同。幸运的是,Open URL允许您在任意.sublime-project
文件中指定项目特定设置。只需将它们放在["settings"]["open_url"]
中即可。
{
"folders": [
{
"path": "~/Library/Application Support/Sublime Text 3/Packages/OpenUrl"
}
],
"settings": {
"open_url": {
"file_suffixes": [".py"]
}
}
}
项目特定设置覆盖默认和用户设置。
禁用默认键绑定
为此,将"open_url.disable_default_key_bindings": true
添加到Preferences.sublime-settings
。
版本历史
开发
如果您使用了pyenv
,则在.python-version
文件中使用的3.8
版本将导致问题,因为它不是一个有效的pyenv
版本。
要修复此问题,请使用pyenv
安装某些版本的3.8.X
,然后运行ln -s ~/.pyenv/versions/3.8.X ~/.pyenv/versions/3.8
。
最后
参考:请参阅Google拼写检查。
致谢:感谢peterc创建关于此主题的论坛帖子,以及KatsuomiK的贡献,他提供了汇总,这些都成为了此插件灵感的来源。
作者:@noahcoad编写软件只是为了让事情变得更好,让生活更加高效。
维护者:@kylebebak。