Otwórz Sublime Text z terminala w macOS


417

W terminalu, kiedy używam .subl

Powraca -bash: .subl: command not found

Czy ktoś wie, jak otworzyć Sublime Text 3 z wiersza poleceń w systemie macOS?


3
Jak sobie z tym poradziłeś? Mam też problemy z sublST3. Stworzyłem dowiązanie symboliczne, w /usr/local/bin/sublktórym wskazuje /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl. Mam jeszcze dodane export PATH=/usr/local/bin:$PATHi export EDITOR="subl -w"w moim ~/.bash_profile- ale nadal nie działa i pojawia się ten sam błąd.
rs77

Mam dziwny problem, w którym muszę otworzyć folder subl, aby wykonać polecenie. Wykonuje się następująco: Angelfirenze$ /Applications/Sublime\ Text\ 3.app/Contents/SharedSupport/bin/subl ; exit; logout Saving session... ...copying shared history... ...saving history...truncating history files... ...completed. [Process completed] I Sublime Text 3 w końcu otwiera się w nowej sesji. Zainstalowałem Homebrew i postępowałem zgodnie z instrukcjami.
Angelfirenze

4
Jeśli chcesz otworzyć plik file.txtz Sublime Text z wiersza poleceń, polecenie open -a "Sublime Text" file.txtmoże być bardziej odpowiednie.
mareoraft,

Polecenie nie .subl, to jest subl.
Tin Man

Odpowiedzi:


627

W końcu mam to do pracy na moim systemie OSX. Użyłem tych kroków, aby to zadziałało:

  1. Test sublz instalacji ST:

    Najpierw przejdź do małego folderu w Terminalu, który chcesz otworzyć ST i wprowadź następujące polecenie:

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
    

    UWAGA: Konieczne może być zastąpienie Sublime\ Text.apppowyższego polecenia do Sublime\ Text\ 3.applub w Sublime\ Text\ 2.appzależności od tego, gdzie aplikacja jest przechowywana w twoim Applicationskatalogu. Na .końcu powyższego polecenia otwiera bieżący katalog roboczy, w którym się znajdujesz (ponownie upewnij się, że znajdujesz się w katalogu, który zawiera tylko kilka plików!).

    Jeśli NIE dostaniesz Sublime Text otwierającego bieżący katalog roboczy, następny zestaw kroków NIE zadziała. Jeśli nic się nie wydarzy lub pojawi się błąd z terminala, to dlatego, że nie można znaleźć aplikacji Sublime Text. Oznaczałoby to, że będziesz musiał sprawdzić, co wpisałeś (pisownię itp.) LUB, że Sublime Text nie jest zainstalowany!

  2. Zaznacz „.bash_profile”:

    Teraz nadszedł czas, aby utworzyć symboliczny link w PATHfolderze, ALE, zanim to zrobimy, sprawdźmy plik profilu za pomocą nano ~/.bash_profile. Oto następujące wiersze dotyczące sublpracy w wierszu polecenia Sublime Text:

    export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
    export EDITOR='subl -w'
    

    Pierwszy wiersz określa lokalizację, w której chcesz, aby terminal szukał plików binarnych na twoim komputerze. Zamierzam przechowywać mój symboliczny link w /usr/local/binkatalogu - myślę, że możesz go przechowywać w dowolnym miejscu, pod warunkiem, że powiadomiłeś Terminal, gdzie szukać plików binarnych.

    Drugi wiersz jest OPCJONALNY i ustawia Sublime Text jako domyślny edytor. Flaga -wzostała dodana i możesz dowiedzieć się więcej o flagach, przechodząc do dokumentów Sublime Text: ST3 subl lub ST2 subl

    Jeśli dokonasz edycji tego pliku po jego zamknięciu, musisz uruchomić polecenie:

    source ~/.bash_profile 
    

    aby skompilować nowo zastosowane zmiany. Jeśli zobaczysz jakieś błędy po uzyskaniu pliku, napraw je przed przejściem do ostatniego kroku.

  3. Utwórz symboliczny link do Sublime Text:

    Teraz na wybranej ścieżce (użyłem /usr/local/bin) wprowadzasz teraz następujące polecenie:

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
    

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/sublBędąc dokładnie w tym samym miejscu jak to, co podałeś i zweryfikowane jako pracujący w punkcie 1 powyżej. /usr/local/bin/sublJest miejsce, gdzie chcesz dowiązania znajdować się - musi być jednym z PATHmiejsc od kroku 2 powyżej.

    Teraz, gdy przejdziesz do folderu lub pliku, który chcesz otworzyć w Sublime Text, teraz wystarczy wpisać, subla następnie nazwę pliku lub .otworzyć bieżący katalog roboczy.


