ChatGPT解决这个技术问题 Extra ChatGPT

命令行中的崇高文本

我安装了 Sublime Text,想知道如何从终端打开其中的 rb 文件。我看到了 What is the command to make Sublime Text my core editor?,我看到我可以让 Sublime 成为我的核心编辑器,但我希望能够输入

sublime file.rb

如何在 Windows 中执行此操作?

前缀 sublime 不是重要的部分。真的可以是任何一个单词的命令。

p
pjumble

Windows 命令提示符

对于 Windows cmd.exe,您只需将 sublime text 安装目录添加到您的 PATH 环境变量中,这将允许您键入:

sublime_text file.rb

就我个人而言,我添加了一个 doskey(在设置为 autorun with cmd 的 .bat 文件中),因此我可以输入 subl file.rb

> doskey subl="C:\Program Files\Sublime Text 2\sublime_text.exe" $*

赛格温

对于默认的 bash shell,为您的 ~/.bashrc 文件添加一个别名,例如:

$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc

我是否也为cygwin设置了doskey?还是有其他方法可以做到这一点。我没有使用 Windows cmd
啊,我的错,我以为你使用的是cmd。您是否使用 cygwin 附带的默认 bash shell?如果是这样,您可以使用您链接到的帖子之类的别名:$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
这也可能有帮助rhyous.com/2010/10/20/…
以这种方式从命令行启动 SL2 会导致我的 SL2 副本以空的用户首选项设置开始。有人有同样的问题吗?
请注意,如果您这样做,您可以将 this issue 用于构建系统。我在 sublime 文件夹中使用了简单的 .bat 文件,并将其放在 PATH 上,效果更好,没有构建系统问题。
e
ecoe

从构建 3065(发布日期:2014 年 8 月 29 日)起,Sublime text 包括命令行帮助程序 nameley subl.exe。它位于 sublime 的安装文件夹中:将其复制到系统路径中包含的文件夹中。例如,就我而言,我复制了它

来自C:\Program Files\Sublime Text 3

C:\Windows\System32

然后,您可以在终端/控制台 subl 中使用命令来打开任何文件,例如在您的示例中:

subl file.rb

或者您也可以修改您的系统 PATH 变量以包含 sublime 的安装文件夹,但我相信这涉及更多。


我想说将 Sublime 的安装目录添加到 PATH 是启用 Sublime 命令行助手的更方便的方法。这样,您将确保自动应用所有更新。将 subl.exe 可执行文件复制到 windows 目录将需要在每次更新后重复复制。
现在。我有一个问题。如果 sublime text 尚未打开,这将不起作用。
您应该会看到这个 scotch.io/tutorials/…
“或者你也可以修改你的系统 PATH 变量以包含 sublime 的安装文件夹,但我相信这涉及更多。”只需右键单击计算机。选择属性,然后单击“高级系统设置”。从那里转到环境变量>路径并附加;C:\ Program Files \ Sublime Text 3我会再授予你几个步骤,但知道一个非常简单和有用的技巧:)
或者简单地使用 mklink c:\Windows\System32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe" 创建一个符号链接
K
Kristopher Johnson

我将此添加到我的 PowerShell profile

Set-Alias subl 'C:\Program Files\Sublime Text 2\sublime_text.exe'

根据 Sublime Text 3(或任何未来版本)的需要修改它。


伟大的!一旦我搬到了 powershell ......我再也没有回头看 cmd。
谢谢一堆。我发现 PowerShell 对来自 Linux/Mac 世界的开发人员非常友好
很好的答案..简单直接+1
是的,对于 powershell,它工作正常。对于 cmd,您仍然需要在 windows 路径中添加 sublime_text.exe 的路径
我认为,除了在有限的情况下,如果您尝试从命令行调用 Sublime Text,您可能还会主要使用 PowerShell。很高兴听到不正确的用例!
J
John Nelson

另一个想法是在您的 PATH 中包含 C:\Program Files\Sublime Text 2\,然后运行管理员命令提示符:

cd "C:\Program Files\Sublime Text 2\"
mklink sublime.exe sublime_text.exe

这将与新名称建立符号链接。现在您可以自由使用它了:

sublime hello.txt

更新:在有机会使用这个技巧并更新 Sublime Text 2 之后,我很高兴地说更新到新版本不会影响符号链接。


顺便说一句,在开始|运行文本框中输入 cmd 后,您可以通过按 Ctrl-Shift-enter 来提升 Windows (7) 权限...
这正是我一直在寻找的。非常快速和干净
d
deadcoder0904

