从命令行升华文本


Answers:


156

从内部版本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的instalation文件夹,但是我认为这涉及得多。


59
我要说的是,将Sublime的安装目录添加到其中PATH是启用Sublime命令行帮助程序的更方便的方法。这样,您将确保所有更新都将自动应用。将subl.exe可执行文件复制到Windows目录将需要在每次更新后重复复制。
edufinn 2015年

6
现在。我有一个问题。如果尚未打开升华文字,则此功能无效。
沙堡2015年

4
你应该看到这scotch.io/tutorials/...
沙堡

8
“或者您也可以修改系统PATH变量以包含sublime的安装文件夹,但是我认为这涉及得多。” 只需右键单击计算机。选择属性,然后单击“高级系统设置”。从那里转到环境变量>路径并附加; C:\ Program Files \ Sublime Text 3我将授予您更多步骤,但要知道一个非常简单而有用的技巧:)
Tom Wilkinson

9
或简单地与mklink c:\Windows\System32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"
Kwadz

196

Windows命令提示符

对于Windows cmd.exe,您可以将sublime文本安装目录添加到PATH环境变量中,这将允许您键入:

sublime_text file.rb

就个人而言,我添加了一个doskey(在.bat文件中设置为使用cmd自动运行),因此我可以输入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

1
我也可以为cygwin设置一个doskey吗?还是有其他方法可以做到这一点。我没有使用Windows cmd
mehulkar

8
啊,我的错,我以为您在使用cmd。您是否正在使用cygwin随附的默认bash shell?如果是这样,您可以使用链接到该帖子的别名:$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
pjumble 2012年

这可能也有帮助rhyous.com/2010/10/20/…–
Miguel

1
以这种方式从命令行启动SL2会使我的SL2副本以空的用户首选项设置开始。有人有同样的问题吗?
hndr

3
请注意,如果执行此操作,则生成系统可能会出现此问题。我在sublime文件夹中使用了简单的.bat文件,并将其放在PATH上,效果更好,没有构建系统问题。
2013年

136

我将其添加到我的PowerShell配置文件中

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

根据Sublime Text 3(或任何更高版本)的需要对其进行修改。


3
大!一旦我使用了Powershell ...我再也没有回过头来看cmd。
imlokesh 2014年

谢谢你 我发现PowerShell对来自Linux / Mac世界的开发人员非常友好
Antony

不错的答案..简单直接+1
Robbo_UK

是的,对于powershell,它可以正常工作。对于cmd,您仍然必须将路径添加到sublime_text.exeWindows路径中
MwamiTovi

55

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

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

这将使用新名称进行符号链接。现在,您可以自由使用它:

sublime hello.txt

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


5
顺便说一句,您在“开始” |“运行”文本框中键入cmd后,通过按Ctrl-Shift-Enter来提升Windows(7)权限...
likethesky 2014年

这正是我想要的。非常快速,整洁
C. Zeng

25

我在C:\ Program Files \ Sublime Text 2中创建了带有内容的subl.bat:

start sublime_text.exe %*

现在,我在PATH中有C:\ Program Files \ Sublime Text 2,我可以简单地键入'subl folder',它的工作原理非常好,而无需添加任何内容即可自动启动。


非常感谢“ subl文件夹”。不知道:)
y0prst 2012年

1
我已经将subl.bat更改为“ start sublime_text.exe%*”,现在它不会阻止我的控制台。
y0prst 2012年

除了.bat文件,您可以简单地创建一个快捷方式并按需要命名,而无需扩展名。至少它7.为我工作在Windows
颠簸

@psycketom请您详细说明。我在项目目录中创建了Sublime 2 exe的快捷方式,并将其称为subl。现在在我的控制台中运行subl时,它说未识别为外部或内部命令。仅命令“ start subl”将打开程序
Postscripter

1
@Postscripter他的意思是他去了Control Panel-> System-> Advanced System Settings-> Environment Variables->并将文本添加C:\Program Files\Sublime Text 2;到变量值的末尾PATH
Cory Gross

18

我认为在Windows中设置环境变量更容易。

然后,在编辑变量Path之后,添加一个 名为SUBLIME_HOME 的新系统变量,其值为“ C:\ Program Files \ Sublime Text 2 \” (不带引号),最后添加此值“;%SUBLIME_HOME%” (不带引号)

重新启动git BASH并使用,就像这样:

$ sublime_text mi- 新文件

(哪里 sublime_text是命令)

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


1
非常好的解决方案。干净,快捷,容易,不会弄乱我的主体%PATH%。效果也很好,可以在常规cmd提示符(带有sublime_text),PowerShell,GitHub的Git Shell和Git Bash(后三个带有sublime_text.exe)上工作。但是在Cygwin上失败,可能是因为它使用了不同的路径系统。有人知道是否/cygdrive/c/sublime text 2在我的系统环境变量中添加cygwin路径会导致问题(我只是将其附加到%SUBLIME_HOME%上面的代码中)?
hjc1710 2013年

17

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

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

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

10

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

如果使用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崇高地打开那些文件!


10

接受的答案似乎并没有工作,至少对崇高的文本3在Windows 7上复制文件直接导入C:\Windows\System32允许subl以解决罚款由壳体,但是当我运行它,什么都不会发生。

硬链接使我获得了更大的成功:

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

就这样,subl <file.txt>并且subl <directory>都工作得不错。


支持这个答案,但是我没有Windows机器可以对此进行测试。
mehulkar

1
@mehulkar,我测试了硬链接方法,这对我不起作用
Jay Lin

1
对我来说很棒-Windows 10和ST3
Nate Beers

7

我正在尝试在Windows的Rails上使用ruby并包含PATH C:\Program Files\Sublime Text 2\,然后将名称更改sublime.exesubl.exe.

在常规cmd和“使用ruby和rails的命令提示符” cmd中工作正常


5

我在Windows目录中创建了一个简单的批处理文件(s.bat)以开始升华文本

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

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

我通过键入来称赞崇高

s

我直接使用打开文件

s filename.ext

5

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

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

当然,您可以根据需要调用bat文件。从那时起,作为任何用户,您都可以使用:

subl myfile.txt

5

如果使用的是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

4

试试这个:

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

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

subl file.rb

3

我想从命令行启动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安装路径上方的一个文件夹中。)

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


3

离开了最被接受的答案,但是不幸的是他的作者说修改PATH是“艰苦的”-根本不是。很简单 我只是做到了,您也可以!

这是做什么的:

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

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

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

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

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

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

现在打开CMD或Powershell并键入 subl

Sublime Text窗口应打开。请享用!

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


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

  • 只需转到安装了sublime的目录,然后将sublime_text重命名为sublime。

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


2

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

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

2

将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

2
  1. 在环境变量中,我也将%SUBLIME_HOME%变量添加到路径变量中

  2. 然后从我的Command终端建立符号链接

mklink sb sublime_text.exe

2

在注册表中创建:

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

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

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


1

这个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" %*

1

空心每个。

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

项目github页面

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


1

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

在命令行中: myFile.py

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


1
    @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的问题?
黄沾-恢复莫妮卡

0

转到环境并在系统路径目录中添加sublime文本文件夹,不要在system 32目录中添加任何内容,这只会使您一团糟,然后您可以在cmd中键入'''subl mytext.txt'''。


1
这是Windows最准确的解决方案,谢谢!
JohnnyQ

0

这是对我有用的东西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/zh-cn/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-5.1

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

作业系统(OS): Windows 10 Pro

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.