Wzniosły tekst z wiersza poleceń


200

Zainstalowałem Sublime Text i chciałem wiedzieć, jak otwierać rbw nim pliki z terminala. Widziałem Jakie jest polecenie, aby Sublime Text stał się moim głównym edytorem? i widzę, że mogę uczynić Sublime moim głównym edytorem, ale chcę móc pisać

sublime file.rb

Jak to zrobić w systemie Windows?


2
przedrostek wysublimowany nie jest ważną częścią. może to być naprawdę jedno słowo.
mehulkar

Odpowiedzi:


156

Od kompilacji 3065 (data premiery: 29 sierpnia 2014 r.) Sublime textZawiera pomocnika wiersza poleceń, nameley subl.exe. Znajduje się w folderze instalacyjnym sublime: skopiuj go do folderu zawartego w ścieżce systemowej. Na przykład w moim przypadku skopiowałem to

z C:\Program Files\Sublime Text 3

do C:\Windows\System32

Następnie możesz użyć w swoim terminalu / konsoli subljako polecenia, aby otworzyć dowolny plik, na przykład w twoim przykładzie:

subl file.rb

Możesz również zmodyfikować PATHzmienną systemową , aby uwzględnić folder instalacyjny sublime, ale uważam, że jest to o wiele bardziej zaangażowane.


59
Powiedziałbym, że dodanie katalogu instalacyjnego Sublime do PATHjest wygodniejszym sposobem włączenia pomocnika wiersza poleceń Sublime. W ten sposób upewnisz się, że wszystkie aktualizacje zostaną automatycznie zastosowane. Kopiowanie subl.exepliku wykonywalnego do katalogu Windows będzie wymagało powtarzania kopiowania po każdej aktualizacji.
edufinn

6
Teraz. Mam problem To nie działa, jeśli wysublimowany tekst nie jest już otwarty.
zamki z piasku

4
Powinieneś zobaczyć ten scotch.io/tutorials/…
piasku

8
„Albo możesz zmodyfikować swoją zmienną systemową PATH, aby uwzględnić folder instalacyjny sublime, ale uważam, że jest to o wiele bardziej zaangażowane”. Po prostu kliknij prawym przyciskiem myszy na komputerze. Wybierz właściwości, a następnie kliknij „Zaawansowane ustawienia systemu”. Stamtąd przejdź do Zmienne środowiskowe> Ścieżka i dołącz; C: \ Program Files \ Sublime Text 3 Jeszcze kilka kroków, ale dam ci bardzo łatwą i przydatną sztuczkę :)
Tom Wilkinson

9
Lub po prostu utwórz dowiązanie symboliczne zmklink c:\Windows\System32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"
Kwadz

196

Wiersz polecenia systemu Windows

W przypadku Windows cmd.exe możesz po prostu dodać katalog instalacyjny z wysublimowanym tekstem do zmiennej środowiskowej PATH, co pozwoli Ci wpisać:

sublime_text file.rb

Osobiście dodaję doskey (w pliku .bat ustawionym na autorun z cmd ), aby móc wpisać subl file.rb:

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

Cygwin

Dla domyślnej powłoki bash dodaj alias do swojego ~/.bashrcpliku, np .:

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

1
Czy skonfiguruję też doskey dla cygwina? czy jest na to inny sposób. nie używam Windows cmd
Mehulkar

8
Ach, mój błąd, zakładałem, że używasz cmd. Czy używasz domyślnej powłoki bash dostarczanej z cygwin? Jeśli tak, możesz po prostu użyć aliasu, takiego jak post, do którego prowadzisz link:$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
pjumble,

to może pomóc zbyt rhyous.com/2010/10/20/...
Miguel

1
uruchomienie SL2 z wiersza poleceń w ten sposób powoduje, że moja kopia SL2 zaczyna się z pustym ustawieniem preferencji użytkownika. ktoś miał ten sam problem?
hndr

3
zwróć uwagę, że jeśli to zrobisz, możesz mieć ten problem z systemami kompilacji. Zamiast tego użyłem prostego pliku .bat w podniosłym folderze i umieściłem go w ścieżce PATH, działa lepiej, nie ma problemów z kompilacją systemu.
eis

136

Dodałem to do mojego profilu PowerShell :

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

Zmodyfikuj to zgodnie z potrzebami w Sublime Text 3 (lub w przyszłych wersjach).


3
Wspaniały! Po przejściu do PowerShell ... nigdy nie spojrzałem na cmd.
imlokesh

Wielkie dzięki. Uważam, że PowerShell jest bardzo przyjazny dla programistów pochodzących ze świata Linux / Mac
Antony

świetna odpowiedź .. proste i proste +1
Robbo_UK

Tak, w przypadku PowerShell działa dobrze. Dla cmd, trzeba jeszcze dodać ścieżkę do sublime_text.exeobrębie ścieżki okien
MwamiTovi

55

Innym pomysłem byłoby włączenie do C:\Program Files\Sublime Text 2\ŚCIEŻKI, a następnie uruchomienie wiersza polecenia administratora:

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

W ten sposób powstanie symboliczne łącze z nową nazwą. A teraz możesz go swobodnie używać:

sublime hello.txt

Aktualizacja : Po skorzystaniu z tej sztuczki i aktualizacji Sublime Text 2 z przyjemnością stwierdzam, że aktualizacja do nowej wersji nie wpływa na łącze symboliczne.


5
Btw, podnosisz swoje uprawnienia w Windows (7), naciskając Ctrl-Shift-enter po wpisaniu cmd w polu tekstowym Start | Uruchom ...
likethesky

Właśnie tego szukałem. Bardzo szybki i czysty
C. Zeng

25

Utworzyłem subl.bat w C: \ Program Files \ Sublime Text 2 z zawartością:

start sublime_text.exe %*

Teraz, gdy mam C: \ Program Files \ Sublime Text 2 w PATH, mogę po prostu wpisać „folder subl” i działa on wspaniale bez konieczności dodawania czegokolwiek do autostartu.


Wielkie dzięki za „folder subl”. Nie wiedziałem o tym :)
yprprst

1
Zmieniłem subl.bat na „start sublime_text.exe% *” i teraz nie blokuje on mojej konsoli.
y0prst

Zamiast pliku .bat możesz po prostu utworzyć skrót i nazwać go tak, jak chcesz, bez rozszerzeń. Przynajmniej zadziałało dla mnie w systemie Windows 7.
wstrząs

@psycketom możesz rozwinąć. Utworzyłem skrót do exe sublime 2 w moim katalogu projektów i nazłem go subl. teraz, gdy uruchamiam subl w mojej konsoli, napisano, że nie jest rozpoznawany jako polecenie zewnętrzne lub wewnętrzne. Tylko polecenie „start subl” otworzy program
Postscripter

1
@ Postscripter To znaczy, że poszedł do Control Panel-> System-> Advanced System Settings-> Environment Variables-> i dodał tekst C:\Program Files\Sublime Text 2;na końcu wartości zmiennej PATH.
Cory Gross

18

Myślę, że łatwiej jest ustawić zmienną środowiskową w systemie Windows.

Następnie po prostu dodaj nową zmienną systemową o nazwie SUBLIME_HOME o wartości „C: \ Program Files \ Sublime Text 2 \” (bez cudzysłowów) po edycji zmiennej Ścieżka dodając na końcu tę wartość „;% SUBLIME_HOME%” (bez cudzysłowów) .

Uruchom ponownie git BASH i ciesz się, korzystając z tego w następujący sposób:

$ sublime_text mi-new-file

(gdzie sublime_text to polecenie)

Uwaga: Działa również teraz dla cmd systemu Windows.


1
Bardzo fajne rozwiązanie. Czysto, szybko, łatwo, bez bałaganu z moim głównym %PATH%. Działa też bardzo dobrze, działa na zwykłym poleceniu cmd (z sublime_text), PowerShell, Git Shell GitHub i Git Bash (trzy ostatnie z sublime_text.exe). Jednak Cygwin zawodzi, prawdopodobnie dlatego, że używa innego systemu ścieżek. Ktoś wie, czy dodanie ścieżki cygwin, takiej jak, /cygdrive/c/sublime text 2do zmiennych systemowych w środowisku spowoduje problemy (po prostu dołączę ją do %SUBLIME_HOME%powyższego)?
hjc1710

17

Dodaj folder instalacyjny do ścieżki systemu Windows, a będziesz mógł otworzyć Sublime, wpisując nazwę pliku wykonywalnego, który jest domyślnie „ subl”.

Aby dołączyć folder instalacji Sublime do ścieżki systemu Windows,

  1. Otwórz wiersz polecenia i wpisz sysdm.cpl
  2. Na karcie Zaawansowane wybierz Environment variables
  3. W obszarze zmiennych systemowych wybierz zmienną o nazwie „ Path” i kliknijEdit .
  4. Dodaj "C:\Program Files\Sublime Text 3; ” na końcu istniejącego ciągu.
  5. Zapisz zmiany i ponownie uruchom wiersz polecenia.

10