将安装文件夹添加到 windows 路径,您将能够通过键入可执行文件的名称来打开 Sublime,默认情况下为“subl”。

要将 Sublime 安装文件夹包含在 Windows 路径中,

打开命令提示符并键入 sysdm.cpl 在 Advanced 选项卡中,选择 Environment variables 在 system variables 下,选择名为“Path”的变量,然后单击 Edit。添加“C:\Program Files\Sublime Text;”到现有字符串的末尾。保存更改并重新启动命令提示符。


但是这个打不开的是特定的文件夹。我的意思是,如果我当前在某个文件夹 xyz 中,如果我在 cmd 中导航到该文件夹并运行 subl,那么它将像往常一样打开 sublime(我不会打开特定文件夹,即 xyz)。如何在特定文件夹中打开 sublime。
m
mblsha

我在 C:\Program Files\Sublime Text 2 中创建了 subl.bat,内容如下:

start sublime_text.exe %*

现在我在 PATH 中有 C:\Program Files\Sublime Text 2,我可以简单地键入“subl 文件夹”,它就可以很好地工作,而无需添加任何东西来自动启动。


非常感谢“subl 文件夹”。不知道:)
我已将 subl.bat 更改为“start sublime_text.exe %*”,现在它不会阻止我的控制台。
而不是 .bat 文件,您可以简单地创建一个快捷方式并根据需要为其命名,而不需要扩展名。至少它在 Windows 7 上对我有用。
@psyketom 你能详细说明一下吗?我在我的项目目录中创建了 sublime 2 的 exe 的快捷方式,并将其命名为 subl。现在在我的控制台中运行 subl 时,它说不被识别为外部或内部命令。只有命令“start subl”会打开程序
@Postscripter 他的意思是他去了 Control Panel --> System --> Advanced System Settings --> Environment Variables -->并将文本 C:\Program Files\Sublime Text 2; 添加到变量 PATH 的值的末尾。
g
glrodasz

我认为在 Windows 中设置 Environment variable 更容易。

然后只需 add a new 系统变量 调用 SUBLIME_HOME 值 "C:\Program Files\Sublime Text 2\" (不带引号) 编辑后变量 Path 在末尾添加此值“;%SUBLIME_HOME%”(不带引号)

重新启动 git BASH 并享受,使用如下:

$ sublime_text mi-new-file

(其中 sublime_text 是命令)

注意:现在也适用于 Windows 的 cmd。


非常好的解决方案。干净、快速、简单,不会弄乱我的主要 %PATH%。效果也很好,适用于常规 cmd 提示符(使用 sublime_text)、PowerShell、GitHub 的 Git Shell 和 Git Bash(后三个使用 sublime_text.exe)。但是在 Cygwin 上失败了,可能是因为它使用了不同的路径系统。任何人都知道是否在我的系统环境变量中添加像 /cygdrive/c/sublime text 2 这样的 cygwin 路径会导致问题(我只是将它附加到我上面制作的 %SUBLIME_HOME% 中)?
J
Josh

我知道这个线程有点旧,但我最近想出了这个解决方案,并认为我会分享它......

如果您使用 Cygwin,您可以创建一个 bash 脚本,它将 unix 路径名转换为 windows 路径并将它们传递给 sublime。将以下内容粘贴到新文件中:

#!/bin/bash

/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe `cygpath -w $@` &

将其保存在 /usr/bin/subl(或任何您想要的位置,只要该位置在您的 $PATH 中)并使其可执行 ($ chmod a+x /usr/bin/subl)

使用此脚本,您可以同时使用 UNIX 和 Windows 样式路径(/cygdrive/c/C:/),因为 cygpath 实用程序将 /~ 路径别名转换为它们的 Windows 等效路径。

现在,您可以使用 $ subl file1.txt file2.md ~/file3.txt 在 sublime 中打开这些文件!


C
Community

accepted answer 似乎不起作用,至少对于 Windows 7 上的 Sublime Text 3 而言。将文件直接复制到 C:\Windows\System32 允许 subl 从 shell 解决问题,但是当我运行它时,什么也没有发生。

我在硬链接方面取得了更大的成功:

mklink /h c:\windows\system32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"

这样,subl <file.txt>subl <directory> 都可以正常工作。


赞成这个答案,但我没有 Windows 机器来测试它。
@mehulkar,我测试了硬链接方法,它对我不起作用
非常适合我 - Windows 10 和 ST3
T
Tiago

