Піднесений текст з командного рядка


200

Я встановив Sublime Text і хотів знати, як відкрити rbфайли в ньому з терміналу. Я бачив, яка команда зробити Sublime Text своїм основним редактором? і я бачу, що я можу зробити Sublime своїм основним редактором, але я хочу мати можливість вводити текст

sublime file.rb

Як це зробити в Windows?


2
префікс піднесений не є важливою частиною. це дійсно може бути будь-яка команда одним словом.
mehulkar

Відповіді:


156

З моменту складання 3065 (дата випуску: 29 серпня 2014 р.) І далі Sublime textвключає помічник командного рядка, nameley subl.exe. Він знаходиться в папці установки sublime: скопіюйте його в папку, що входить до системного шляху. Наприклад, у моєму випадку я скопіював це

з C:\Program Files\Sublime Text 3

до C:\Windows\System32

Потім ви можете використовувати у своєму терміналі / консолі sublяк команду для відкриття будь-якого файлу, наприклад у прикладі:

subl file.rb

Або ви можете також змінити вашу системну PATHзмінну, щоб включити папку встановлення піднесеного, але я вважаю, що це значно більше.


59
Я б сказав, що додавання каталогу встановлення Sublime до PATHбільш зручного способу включення помічника командного рядка Sublime. Таким чином ви забезпечите автоматичне застосування всіх оновлень. Копіювання subl.exeвиконуваного файлу у каталог Windows вимагатиме повторного копіювання після кожного оновлення.
edufinn

6
Тепер. У мене є проблема. Це не працює, якщо піднесений текст ще не відкритий.
піщані пляжі

4
Ви повинні побачити цей scotch.io/tutorials/…
sandcastles

8
"Або ви можете також змінити системну змінну PATH, щоб включити папку встановлення піднесеного, але я вважаю, що це значно більше." Просто клацніть правою кнопкою миші на комп'ютері. Виберіть властивості, потім натисніть "Розширені налаштування системи". Звідти перейдіть до змінних довкілля> Шлях і додайте; C: \ Програмні файли \ Піднесений текст 3 Ще кілька кроків я вам надаю, але дуже простий і корисний трюк, щоб знати :)
Том Вілкінсон,

9
Або просто створити mklink c:\Windows\System32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"
симпосилання

196

Командний рядок Windows

Для Windows cmd.exe ви можете просто додати каталог встановлення піднесеного тексту до змінної середовища PATH, це дозволить вам вводити:

sublime_text file.rb

Особисто я додаю doskey (у файл .bat, встановлений до автозапуску з cmd ), щоб я міг набрати subl file.rb:

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

Сігвін

Для базової оболонки bash додайте псевдонім у ~/.bashrcфайл, наприклад:

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

1
Чи потрібно також створити доскеї для цигуна? або є інший спосіб зробити це. Я не використовую Windows cmd
mehulkar

8
Ах, моя помилка, я припускав, що ви використовуєте cmd. Чи використовуєте ви за замовчуванням bash shell, який постачається із cygwin? Якщо так, ви можете просто використовувати псевдонім, як повідомлення, з яким ви пов’язали:$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
pjumble

це може допомогти занадто rhyous.com/2010/10/20/…
Мігель

1
запуск SL2 з командного рядка таким чином призводить до того, що моя копія SL2 починається з налаштування порожніх налаштувань користувача. у когось була така ж проблема?
hndr

3
зауважте, що якщо ви це зробите, у вас може виникнути ця проблема із системами побудови. Замість цього я використав простий .bat файл у піднебінній папці і поставив його на PATH, працює краще, не виникає системних проблем.
eis

136

Я додав це до свого профілю PowerShell :

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

Змініть це, як потрібно для Sublime Text 3 (або будь-яких майбутніх версій).


3
Чудово! Одного разу я перейшов до powerhell ... Я ніколи не оглядався на cmd.
імлокеш

Дякую купу. Я вважаю PowerShell дуже доброзичливим до розробників, що надходять зі світу Linux / Mac
Антоній

чудова відповідь .. простий і прямий вперед +1
Robbo_UK