3
Miałem problem z ST3, gdzie po raz pierwszy wpisany w subl .I dostanie Sublime edytora o nazwie untitledi nie odwoływać żadnych plików w katalogu byłem w. Robi export EDITOR='subl -w'się mój .bash_profilestałe to.
Richard Ortega

4
To działało dla mnie, ale najpierw musiałem usunąć dowiązanie symboliczne do starego pliku subl.
Giles Butler,

3
działało to pięknie do ostatniego kroku. Dostaję ln: /usr/subl: Permission deniedMyśli?
stevenspiel,

2
Myślę, że znalazłem tutaj odpowiedź stackoverflow.com/questions/10196449/...
stevenspiel,

1
Jak stwierdził @ mr.musicman, może być konieczne użycie sudoprzed poleceniem w kroku 3.
Sarah Lewis

311

Dla MAC 10.8+:

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

pracował


1
Musiałem użyć katalogu domowego ~ zamiast zamiast / usr / bin, aby to działało dla mnie ... "sudo ln -s / Applications / Sublime \ Text.app/Contents/SharedSupport/bin/subl ~ / bin / subl "
Ben Haley

To działa, ale nie otwiera się tak samo po złożeniu, w którym prowadziłem Subl
Vyas,

1
Dla sublime2sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl
Montaro

Pracował nad systemem OS X 10.10.4
Kuchi

59
@Tinple Działa to w 10.11 sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl Zobacz odpowiedź na pytanie dlaczego - apple.stackexchange.com/questions/196224/...
Ross

152

Zarozumiały:

  • Zainstalowałeś już Homebrew.
  • / usr / local / bin znajduje się w twojej $ PATH.
  • Jesteś na Yosemite lub El Capitain.

MacOS Sierra 10.12.5 działa również potwierdzony przez Davida Rawsona i MacOS Sierra 10.12.6 potwierdzony przez Aleksandra K.

Uruchom następujący skrypt w terminalu, aby utworzyć określone dowiązanie symboliczne.

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Następnie:

subl .

Naciśnij Returni powinien natychmiast otworzyć Sublime Text.


3
@ChutipongRoobklom Thanks. Na mnie to działało macOS Sierra Version: 10.12 (16A323).
Subhajit,

Praca na macOS Sierra 10.12.5. Dzięki
David Rawson,

3
Może potwierdzić, że działa również w systemie macOS Sierra 10.12.6. Dziękuję Ci!
Alexander K.,

moja wysublimowana ścieżka tekstowa była inna, tak sądzę, ponieważ używam sublime 2 ln -s / Applications / Sublime \ Text \ 2.app/Contents/SharedSupport/bin/subl / usr / local / bin / subl
talsibony

1
Działa na High Sierra OSX 10.13.3
chichilatte

66

To zadziałało dla mnie (używam OS X Mavericks)

Najpierw utwórz dowiązanie symboliczne:

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl

Teraz możesz otworzyć wysublimowane za pomocą

subl "/a/path/to/the/directory/you/want/to/open"

1
Musiałem sudo rm / usr / bin / subl, aby działał na OSX 10.9, dzięki!
dnlcrl

1
ln -s / Applications / Sublime \ Text.app/Contents/SharedSupport/bin/subl / usr / local / bin / subl
organillero

dlaczego potrzebujemy cytatów? działa z cytatami dla mnie, ale nie działa bez nich?
vgrinko

11
ln: / usr / bin / subl: Operacja niedozwolona
Ken Ratanachai S.

16
@KenRatanachaiS. Użyj /usr/local/bin/sublzamiast /usr/bin/subl.
Josh Foskett

65

Używam oh-my-zsh na Mac OSX Mavericks, a łącze do symboli nie działało dla mnie, więc zamiast tego dodałem alias w pliku .zshrc:

alias subl="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

Otwórz nowy terminal i powinieneś już iść i pisać subl.


To samo tutaj, ale dla Basha.
merqlove,

2
To samo tutaj działało dla mnie, ale musiałem zmienić go na Podniosły tekst 2 z tym ciągiem: „Sublime \ Text \ 2.app/”
Joshua Soileau

To chyba dla ST 2. ST 3 jest wyposażony w interfejs CLI, ale nie mogę go jeszcze uruchomić.
atilkan

@emrah Używam ST3
Thomas Bindzus

@ThomasBindzus Dowiedziałem się później. Dzięki.
atilkan