我正在 Windows 中试用 ruby on rails 并包含 PATH C:\Program Files\Sublime Text 2\,然后将名称 sublime.exe 更改为 subl.exe.

在常规 cmd 和“使用 ruby 和 rails 的命令提示符”cmd 中运行良好


d
digarok

我刚刚以管理员身份运行命令提示符程序,并执行了以下命令。简单,但对我有用。

echo "c:\Program Files\Sublime Text 3\subl.exe" %1 > %systemroot%\system32\subl.bat

当然,您可以随意调用 bat 文件。从那时起,您可以像任何用户一样简单地使用:

subl myfile.txt

C
Clooner

我在 windows 目录中创建了一个简单的批处理文件(s.bat)来启动 sublime text

这是我在批处理文件中启动 Sublime Text 2 的代码

@start "sublime" "%ProgramW6432%\Sublime Text 2\sublime_text.exe" %*

我通过输入调用 sublime

s

我直接使用打开一个文件

s filename.ext

S
Samwise

如果您使用 Cmder,您可以将别名添加到您的别名文件中,该文件位于您安装 cmder 的任何位置,然后 config\aliases

然后您可以添加(这是用于崇高文本 3 )

subl="C:\Program Files\Sublime Text 3\sublime_text.exe" $1

在 Cmder 中,您可以通过以下方式在 sublime 中打开任何目录

subl="C:\Program Files\Sublime Text 3\sublime_text.exe" $1

V
Vishnu Mishra

尝试这个:

alias subl='"/c/Program Files/Sublime Text 2/sublime_text.exe"'

确保 sublime 安装在哪个目录。它将为 sublime 创建别名,然后键入:

subl file.rb

A
AveryFreeman

偏离最被接受的答案,但不幸的是,其作者说修改 PATH 是“困难的”——根本不是。这很容易。我刚刚做到了,你也可以!

这是做什么:

在 Windows 资源管理器中导航到您的 sublime text 目录,然后从路径栏中复制完整路径。

例如,我在 Dropbox 中将一些开发工具设置为可移植应用程序,因此我复制了路径:

C:\Users\username\Dropbox\Programs\Sublime Text Build 3114 x64

转到控制面板-> 系统-> 高级系统设置-> 环境变量

在结果窗口中,导航到底部窗口中的“路径”,突出显示它并单击“编辑”。

在出现的窗口中,单击“新建”,粘贴到您的 Sublime Text 路径中,然后单击“确定”。

现在打开 CMD 或 Powershell 并输入 subl

Sublime Text 窗口应该打开。享受!

注意:我注意到其他人以类似的方式回答了这个问题,但为 Sublime Text 使用了固定位置。这可能对某些人有用,但对另一些人来说,方向将是错误的。事实上,Sublime Text 的位置可以在驱动器上的任何位置,并且知道它在哪里并复制该特定位置是分配 PATH 变量的最重要部分之一。


k
kodybrown

我想从命令行启动一个新的 Sublime Text 实例。以下页面对我有帮助,即使它只显示 OSX:http://www.sublimetext.com/docs/3/osx_command_line.html

所以,我在我的用户路径中使用一个批处理文件来启动'sublime'。这基本上是我使用的(**批处理文件内容):

@start "sublime" "%~dp0Sublime Text\sublime_text.exe" --new-window %*

(我的批处理文件 %~-dp0 位于 Sublime Text 安装路径上方的一个文件夹。)

我知道这是一个旧线程,但我想我会添加我正在寻找(并找到)的内容。它可能会帮助别人!


p
pratik_nalage

设置sublime的路径:我的电脑>>属性>>高级设置>>环境变量>>路径变量>>添加>> C:\Program Files\Sublime Text 3

只需转到安装 sublime 的目录并将 sublime_text 重命名为 sublime。

打开命令提示符并输入 sublime。


P
Pankaj Barnwal

您可以简单地安装 Notepad Replacer http://www.binaryfortress.com/NotepadReplacer/,它的作用是让您在 Windows 中成为默认记事本,然后您可以简单地使用通常用于在 Windows 中打开内置记事本的命令。例如

`//to open test.txt, just type
notepad test.txt
//to open sublime, Type
notepad`

R
RBT

将 Sublime 的安装文件夹添加到您的路径。 @set PATH=C:\Program Files\Sublime Text 3;%PATH%

或者

要在 Windows 中永久设置环境变量(以便它可用于所有 Windows 进程),