Так, для powerhell це працює чудово. Тому що cmdвам доведеться додати шлях до sublime_text.exeшляху Windows
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
До речі, ви піднімаєте свої приватні файли Windows (7) натисканням клавіші Ctrl-Shift-Enter після введення cmd у текстове поле «Пуск | Виконати ...»
likethesky

Це саме те, що я шукав. Дуже швидкий і чистий
C. Zeng

25

Я створив subl.bat в C: \ Program Files \ Sublime Text 2 із вмістом:

start sublime_text.exe %*

Тепер, коли у мене є C: \ Program Files \ Sublime Text 2 в PATH, я можу просто ввести "subl папку", і вона прекрасно працює, не вимагаючи нічого до автоматичного запуску.


Дякую за "subl папку". Не знав цього :)
y0prst

1
Я змінив subl.bat на "start sublime_text.exe% *", і тепер він не блокує мою консоль.
y0prst

Замість файлу .bat ви можете просто створити ярлик і назвати його за бажанням без розширень. Принаймні, це працювало для мене в Windows 7.
похитнутись

@psycketom, будь ласка, довідайтесь. Я створив ярлик до exe sublime 2 у своєму каталозі проектів і назвав його 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

Я думаю, що простіше встановити змінну Environment у Windows.

Потім просто додайте нову системну змінну під назвою SUBLIME_HOME зі значенням "C: \ Program Files \ Sublime Text 2 \" (без лапок) після редагування змінної Path, що додає в кінці кінців це значення ";% SUBLIME_HOME%" (без лапок) .

Перезапустіть git BASH і насолоджуйтесь, користуючись цим:

$ sublime_text mi-new-file

(де sublime_text - команда)

Примітка. Також працює зараз для cmd Windows.


1
Дуже приємне рішення. Чисто, швидко, легко, не возиться з моїм головним %PATH%. Працює також дуже добре, працює в регулярному записі cmd (з sublime_text), PowerShell, Git Shell GitHub і Git Bash (останні три з sublime_text.exe). Збій на Cygwin, однак, ймовірно, тому що він використовує іншу систему шляхів. Хто-небудь знає, якщо додавання cygwin шляху, наприклад, /cygdrive/c/sublime text 2до мінливих системних середовищ, спричинить проблеми (я просто додати його до %SUBLIME_HOME%зробленого вище)?
hjc1710

17

Додайте інсталяційну папку до шляху Windows, і ви зможете відкрити Sublime, ввівши ім'я виконавчого файлу, який за замовчуванням " subl".

Щоб включити папку установки Sublime у шлях Windows,

  1. Відкрийте командний рядок та введіть sysdm.cpl
  2. На вкладці Додатково виберіть Environment variables
  3. Під системними змінними виберіть змінну з назвою " Path" і натисніть Edit.
  4. Додати " C:\Program Files\Sublime Text 3;" в кінець існуючого рядка.
  5. Збережіть зміни та перезапустіть командний рядок.

10

Я знаю, що ця тема трохи стара, але я нещодавно придумав це рішення і думав, що поділюсь цим ...

Якщо ви використовуєте Cygwin, ви можете створити сценарій bash, який перетворить імена unix у шляхи до Windows та передасть їх у піднесені. Вставте наступне у новий файл:

#!/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

Загальноприйнятий відповідь , здається , не працювати, по крайней мере , для Sublime Text 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, я перевіряю метод жорсткої посилання, він не працює для мене
Weijing Jay Lin

1
Для мене чудово працювали - Windows 10 та ST3
Nate Beers

7

Я пробую рубін на рейках у вікнах і включаю PATH C:\Program Files\Sublime Text 2\, а потім змінити ім'я sublime.exeнаsubl.exe.

добре працював у регулярному cmd та "командному рядку з рубіном та рейками" cmd


5

Я створив простий пакетний файл (s.bat) у каталозі Windows, щоб почати піднесений текст

Це код, який я вкладаю у пакетний файл, щоб запустити Sublime Text 2

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

Я називаю піднесене, набравши

s

Я безпосередньо відкриваю файл за допомогою

s filename.ext

5

Я щойно запускав програму Command Prompt як адміністратор і виконував таку команду.
Просто, але працює для мене.

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

Звичайно, ви можете зателефонувати у файл bat, що завгодно. Відтепер, як будь-який користувач, ви можете просто використовувати:

subl myfile.txt

5

Якщо ви використовуєте Cmder, ви можете додати псевдонім до файлу псевдонімів, який знаходиться де б ви не встановили cmder, а потім конфігуруйте \ псевдоніми

Потім ви можете додати (це для піднесеного тексту 3)

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

Зсередини Cmder ви зможете відкрити будь-який каталог піднесене через

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

4

спробуйте це:

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

переконайтеся, що піднесений встановити який каталог. Він створить псевдонім для піднесеного, а потім наберіть:

subl file.rb

3

Я хотів запустити новий екземпляр Sublime Text з командного рядка. Наступна сторінка допомогла мені, навіть якщо вона говорить лише про OSX: http://www.sublimetext.com/docs/3/osx_command_line.html .

Отже, я використовую пакетний файл у своєму користувальницькому шляху, щоб запустити "піднесене". Ось, що я використовую (** вміст пакетного файлу):

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

(мій пакетний файл %~-dp0розташований на одній папці вище шляху встановлення піднесеного тексту.)

Я знаю, що це стара тема, але я думав, що я додам те, що шукав (і знайшов). Це може допомогти комусь іншому!


3

Відкликання найбільш прийнятої відповіді, але чий автор, на жаль, сказав, що змінити PATH "важко" - це зовсім не так. Це дуже просто. Я просто це зробив, і ти теж можеш!

Ось що робити:

Перейдіть до свого піднесеного текстового каталогу в Провіднику Windows і скопіюйте повний шлях з панелі шляху.

Наприклад, у мене є кілька інструментів розробки, створених як портативні програми в Dropbox, тому я скопіював шлях:

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

Перейдіть до Панелі керування-> Система-> Додаткові параметри системи-> Змінні середовища

У вікні, що вийшло, перейдіть до "шляху" у нижньому вікні, виділіть його та натисніть "Редагувати".

У вікні, що з’явиться, натисніть «Створити», вставте шлях до піднесеного тексту та натисніть «ОК».

Тепер відкрийте CMD або Powershell і введіть subl

Вікно піднесеного тексту повинно відкритися. Насолоджуйтесь!

Примітка. Я помітив, що хтось інший відповів на це подібним чином, але використовував фіксовану локацію для піднесеного тексту. Для деяких людей це може працювати, але для інших вказівки будуть помилковими. Справа в тому, що розташування Sublime Text може знаходитися в будь-якому місці диска, і знаючи, де воно знаходиться, і копіювати саме це місце є однією з найважливіших частин призначення змінної PATH.


3
  • Встановіть шлях до піднесеного: Мій комп'ютер >> Властивості >> розширені налаштування >> Змінні середовища >> Змінна контура >> Додати >> C:\Program Files\Sublime Text 3

  • Просто перейдіть до каталогу, де встановлено sublime, і перейменуйте sublime_text в 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

створити в реєстрі:

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

оновити значення параметра за замовчуванням (REG_SZ) на:

C: \ Файли програм \ Підвищений текст 2 \ sublime_text.exe


1

Ця повноваження дозволяє мені передати функцію редагування (або використовувати її у звичайному режимі)

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

Якщо ви не хочете змінювати свій шлях, ви можете пов’язати файли з піднесеним. Отже, клацніть правою кнопкою миші на файл, виберіть властивості, а потім відкрийте з піднесеним текстом.

З командного рядка: 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описане у вашому коді вирішує проблему ОП?
Джеймс Вонг - Відновити Моніку

0

перейдіть до навколишнього середовища та додайте папку з піднесеним текстом у каталог системного шляху, не додайте нічого до каталогу системи 32, це просто створює безлад, після чого ви можете ввести '' 'subl mytext.txt' '' у cmd.


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 Remove-Alias: https://superuser.com/q/883914/247728

Новий рядок REF 2: https://stackoverflow.com/a/36738723/1896134

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

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

Операційна система (ОС): Windows 10 Pro

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.