Wiem, że ten wątek jest trochę stary, ale niedawno wymyśliłem to rozwiązanie i pomyślałem, że mogę się nim podzielić ...

Jeśli używasz Cygwin, możesz utworzyć skrypt bash, który skonwertuje ścieżki uniksowe na ścieżki Windows i przekaże je do wzniosłości. Wklej następujące elementy do nowego pliku:

#!/bin/bash

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

Zapisz go w /usr/bin/subl(lub gdziekolwiek chcesz, pod warunkiem, że lokalizacja jest w twoim $PATH) i uczyń go wykonywalnym ($ chmod a+x /usr/bin/subl )

Za pomocą tego skryptu można używać ścieżek w stylu UNIX i Windows ( /cygdrive/c/lub C:/), ponieważ cygpathnarzędzie konwertuje aliasy /i ~ścieżki na ich odpowiedniki w systemie Windows .

Teraz możesz użyć $ subl file1.txt file2.md ~/file3.txtdo otwarcia tych plików w wysublimowany sposób!


10

Odpowiedź Zaakceptowany nie wydaje się do pracy, przynajmniej dla Sublime Text 3 na Windows 7. Kopiowanie pliku bezpośrednio C:\Windows\System32pozwalasubl , aby rozwiązać grzywny od powłoki, ale kiedy go uruchomić, nic się nie dzieje.

Odniosłem większy sukces dzięki linkowi twardemu:

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

Z tym subl <file.txt>i subl <directory>oba działają dobrze.


przegłosowanie tej odpowiedzi, ale nie mam komputera z systemem Windows, aby ją przetestować.
mehulkar,

1
@mehulkar, testuję metodę hardlink, to nie działa dla mnie
Weijing Jay Lin

1
Działa świetnie dla mnie - Windows 10 i ST3
Nate Beers

7

Próbuję ruby ​​na szynach w systemie Windows i dołączam ŚCIEŻKĘ C:\Program Files\Sublime Text 2\, a następnie zmieniam nazwęsublime.exe nasubl.exe.

działało dobrze w zwykłym cmd i „wierszu polecenia z ruby ​​i szynami” cmd


5

Utworzyłem prosty plik wsadowy (s.bat) w katalogu systemu Windows, aby rozpocząć wysublimowany tekst

To jest kod, który wstawiłem do pliku wsadowego, aby uruchomić Sublime Text 2

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

Sublime nazywam pisząc

s

Plik otwieram bezpośrednio za pomocą

s filename.ext

5

Właśnie uruchomiłem wiersz polecenia jako administrator i wykonałem następujące polecenie.
Proste, ale działa dla mnie.

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

Oczywiście możesz wywołać plik nietoperza, jak chcesz. Odtąd, jak każdy użytkownik, możesz po prostu używać:

subl myfile.txt

5

Jeśli używasz Cmdera, możesz dodać alias do pliku aliasów, który znajduje się wszędzie tam, gdzie zainstalowałeś cmder, a następnie config \ alias

Następnie możesz dodać (dotyczy wysublimowanego tekstu 3)

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

Z poziomu Cmdera możesz następnie otworzyć dowolny katalog w wysublimowany sposób za pośrednictwem

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

4

Spróbuj tego:

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

upewnij się, że wysublimowana instalacja, który katalog. Spowoduje to utworzenie aliasu dla wzniosłości, a następnie wpisz:

subl file.rb

3

Chciałem uruchomić nową instancję Sublime Text z wiersza polecenia. Następująca strona pomogła mi, mimo że zawiera tylko OSX: http://www.sublimetext.com/docs/3/osx_command_line.html .

Tak więc używam pliku wsadowego w ścieżce użytkownika, aby uruchomić program „sublime”. Oto w zasadzie to, czego używam (** zawartość pliku wsadowego):

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

(mój plik wsadowy %~-dp0znajduje się o jeden folder powyżej ścieżki instalacji Sublime Text).

Wiem, że to stary wątek, ale pomyślałem, że dodam to, czego szukałem (i znalazłem). To może pomóc komuś innemu!


3

Wyjście z najbardziej akceptowanej odpowiedzi, ale której autor niestety powiedział, że modyfikacja ŚCIEŻKI jest „trudna” - wcale nie jest. To jest bardzo łatwe. Właśnie to zrobiłem i ty też możesz!

Oto co robić:

Przejdź do podniosłego katalogu tekstowego w Eksploratorze Windows i skopiuj pełną ścieżkę z paska ścieżki.

Na przykład mam kilka narzędzi programistycznych skonfigurowanych jako aplikacje przenośne w Dropbox, więc skopiowałem ścieżkę:

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