start the "Control Panel" ⇒ "System" ⇒ (Vista/7/8) "Advanced system settings" ⇒ Switch to "Advanced" tab ⇒ "Environment variables" ⇒ Choose "System Variables" (for all users) or "User Variables" (for this login user only) ⇒ Choose "Edit" (for modifying an existing variable) or "New" (to create a new variable) ⇒ Enter the variable "Name" and "Value".

在这种情况下,将 C:\Program Files\Sublime Text 3 添加到路径中。

现在,可以将“sublime_text.exe”复制为“sublime.exe”

然后在任何命令提示符下,您可以通过以下方式运行 file.txt 文件

C:\Users\MyUsername>sublime filename.txt

p
pacholik

在环境变量中,我也将 %SUBLIME_HOME% 变量添加到路径变量然后从我的命令终端创建了一个符号链接

mklink sb sublime_text.exe

f
feech

在注册表中创建:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\sublime.exe

将默认参数 (REG_SZ) 的值更新为:

C:\Program Files\Sublime Text 2\sublime_text.exe


G
George Mauer

这个 powershell 允许我通过管道连接到编辑功能(或以正常方式使用它)

function edit
{
    param( [Parameter(ValueFromPipeline=$true,Position=0)] $file )
    begin { set-alias EDITOR 'W:\tools\sublime_text.bat' }
    process { EDITOR $file }
}

这是sublime_text.bat,由于某种原因似乎是必要的(有人知道为什么吗?)

START "Sublime Text 2" "C:\Program Files\Sublime Text 2\sublime_text.exe" %*

s
staytime

每一个都挖空。

我建立了一个非常简单的方法来做到这一点。

project github page

只需下载“install.bat”并右键单击 install.bat -> 单击“以管理员身份运行”


j
jdeyrup

如果您不想更改路径,可以将文件与 sublime 关联。所以右键单击文件,单击属性,然后单击以崇高文本打开。

从命令行:myFile.py

将以崇高的方式打开文件。我想这可以为您节省大约五次击键。


Y
Yordan Georgiev
    @echo off
    :: File: TextFiles.Starter.DESKTOP-M175NUE.cmd v1.1.0 docs at the end 

    :: this just an iso-8601 wrapper for windows:
    :: src: http://www.cs.tut.fi/~jkorpela/iso8601.html
    call GetNiceTime.cmd

    :: go the run dir
    cd %~dp0z

    :: this is the dir containing the batch file
    set _MyDir=%CD%

    :: look around , set vars
    for %%A in (%0) do set _MyDriveLetter=%%~dA
    for %%A in (%0) do set _MyPath=%%~pA
    for %%A in (%0) do set _MyName=%%~nA
    for %%A in (%0) do set _MyEtxtension=%%~xA

    :: contains absolute file paths of the files to open like this
    set _ListFile=%_MyDir%\%_MyName%.lst
    :: example of lines in the list file - take out the ::space
    :: C:\Users\ysg\Desktop\TextFiles.Starter.DESKTOP-M175NUE.cmd
    :: C:\Users\ysg\Desktop\TextFiles.Starter.DESKTOP-M175NUE.lst


    :: set _Program="C:\Program Files\TextPad 8\TextPad.exe"
    set _Program="C:\Program Files\Sublime Text 3\sublime_text.exe"
    set _
    :: DEBUG PAUSE

    :: sleep 2
    ping -n 2 www.google.com > NUL

    :: for each line of the cat file do open 
    :: for TextPad , obs note the quoting 
    :: for /f "tokens=*" %%i in ('type "%_ListFile%"') do ^
    :: cmd /c "%_Program% "%%i""

    :: for sublime, obs note the quoting 
    for /f "tokens=*" %%i in ('type "%_ListFile%"') do ^
    cmd /c "%_Program% -t "%%i""
    :: DEBUG PAUSE

    :: Purpose: 
    :: to start a list of non-binary files from a list file on Windows 10
    :: Tested on Windows 10, should work on Win7 too
    :: 
    :: Requirements:
    :: TextPad 8 or Sublime
    :: 
    :: 
    :: Usage: 
    :: copy this file onto your Desktop, list the absolute paths in to the list file 
    :: change the program name in the _Program if if you want other editor
    :: 
    :: VersionHistory: 
    :: 1.1.0 --- 2017-10-06 09:42:54 --- ysg --- added sublime 
    :: 1.0.1 --- 2013-04-15 08:19:10 --- ysg --- added - todo-%today%.txt file opening
    :: 1.0.0 --- 2012-05-23 09:08:57 --- ysg -- Initial creation 

