我安装了Sublime Text,想知道如何rb
从终端打开文件。我看到了使Sublime Text成为我的核心编辑器的命令是什么?我看到我可以将Sublime设为我的核心编辑器,但我希望能够输入
sublime file.rb
如何在Windows中执行此操作?
我安装了Sublime Text,想知道如何rb
从终端打开文件。我看到了使Sublime Text成为我的核心编辑器的命令是什么?我看到我可以将Sublime设为我的核心编辑器,但我希望能够输入
sublime file.rb
如何在Windows中执行此操作?
Answers:
从内部版本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文件夹,但是我认为这涉及得多。
PATH
是启用Sublime命令行帮助程序的更方便的方法。这样,您将确保所有更新都将自动应用。将subl.exe
可执行文件复制到Windows目录将需要在每次更新后重复复制。
mklink c:\Windows\System32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"
对于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
$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
我将其添加到我的PowerShell配置文件中:
Set-Alias subl 'C:\Program Files\Sublime Text 2\sublime_text.exe'
根据Sublime Text 3(或任何更高版本)的需要对其进行修改。
cmd
,您仍然必须将路径添加到sublime_text.exe
Windows路径中
另一个想法是将其包含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之后,我很高兴地说,更新到新版本不会影响符号链接。
我在C:\ Program Files \ Sublime Text 2中创建了带有内容的subl.bat:
start sublime_text.exe %*
现在,我在PATH中有C:\ Program Files \ Sublime Text 2,我可以简单地键入'subl folder',它的工作原理非常好,而无需添加任何内容即可自动启动。
Control Panel
-> System
-> Advanced System Settings
-> Environment Variables
->并将文本添加C:\Program Files\Sublime Text 2;
到变量值的末尾PATH
。
我认为在Windows中设置环境变量更容易。
然后,在编辑变量Path之后,添加一个 名为SUBLIME_HOME 的新系统变量,其值为“ C:\ Program Files \ Sublime Text 2 \” (不带引号),最后添加此值“;%SUBLIME_HOME%” (不带引号)。
重新启动git BASH并使用,就像这样:
$ sublime_text mi- 新文件
(哪里 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%
上面的代码中)?
我知道这个线程有点旧,但是我最近想出了这个解决方案,并认为我会分享它...
如果使用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
崇高地打开那些文件!
该接受的答案似乎并没有工作,至少对崇高的文本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>
都工作得不错。
试试这个:
alias subl='"/c/Program Files/Sublime Text 2/sublime_text.exe"'
确保sublime安装哪个目录。它将为sublime创建别名,然后键入:
subl file.rb
我想从命令行启动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安装路径上方的一个文件夹中。)
我知道这是一个旧线程,但是我想我应该添加寻找的内容(并找到)。它可能会帮助别人!
离开了最被接受的答案,但是不幸的是他的作者说修改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变量最重要的部分之一。
设置升华路径:我的电脑>>属性>>高级设置>>环境变量>>路径变量>>添加>> C:\Program Files\Sublime Text 3
只需转到安装了sublime的目录,然后将sublime_text重命名为sublime。
打开命令提示符并键入sublime。
您可以简单地安装记事本替换程序http://www.binaryfortress.com/NotepadReplacer/ ,它的作用是在Windows中升华默认记事本,然后您可以简单地使用通常用于在Windows中打开内置记事本的命令。例如
`//to open test.txt, just type
notepad test.txt
//to open sublime, Type
notepad`
将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
这个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" %*
@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的问题?
这是对我有用的东西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
REF 4 https://devblogs.microsoft.com/scripting/understanding-the-six-powershell-profiles/
作业系统(OS): Windows 10 Pro