Wybierz Panel sterowania-> System-> Zaawansowane ustawienia systemu-> Zmienne środowiskowe

W wyświetlonym oknie przejdź do „ścieżki” w dolnym oknie, podświetl je i kliknij „Edytuj”.

W wyświetlonym oknie kliknij „Nowy”, wklej ścieżkę Sublime Text i kliknij „OK”.

Teraz otwórz CMD lub PowerShell i wpisz subl

Sublime Text powinno się otworzyć. Cieszyć się!

Uwaga: zauważyłem, że ktoś inny odpowiedział na to w podobny sposób, ale użyłem stałej lokalizacji dla Sublime Text. Może to działać dla niektórych osób, ale dla innych wskazówki będą błędne. Faktem jest, że lokalizacja Sublime Text może znajdować się w dowolnym miejscu na dysku, a wiedza o tym, gdzie ona jest, a skopiowanie tej konkretnej lokalizacji jest jedną z najważniejszych części przypisywania zmiennej PATH.


3
  • Ustaw ścieżkę wzniosłości: Mój komputer >> właściwości >> ustawienia zaawansowane >> zmienne środowiskowe >> zmienna ścieżki >> Dodaj >> C:\Program Files\Sublime Text 3

  • Wystarczy przejść do katalogu, w którym zainstalowano sublime i zmienić nazwę sublime_text na sublime.

Otwórz wiersz polecenia i wpisz sublime.


2

Możesz po prostu zainstalować Notepad Replacer http://www.binaryfortress.com/NotepadReplacer/, co spowoduje, że wysublimujesz swój domyślny notatnik w systemie Windows, a następnie możesz po prostu użyć poleceń, których zwykle używasz do otwierania wbudowanego notatnika w Windows. na przykład

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

2

dodaj folder instalacyjny Sublime do swojej ścieżki. @set PATH=C:\Program Files\Sublime Text 3;%PATH%

lub

Aby ustawić zmienną środowiskową na stałe w systemie Windows (aby była dostępna dla wszystkich procesów systemu 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".

w takim przypadku dodaj ścieżkę do C: \ Program Files \ Sublime Text 3.

Teraz można wykonać kopię pliku „sublime_text.exe” jako „sublime.exe”

Następnie w dowolnym wierszu polecenia możesz uruchomić plik file.txt

C:\Users\MyUsername>sublime filename.txt

2
  1. W zmiennej środowiskowej dodałem również %SUBLIME_HOME%zmienną do zmiennej ścieżki

  2. Następnie wykonałem symboliczne łącze z mojego terminalu dowodzenia

mklink sb sublime_text.exe

2

utwórz w rejestrze:

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

zaktualizuj wartość parametru domyślnego (REG_SZ) do:

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


1

Ten PowerShell pozwala mi potokować do funkcji edycji (lub używać jej w normalny sposób)

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

tutaj jest to, sublime_text.batco z jakiegoś powodu wydaje się konieczne (ktoś wie dlaczego?)

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

1

Hollow każdy.

Buduję bardzo łatwy sposób, aby to zrobić.

strona projektu github

po prostu pobierz „install.bat” i kliknij prawym przyciskiem myszy install.bat -> kliknij „uruchom jako administrator”


1

Jeśli nie chcesz zmieniać ścieżki, możesz powiązać pliki z wysublimowanymi. Kliknij plik prawym przyciskiem myszy, kliknij właściwości, a następnie kliknij otwiera się z wysublimowanym tekstem.

Z wiersza poleceń: myFile.py

Otworzy plik w sublime. Podejrzewam, że oszczędza to około pięciu naciśnięć klawiszy.


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 

Witaj, dziękuję za próbę odpowiedzi na to pytanie, ktoś oznaczył twój post do usunięcia, czy możesz krótko wyjaśnić, w jaki sposób purposeopisany w kodzie rozwiązuje problem OP?
James Wong - Przywróć Monikę

0

przejdź do środowiska i dodaj podniosły folder tekstowy do systemowego katalogu ścieżki, nie dodawaj niczego do katalogu systemowego 32 to po prostu robi bałagan, po czym możesz wpisać 'subl mytext.txt' 'w cmd.


1
To najdokładniejsze rozwiązanie dla systemu Windows, dzięki!
JohnnyQ

0

Oto, co działało dla mnie w 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

Jest to najprostszy sposób, aby ustawić i przetestowaćalias . Jeśli chcesz zachować to w stosunku do swojego profilu, spróbuj:

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

REF 2 Newline: https://stackoverflow.com/a/36738723/1896134

ODNIESIENIE 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/

System operacyjny (OS): Windows 10 Pro

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.