您好感谢您尝试回答这个问题,有人将您的帖子标记为删除,您能否简要解释一下您的代码中描述的 purpose 如何解决 OP 的问题?
J
JayRizzo

以下是在 PowerShell 中对我有用的内容:

# CHECK IF YOUR ALIAS FOR SUBLIME TEXT 3 EXISTS
Get-Alias subl

# REMOVE YOUR ALIAS FOR SUBLIME TEXT 3 IF IT EXISTS
# REF 1
Remove-Item alias:subl

# SET YOUR ALIAS FOR SUBLIME TEXT 3
Set-Alias subl -Value "C:\Program Files\Sublime Text 3\sublime_text.exe"

# CREATE A TEST FILE ON YOUR Desktop
# REF 2
echo "Testing`nNew`nFile`n." > $HOME\Desktop\TestFile.txt

# TEST YOUR NEW ALIAS
subl $HOME\Desktop\TestFile.txt

这是最简单设置和测试 alias 的方法。如果您想将此保留在您的个人资料中,请尝试以下操作:

# TO PERMANENTLY KEEP EVERYTIME YOU OPEN POWERSHELL PLEASE ADD TO YOUR PROFILE. BUT FIRST VERIFY YOUR PROFILE `FILE` EXISTS, IF NOT THEN THIS WILL CREATE IT.
# REF 3 & 4
if (!(Test-Path -Path $PROFILE.CurrentUserAllHosts)) {New-Item -ItemType File -Path $PROFILE.CurrentUserAllHosts -Force}

# open powershell PROFILE
ise $PROFILE.CurrentUserAllHosts

# Add the Set-Alias to your file
Set-Alias subl -Value "C:\Program Files\Sublime Text 3\sublime_text.exe"

REF 1 删除别名:https://superuser.com/q/883914/247728

REF 2 换行符:https://stackoverflow.com/a/36738723/1896134

参考 3 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-5.1

参考 4 https://devblogs.microsoft.com/scripting/understanding-the-six-powershell-profiles/

操作系统 (OS):Windows 10 Pro


d
deepika yadav

仅限 Windows:如何在 Windows 中打开 -a “Sublime Text”?

假设您的 Sublime Text 3 位于“C:\Program Files\Sublime Text 3”目录中

在 Git Bash 中复制粘贴并运行: echo 'alias subl="/C/Program\ Files/Sublime\ Text\ 3/sublime_text.exe"' >> ~/.bashrc 关闭 Git Bash 并再次打开它。在 Git bash 中输入:subl


T
Toby Maguire

转到环境并将sublime text文件夹添加到系统路径目录,不要在系统32目录中添加任何内容,这只会弄得一团糟,之后你可以在cmd中输入''' subl mytext.txt '''。


这是Windows最准确的解决方案,谢谢!
r
rahuljaiswar

将安装文件夹添加到 windows 路径。

- Click on windows button 
- Type advance system settings in search box
- Click on the result (View Advance System Setting)
- Click on the Environment Variable Button at the Bottom right
- Go to System Variable Section Second
- Search for Path 
- Click on Path and Click on Edit Button 
- Click on New on right sidebar 
- Copy the Folder Path of Sublime Text Editor Sample(C:\Program Files\Sublime Text 3)
- Paste on New Line on Environment Variable
- Click on OK on Every Dialog Box
- All Set Now Follow below Steps

如果打开则关闭 CMD,或者只是启动新的 CMD。转到您的项目文件夹。单击 Windows 文件资源管理器中的地址行。全选并输入 CMD。它将在 CMD 中打开项目文件夹。然后只需键入 subl 。 //不要忘记在 (subl) ex (subl .) 之后添加点 (.) 全部完成,它将在 sublime 文本编辑器中打开项目。


L
LaxMaroon

尝试了很长时间后,以下步骤对我有用。

创建 PowerShell 配置文件 使用以下命令: if (!(Test-Path -Path )) { New-Item -ItemType File -Path $PROFILE.CurentUserAllHosts -Force } 编辑配置文件

您可以在文本编辑器(例如记事本)中打开任何 PowerShell 配置文件。

要在记事本的当前 PowerShell 主机应用程序中打开当前用户的配置文件,请键入:

>notepad $PROFILE.CurentUserAllHosts

在记事本上,将以下命令粘贴到配置文件中 Set-Alias subl -Value "C: