我安装了Sublime Text,想知道如何从终端打开其中的rb文件。我看到让Sublime Text成为我的核心编辑器的命令是什么?我看到我可以让Sublime成为我的核心编辑器,但我想要能够打字

sublime file.rb

在Windows中如何做到这一点?


当前回答

    @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 

其他回答

我知道这个帖子有点老了,但我最近想出了这个解决方案,我想分享它……

如果您使用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方式打开这些文件!

另一个想法是在你的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后,我很高兴地说更新到新的版本并不会影响符号链接。

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

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

打开命令提示符并键入sysdm.cpl 在“高级”页签中选择“环境变量” 在“系统变量”下,选择名为“Path”的变量,单击“编辑”。 添加"C:\Program Files\Sublime Text;"到现有字符串的末尾。 保存更改并重新启动命令提示符。

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

从版本3065(发布日期:2014年8月29日)起,Sublime文本包括一个命令行助手,即eley sub .exe。它位于sublime的安装文件夹中:将其复制到系统路径中包含的文件夹中。 例如,在我的例子中,我复制了它

从C:\Program Files\Sublime文本3

对C:\Windows\System32

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

subl file.rb

或者你也可以修改你的系统PATH变量来包含sublime的安装文件夹,但我相信这要复杂得多。