43

Ten, którego użyję, jest bardzo prosty.

open -a "sublime text" [file]

od razu otwiera się wysublimowany tekst. Możesz określić plik do otwarcia jako parametr opcjonalny, np. Aby otworzyć „mój_plik.txt” w bieżącym katalogu.


3
Jeśli masz szybszy dostęp, możesz utworzyć alias. Wpisz nano .bash_profile i wklej: alias subl = "open -a 'sublime text'"
mbokil

1
Dziękuję Ci! To jedyne rozwiązanie, które działało dla mnie. Aby otworzyć go w nowej karcie w istniejącym oknie (nie w nowym), zobacz stackoverflow.com/questions/9961350/...
Dennis Golomazov

Myślę, że to najczystsza opcja ze wszystkich. Dzięki!
grooveplex

Jak to zmodyfikować, aby utworzyć plik, który tak naprawdę nie istnieje? Wiem, jak używać open -a sublimetext, aby otworzyć istniejący plik, ale jeśli tworzę nowy plik tekstowy, w co powinienem zmodyfikować otwarty skrypt?
esaruoho

28

Jest na to prosty sposób. To zajmuje tylko kilka kroków i nie musisz zbyt często używać wiersza poleceń. Jeśli jesteś nowy w wierszu poleceń, jest to sposób na zrobienie tego.

Krok 1: Znalezienie pliku bin do umieszczenia pliku wykonywalnego subl

  1. Otwórz terminal
  2. Wpisz cd .. --------------------- to powinno wrócić do katalogu
  3. Wpisz ls ------------------------, aby wyświetlić listę plików w katalogu
  4. wpisz cd ..---------------------, aż pojawi się folder zawierający usr
  5. Wpisz open usr --------------- to powinno otworzyć wyszukiwarkę i powinieneś zobaczyć niektóre foldery
  6. otwórz folder bin ------- tutaj skopiujesz swój wysublimowany plik wykonywalny.

Krok 2: Znalezienie pliku wykonywalnego

  1. otwórz wyszukiwarkę
  2. Pod plikiem otwórz nowe okno wyszukiwarki (CMD + N)
  3. Przejdź do folderu aplikacji
  4. znajdź Podniosły tekst i kliknij prawym przyciskiem myszy, aby wyświetlić rozwijane menu
  5. Kliknij opcję Pokaż zawartość opakowania
  6. Otwórz zawartość / SharedSupport / bin
  7. Skopiuj plik subl
  8. Wklej go w folderze bin w folderze usr, który znaleźliśmy wcześniej
  9. W terminalu wpisz subl-------------- to powinno otworzyć Sublime Text

Upewnij się, że zostanie skopiowany i nie jest to skrót. Jeśli masz problem, wyświetl folder usr / bin jako ikony i wklej subl w pustym obszarze w folderze. Nie powinna mieć strzałki skrótu na obrazie ikony.


Po wypróbowaniu innych odpowiedzi, ta była dla mnie jedyna. Mac OS X Yosemite 10.10.1.
tmthyjames

To nie działało dla mnie w Mac OS X El Capitan - nie mogłem skopiować do pliku. Jednak odpowiedź Chutiponga Roobkloma zadziałała.
CodeBiker

Począwszy od El Capitana i starszych, musisz wkleić plik subl do folderu / usr / local / bin. Wykonaj więc krok 2 do punktu 6, otwórz go w terminalu i uruchom polecenie sudo cp subl / usr / local / bin. Wynika to z nowej funkcji ochrony integralności systemu.
PeeJee,

18

Spróbuj tego.

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

^ Użyj tego. Miękkie linki do / usr / * local * / bin.
guice

16

Polecenie Symlink z dokumentacji Sublime Text 3 nie będzie działać, ponieważ nie ma~/bin/ w Mac OS X El Capitan lub nowszym katalogu w lokalizacji Home.

Tak więc będziemy musieli umieścić dowiązanie symboliczne na /usr/local/binścieżce, która w większości przypadków byłaby w naszej $PATHzmiennej .

Tak więc następujące polecenie powinno załatwić sprawę:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Po prawidłowym utworzeniu dowiązania symbolicznego można uruchomić Sublime Text 3 w następujący sposób: subl . (. Oznacza bieżący katalog)


12

Możesz utworzyć nowy alias w Terminalu:

nano ~/.bash_profile

Skopiuj ten wiersz i wklej go do edytora:

alias subl='open -a "Sublime Text"'

Naciśnij control+ x, a następnie y, enteraby go zapisać i zamknąć.

Zamknij wszystkie okna terminala i otwórz je ponownie.

To wszystko, możesz teraz użyć subl filenamelubsubl .


11

Pamiętaj, aby nie pisać w, /usr/binale zamiast tego w /usr/local/bin. Pierwszy dotyczy aplikacji, która zapisuje pliki binarne w systemie, a najnowszy dotyczy tego konkretnego zastosowania tworzenia własnych plików binarnych w całym systemie (tak jest w przypadku symlinkowania).

/usr/local/binJest również czytany po, /usr/bina zatem jest dobrym miejscem do zastąpienia dowolnej domyślnej aplikacji.

Biorąc to pod uwagę, właściwym łączeniem symbolicznym byłoby:

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl


10

W OS X Mavericks z uruchomionym Sublime Text 2, działało to dla mnie.

sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl

Przydaje się zlokalizowanie pliku w wyszukiwarce oraz przeciągnięcie i upuszczenie go w oknie terminala, aby mieć pewność, że ścieżka jest poprawna. Nie jestem wielkim użytkownikiem terminala, więc było to dla mnie wygodniejsze. następnie możesz przejść do początku ścieżki i zacząć dodawać inne części, takie jak skrócone polecenia UNIX. Mam nadzieję że to pomoże


9

To działa !!!! dla mnie na MacOS Sierra 10.12.2

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

i znajdź to w terminalu subl


9

Zamknij Sublime. Uruchom to polecenie. Odinstaluje to. Nie stracisz swoich preferencji. Następnie uruchom go ponownie. To się automatycznie powiąże subl.

brew install Caskroom/cask/sublime-text

2
W końcu to zrobiło, dziękuję bardzo za opublikowanie tego! Próbowałem zmusić ST3 do uruchomienia z wiersza poleceń od miesięcy po tym, jak z jakiegoś powodu pękło oryginalne łącze symboliczne. W każdym razie dziękuję!
Angelfirenze

Dzięki, działało, ale samo uruchomienie go dwukrotnie nie wystarczyło, sudo rm -rfnajpierw musiałem usunąć istniejący wzniosły z podniosłego katalogu w folderze aplikacji.
kardamon

7

Dodanie tego do ur .bashrc lub .zshrc jest prostym rozwiązaniem.

alias sublime="open -a /Applications/Sublime\ Text.app"

6

Nie powinieneś zanieczyszczać katalogu / usr / bin, chyba że naprawdę potrzebujesz. Zawsze używam / usr / local / bin dla tych plików binarnych, które nie są zarządzane przez menedżera pakietów dystrybucyjnych. Dlaczego? Ponieważ jeśli menedżer pakietów zostanie zaktualizowany, zawsze zastąpi pliki w / usr / bin.

Więc co bym zrobił

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl


5

jeśli masz skonfigurowane subl do wywoływania z wiersza poleceń, właściwym poleceniem do otwarcia bieżącego katalogu jest:

subl .

Wiersz poleceń OS X ” to link, jak upewnić się, że wszystko jest skonfigurowane.


Zwracaln: /Users/###/bin/subl: No such file or directory
użytkownik1405049

spojrzałeś na link u dołu mojej odpowiedzi? spróbuj wykonać następujące polecenieln -s "/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" ~/bin/subl
danmanstx

@danmanstx Utworzyłem dowiązanie symboliczne w moim /usr/local/binkatalogu, ale wciąż daje mi to błąd. Zwracam uwagę, że mój pakiet ST3 został zainstalowany /Applications/Sublime Text.app/...i dokonałem rozróżnienia podczas tworzenia mojego dowiązania symbolicznego. Jednak błąd pozostaje - myślę, że ma to coś wspólnego z moim .bash_profileplikiem.
rs77

W moim przypadku link wskazuje naln -s /Volumes/Macintosh\ HD/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
NicolásKittsteiner

5

Możesz po prostu dodać alias

alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'

Wtedy powinieneś być w stanie otworzyć folder lub cokolwiek z tym

subl <path>

3

Dla każdego, kto chce otworzyć plik z Sublime na komputerze Mac z terminala

open 'path/file.txt' -a '/Applications/Sublime Text.app'

3

Ma to na celu sprawienie, aby działał jako ALIAS, a nie link symboliczny!

Umożliwi to uruchomienie dodatkowych poleceń w terminalu bez przerywania sesji subl. Użycie wielu odpowiedzi na dowiązania symboliczne tutaj ( ln -s) powoduje, że proces terminalu wytrzymuje podczas używania Sublime text. Jeśli chcesz rozdzielić, utwórz alias w profilu Bash w następujący sposób:

  1. Test sublz instalacji ST:

    Najpierw przejdź do folderu w terminalu, który chcesz otworzyć ST i wprowadź następujące polecenie:

    /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl .
    

    UWAGA: Konieczne może być zastąpienie Sublime\ Text.apppowyższego polecenia do Sublime\ Text\ 3.applub w Sublime\ Text\ 2.appzależności od tego, gdzie aplikacja jest przechowywana w twoim Applicationskatalogu. Na .końcu powyższego polecenia otwiera bieżący katalog roboczy, w którym się znajdujesz (ponownie upewnij się, że znajdujesz się w katalogu, który zawiera tylko kilka plików!).

    Jeśli NIE dostaniesz Sublime Text otwierającego bieżący katalog roboczy, następny zestaw kroków NIE zadziała. Jeśli nic się nie wydarzy lub pojawi się błąd z terminala, to dlatego, że nie można znaleźć aplikacji Sublime Text. Oznaczałoby to, że będziesz musiał sprawdzić, co wpisałeś (pisownię itp.) LUB, że Sublime Text nie jest zainstalowany!

  2. Sprawdź i zaktualizuj plik „.bash_profile”:

    Teraz dodaj alias do swojego profilu Bash. Otwórz za pomocą vim ~/.bash_profile. Oto następujące wiersze dotyczące sublpracy w wierszu polecenia Sublime Text:

    ## For Sublime Text 3 alias
    alias subl='/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
    ## For Sublime Text global editor preference **Optional
    export EDITOR='subl -w'
    

    Sugeruję zawsze komentowanie twojego kodu tutaj ##. Drugi wiersz jest OPCJONALNY i ustawia Sublime Text jako domyślny edytor. Flaga -wzostała dodana i możesz dowiedzieć się więcej o flagach, przechodząc do dokumentów Sublime Text: ST3 subl lub ST2 subl

    Jeśli dokonasz edycji tego pliku po jego zamknięciu, musisz sourceten plik w bieżącej sesji lub zamknąć terminal (kartę) i otworzyć nowy. Możesz sourceten plik, uruchamiając polecenie source ~/.bash_profileRozwiąż wszelkie błędy przed przejściem do ostatniego kroku.


2

Dodam, że jeśli aktualizujesz z Sublime Text 2, przejdź do / usr / bin i najpierw usuń starą subl, zanim wykonasz te same instrukcje powyżej. Warto uaktualnić.


2

Osiągam to za pomocą tylko jednej linii w terminalu (z Sublime 3):

alias subl='/usr/local/bin/sublime'

2

Korzystam z Mac AirBook Otwórz terminal i wpisz

 sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl

Następnie wpisz prostą nazwę subl i nazwę pliku

 subl index.py

Zobacz poniżej, użyj tego z / usr / * local * / bin. Staraj się nie dodawać niestandardowych łączy miękkich do katalogów systemowych.
guice

0

Używam Oh-My-Zshell i poprzednie aliasy nie działały dla mnie, więc napisałem prostą funkcję bash, która pozwoli ci otworzyć Sublime z wiersza poleceń, używając sublimedo otwarcia bieżącego folderu w edytorze. Z funkcją dodawania do określenia pliku, z którego ma zostać otwarty edytor.

# Open Sublime from current folder or specified folder
sublime(){
  /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ./$1
}

Zastosowanie do otwarcia bieżącego folderu w terminalu:

$ sublime

Zastosowanie do otwarcia określonego folderu:

$ sublime path/to/the/file/to/open

0

Podsumowując różne sposoby osiągnięcia tego celu:

  1. Aby otworzyć wysublimowany tekst z terminala
open /Applications/Sublime\ Text.app/
  1. Aby otworzyć określony plik w bieżącej ścieżce (lub podać ścieżkę do pliku, który musisz otworzyć) przy użyciu wysublimowanego tekstu
open -a /Applications/Sublime\ Text.app/ myFileToOpen.txt
  1. Krótko mówiąc, wprowadź nowy alias o nazwie „wzniosły” i użyj go

    za. otwórz profil bash:

    nano ~/.bash_profile

    b. skopiuj ten wiersz, aby utworzyć alias, a następnie zapisz i uruchom ponownie terminal

    alias sublime="open -a /Applications/Sublime\ Text.app"

    do. użycie: apple.txt otworzy się z wysublimowanym tekstem (w razie potrzeby podaj ścieżkę do pliku)

    sublime apple.txt


-1

Jestem na komputerze Mac i działało to dla mnie:

open /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
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.