Buka Sublime Text dari Terminal di macOS


417

Di Terminal saat saya menggunakan .subl

Ia kembali -bash: .subl: command not found

Adakah yang tahu cara membuka Sublime Text 3 dari baris perintah di macOS?


3
Bagaimana Anda melakukannya? Saya mengalami masalah dengan subluntuk ST3 juga. Saya telah membuat tautan simbolis di /usr/local/bin/sublmana menunjuk ke /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl. Saya bahkan telah menambahkan export PATH=/usr/local/bin:$PATHdan export EDITOR="subl -w"di ~/.bash_profile- tetapi masih tidak berfungsi dan saya mendapatkan kesalahan yang sama.
rs77

Saya mengalami masalah aneh dimana saya harus benar-benar membuka folder subl untuk mendapatkan perintah untuk dieksekusi. Berikut ini dijalankan: 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] Dan Sublime Text 3 akhirnya terbuka di sesi baru. Saya telah memasang Homebrew dan mengikuti instruksi untuk itu.
Angelfirenze

4
Jika Anda ingin membuka file file.txtdengan Teks Luhur dari baris perintah, perintah itu open -a "Sublime Text" file.txtmungkin lebih cocok.
mareoraft

Perintahnya bukan .subl, itu subl.
the Tin Man

Jawaban:


627

Saya akhirnya dapat ini bekerja pada kotak OSX saya. Saya menggunakan langkah-langkah ini untuk membuatnya bekerja:

  1. Uji subldari instalasi ST Anda:

    Pertama, navigasikan ke folder kecil di Terminal yang Anda ingin ST buka dan masukkan perintah berikut:

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

    CATATAN: Anda mungkin perlu mengganti Sublime\ Text.appperintah di atas ke Sublime\ Text\ 3.appatau Sublime\ Text\ 2.apptergantung di mana aplikasi disimpan di Applicationsdirektori Anda . Pada .akhir perintah di atas membuka direktori kerja Anda saat ini berada (lagi pastikan Anda berada di direktori yang hanya berisi beberapa file!).

    Jika Anda TIDAK mendapatkan Sublime Text membuka direktori kerja Anda saat ini maka langkah-langkah selanjutnya TIDAK akan berfungsi. Jika tidak ada yang terjadi atau Anda mendapatkan kesalahan dari Terminal, itu karena itu tidak dapat menemukan aplikasi Teks Sublime. Ini berarti bahwa Anda harus memeriksa apa yang Anda ketikkan (ejaan, dll.) ATAU bahwa Teks Sublim tidak diinstal!

  2. Periksa ".bash_profile":

    Sekarang saatnya untuk membuat tautan simbolis Anda di PATHfolder Anda , TETAPI, sebelum kita melakukannya, mari kita periksa file profil Anda dengan menggunakan nano ~/.bash_profile. Ini adalah baris-baris berikut yang berhubungan dengan sublbekerja pada baris perintah untuk Sublime Text:

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

    Baris pertama mengatur lokasi di mana Anda ingin Terminal mencari binari di mesin Anda, saya akan menyimpan tautan simbolis saya di /usr/local/bin direktori - saya kira Anda bisa menyimpannya di mana saja asalkan Anda memberi tahu Terminal tempat mencari binari.

    Baris kedua adalah OPTIONAL dan hanya menetapkan Sublime Text sebagai editor default. Bendera -wtelah ditambahkan dan Anda dapat mengetahui lebih lanjut tentang bendera dengan membuka Sublime Text docs: ST3 subl atau ST2 subl

    Jika Anda melakukan pengeditan pada file ini setelah Anda menutupnya, Anda perlu menjalankan perintah:

    source ~/.bash_profile 
    

    untuk mengkompilasi hasil edit Anda yang baru diterapkan. Jika Anda melihat kesalahan setelah sumber file Anda memperbaikinya sebelum pindah ke langkah terakhir.

  3. Buat tautan simbolis ke Teks Luhur:

    Sekarang di jalur yang Anda pilih (saya menggunakan /usr/local/bin) Anda sekarang masukkan perintah berikut:

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

    The /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/sublmenjadi PERSIS lokasi yang sama dengan apa yang Anda masukkan dan diverifikasi sebagai bekerja di STEP 1 di atas. The /usr/local/bin/sublmenjadi lokasi di mana Anda ingin link simbolik yang akan berlokasi - perlu menjadi salah satu dari AndaPATH lokasi dari STEP 2 di atas.

    Sekarang ketika Anda menavigasi ke folder atau file yang ingin Anda buka di Sublime Text Anda sekarang hanya memasukkan subldiikuti dengan nama file atau .untuk membuka direktori kerja saat ini.


3
Saya punya masalah dengan ST3 di mana ketika saya pertama kali mengetik subl .saya akan mendapatkan editor Sublime dipanggil untitleddan tidak merujuk file apa pun di direktori saya. Melakukan export EDITOR='subl -w'untuk .bash_profilememperbaiki ini.
Richard Ortega

4
Ini bekerja untuk saya tetapi saya harus menghapus symlink ke file subl lama dulu.
Giles Butler

3
ini bekerja dengan baik sampai langkah terakhir. Saya mendapatkan ln: /usr/subl: Permission deniedPikiran?
stevenspiel

2
Saya rasa saya menemukan jawabannya di sini stackoverflow.com/questions/10196449/…
stevenspiel

1
Seperti yang ditemukan @ mr.musicman, Anda mungkin perlu menggunakan sudodi depan perintah di langkah 3.
Sarah Lewis

312

Untuk MAC 10.8+:

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

bekerja.


1
Saya harus menggunakan direktori home, ~, alih-alih / usr / bin, untuk membuat ini berfungsi untuk saya ... "sudo ln -s / Applications / Sublime \ Text.app/Contents/SharedSupport/bin/subl ~ / bin / subl "
Ben Haley

Ini bekerja tetapi itu tidak membuka lipatan yang sama di mana saya berlari Subl
Jitendra Vyas

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

Bekerja pada OS X 10.10.4
Kuchi

59
@Tinple Ini berfungsi di 10.11 sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl Lihat jawabannya di sini untuk alasannya - apple.stackexchange.com/questions/196224/…
Ross

152

Asumsi:

  • Anda sudah menginstal Homebrew.
  • / usr / local / bin ada di $ PATH Anda.
  • Anda berada di Yosemite atau El Capitain.

MacOS Sierra 10.12.5 berfungsi dengan baik dikonfirmasi oleh David Rawson dan MacOS Sierra 10.12.6 dikonfirmasi oleh Alexander K.

Jalankan skrip berikut di Terminal untuk membuat symlink spesifik.

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

Kemudian:

subl .

Tekan Returndan itu akan langsung membuka Sublime Text.


3
@ChutipongRoobklom Terima kasih. Ini berhasil untuk saya macOS Sierra Version: 10.12 (16A323).
Subhajit

Bekerja pada macOS Sierra 10.12.5. Terima kasih
David Rawson

3
Dapat mengkonfirmasi bahwa berfungsi di macOS Sierra 10.12.6 juga. Terima kasih!
Alexander K.

jalur teks luhur saya berbeda saya kira karena saya menggunakan luhur 2 ln -s / Aplikasi / Sublime \ Text \ 2.app/Contents/SharedSupport/bin/subl / usr / local / bin / subl
talsibony

1
Bekerja pada High Sierra OSX 10.13.3
chichilatte

66

Ini bekerja untuk saya (saya menggunakan OS X Mavericks)

Pertama, buat tautan simbolis:

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

Sekarang Anda dapat membuka dengan luhur

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

1
Saya harus sudo rm / usr / bin / subl untuk membuatnya berfungsi pada OSX 10.9, terima kasih!
dnlcrl

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

mengapa kita membutuhkan penawaran? itu bekerja dengan kutipan untuk saya, tetapi tidak berhasil tanpa mereka?
vgrinko

11
ln: / usr / bin / subl: Operasi tidak diizinkan
Ken Ratanachai S.

16
@KenRatanachaiS. Gunakan /usr/local/bin/subl, bukan /usr/bin/subl.
Josh Foskett

65

Saya menggunakan oh-my-zsh di Mac OSX Mavericks dan tautan simbol tidak berfungsi untuk saya, jadi saya menambahkan alias di file .zshrc saya sebagai gantinya:

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

Buka terminal baru dan Anda harus pergi, dan mengetik subl.


Sama di sini, tapi untuk Bash.
merqlove

2
Sama di sini, ini bekerja untuk saya, tetapi saya perlu mengubahnya ke Sublime text 2 dengan string ini: "Sublime \ Text \ 2.app/"
Joshua Soileau

Ini untuk ST 2 kurasa. ST 3 hadir dengan CLI tetapi saya belum bisa menjalankannya.
atilkan

@emrah Saya menggunakan ST3
Thomas Bindzus

@ThomasBindzus saya tahu nanti. Terima kasih.
atilkan

43

Yang akan saya gunakan sangat sederhana.

open -a "sublime text" [file]

ini membuka teks yang luhur segera. Anda dapat menentukan file yang akan dibuka sebagai parameter opsional, misalnya untuk membuka "myfile.txt" di direktori saat ini.


3
Jika Anda mengakses lebih cepat, Anda dapat membuat alias. Ketik nano .bash_profile dan tempel di: alias subl = "open -a 'sublime text'"
mbokil

1
Terima kasih! Itu satu-satunya solusi yang bekerja untuk saya. Untuk membuatnya terbuka di tab baru di jendela yang ada (bukan yang baru), lihat stackoverflow.com/questions/9961350/...
Dennis Golomazov

Saya pikir ini adalah pilihan terbersih dari semuanya. Terima kasih!
grooveplex

Bagaimana Anda memodifikasi ini sehingga akan membuat file yang sebenarnya tidak ada? Saya tahu cara menggunakan sublimetext terbuka untuk membuka file yang ada, tetapi jika saya membuat file teks baru, apa yang harus saya ubah skrip terbuka?
esaruoho

28

Ada cara mudah untuk melakukan ini. Hanya membutuhkan beberapa langkah dan Anda tidak perlu menggunakan terlalu banyak baris perintah. Jika Anda baru ke baris perintah, ini adalah cara untuk melakukannya.

Langkah 1: Menemukan file bin untuk meletakkan file yang dapat dieksekusi

  1. Buka terminal
  2. ketik cd ..--------------------- ini harus kembali direktori
  3. ketik ls------------------------ untuk melihat daftar file dalam direktori
  4. ketik cd ..--------------------- hingga Anda mendapatkan folder yang berisi usr
  5. ketik open usr--------------- ini akan membuka finder dan Anda akan melihat beberapa folder
  6. buka folder bin ------- ini adalah tempat Anda akan menyalin file executable agung Anda.

Langkah 2: Menemukan file yang dapat dieksekusi

  1. buka finder
  2. Di bawah file, buka jendela pencari baru (CMD + N)
  3. Arahkan ke folder aplikasi
  4. temukan Sublime Text dan klik kanan sehingga Anda mendapatkan menu pull-down
  5. Klik pada Tampilkan Konten Paket
  6. Buka Konten / SharedSupport / nampan
  7. Salin file subl
  8. Tempel di folder bin di folder usr yang kami temukan sebelumnya
  9. Dalam jenis terminal dalam subl-------------- ini harus membuka Teks Sublime

Pastikan itu disalin dan itu bukan jalan pintas. Jika Anda memiliki masalah, lihat folder usr / bin sebagai ikon dan tempelkan subl di area kosong di folder. Seharusnya tidak ada panah pintas di gambar ikon.


Setelah mencoba jawaban yang lain, yang ini adalah satu-satunya yang bekerja untuk saya. Mac OS X Yosemite 10.10.1.
tmthyjames

Ini tidak berfungsi untuk saya di Mac OS X El Capitan - Saya tidak dapat menyalin ke file. Namun, jawaban Chutipong Roobklom berhasil.
CodeBiker

Pada El Capitan ke atas, Anda perlu menempelkan file subl di folder / usr / local / bin. Jadi ikuti langkah 2 ke titik 6, buka di terminal dan jalankan perintah sudo cp subl / usr / local / bin. Ini karena fitur Perlindungan Integritas Sistem yang baru.
PeeJee

18

Coba ini.

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

^ Gunakan yang ini. Tautan lunak ke / usr / * local * / bin.
guice

16

Perintah Symlink dari dokumentasi Sublime Text 3 tidak akan berfungsi karena tidak ada ~/bin/direktori di lokasi Home di Mac OS X El Capitan atau yang lebih baru.

Jadi, kita perlu menempatkan symlink pada /usr/local/binpath ini dalam $PATHvariabel kita dalam banyak kasus .

Jadi, perintah berikut harus melakukan trik:

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

Setelah Anda membuat symlink dengan benar, Anda dapat menjalankan Sublime Text 3 seperti ini: subl . (. Berarti direktori saat ini)


12

Anda dapat membuat alias baru di Terminal:

nano ~/.bash_profile

Salin baris ini dan rekatkan ke editor:

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

Tekan control+ x, lalu y, enteruntuk menyimpan dan menutupnya.

Tutup semua jendela Terminal dan buka lagi.

Itu saja, sekarang Anda dapat menggunakan subl filenameatausubl .


11

Harap dicatat untuk tidak menulis /usr/bintetapi untuk /usr/local/bin. Yang pertama adalah untuk aplikasi yang menulis sendiri biner ke dalam sistem dan yang terbaru adalah untuk penggunaan spesifik dari membuat binari seluruh sistem kami sendiri (yang merupakan kasus kami di sini saat symlinking).

Juga /usr/local/bindibaca setelah /usr/bindan karenanya juga merupakan tempat yang baik untuk menimpa aplikasi default apa pun.

Mempertimbangkan hal ini, symlinking yang tepat adalah:

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


10

Di OS X Mavericks menjalankan Sublime Text 2 berikut ini bekerja untuk saya.

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

Sangat berguna untuk menemukan file di finder dan drag dan drop itu ke jendela terminal sehingga Anda dapat yakin pathnya adalah yang benar, saya bukan pengguna terminal yang besar jadi ini lebih nyaman bagi saya. maka Anda dapat pergi ke awal jalan dan mulai menambahkan di bagian lain seperti perintah UNIX steno. Semoga ini membantu


9

Berhasil !!!! untuk saya di MacOS Sierra 10.12.2

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

dan menemukannya di terminal subl


9

Tutup Sublim. Jalankan perintah ini. Ini akan menghapus instalannya. Anda tidak akan kehilangan prefs Anda. Kemudian jalankan lagi. Ini akan secara otomatis mengikat subl.

brew install Caskroom/cask/sublime-text

2
Ini akhirnya berhasil, terima kasih banyak untuk memposting ini! Saya sudah mencoba menjalankan ST3 dari baris perintah selama berbulan-bulan setelah symlink asli rusak karena suatu alasan. Bagaimanapun, terima kasih!
Angelfirenze

Terima kasih, ini berhasil, tetapi hanya menjalankannya dua kali tidak cukup, harus menghapus sublim yang ada sudo rm -rfpada direktori sublim di folder aplikasi terlebih dahulu.
kapulaga

7

Menambahkan ini ke ur .bashrc atau .zshrc adalah solusi sederhana.

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

6

Anda tidak boleh mencemari direktori / usr / bin kecuali Anda memang perlu melakukannya. Saya selalu menggunakan / usr / local / bin untuk binari yang tidak dikelola oleh manajer paket distribusi. Mengapa? Karena jika manajer paket diperbarui, selalu akan mengganti file di / usr / bin.

Jadi yang akan saya lakukan adalah

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


5

jika Anda memiliki subl yang diatur untuk dipanggil dari baris perintah, perintah yang tepat untuk membuka direktori saat ini adalah:

subl .

" OS X Command Line " adalah tautan tentang cara memastikan semuanya sudah diatur.


Ia kembaliln: /Users/###/bin/subl: No such file or directory
user1405049

apakah Anda melihat tautan di bagian bawah jawaban saya? coba ikuti perintahln -s "/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" ~/bin/subl
danmanstx

@danmanstx Saya telah membuat tautan simbolik di /usr/local/bindirektori saya namun tetap memberi saya kesalahan. Saya perhatikan bahwa paket ST3 saya telah diinstal di /Applications/Sublime Text.app/...dan telah membuat perbedaan ketika membuat tautan simbolis saya. Namun kesalahan tetap ada - saya pikir itu ada hubungannya dengan .bash_profilefile saya .
rs77

Dalam kasus saya, tautannya menunjuk keln -s /Volumes/Macintosh\ HD/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
NicolásKittsteiner

5

Anda bisa menambahkan alias

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

Maka Anda harus dapat membuka folder atau apa pun dengan

subl <path>

3

Bagi siapa pun yang ingin membuka file dengan Sublime di mac dari terminal

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

3

Ini untuk membuatnya berfungsi sebagai ALIAS, bukan tautan Simbolik!

Ini akan memungkinkan Anda untuk menjalankan perintah tambahan di terminal tanpa mengganggu sesi subl. Menggunakan banyak jawaban tautan simbolik di sini ( ln -s), menyebabkan proses terminal bertahan saat menggunakan teks Sublime. Jika Anda ingin pemisahan, buat alias di profil Bash seperti:

  1. Uji subldari instalasi ST Anda:

    Pertama, navigasikan ke folder di Terminal yang Anda ingin ST buka dan masukkan perintah berikut:

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

    CATATAN: Anda mungkin perlu mengganti Sublime\ Text.appperintah di atas ke Sublime\ Text\ 3.appatau Sublime\ Text\ 2.apptergantung di mana aplikasi disimpan di Applicationsdirektori Anda . Pada .akhir perintah di atas membuka direktori kerja Anda saat ini berada (lagi pastikan Anda berada di direktori yang hanya berisi beberapa file!).

    Jika Anda TIDAK mendapatkan Sublime Text membuka direktori kerja Anda saat ini maka langkah-langkah selanjutnya TIDAK akan berfungsi. Jika tidak ada yang terjadi atau Anda mendapatkan kesalahan dari Terminal, itu karena itu tidak dapat menemukan aplikasi Teks Sublime. Ini berarti bahwa Anda harus memeriksa apa yang Anda ketikkan (ejaan, dll.) ATAU bahwa Teks Sublim tidak diinstal!

  2. Periksa dan perbarui ".bash_profile":

    Sekarang tambahkan alias di Profil Bash Anda. Buka via vim ~/.bash_profile. Ini adalah baris-baris berikut yang berhubungan dengan sublbekerja pada baris perintah untuk 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'
    

    Saya sarankan selalu mengomentari kode Anda di sini dengan ##. Baris kedua adalah OPTIONAL dan hanya menetapkan Sublime Text sebagai editor default. Bendera -wtelah ditambahkan dan Anda dapat mengetahui lebih lanjut tentang bendera dengan membuka Sublime Text docs: ST3 subl atau ST2 subl

    Jika Anda memang mengedit file ini setelah Anda menutupnya, Anda perlu sourcefile ini di sesi Anda saat ini atau tutup terminal (tab) dan buka yang baru. Anda dapat sourcefile ini dengan menjalankan perintah source ~/.bash_profileSelesaikan kesalahan sebelum pindah ke langkah terakhir.


2

Saya akan menambahkan bahwa jika Anda meningkatkan dari Sublime Text 2, masuk ke / usr / bin dan hapus subl lama Anda terlebih dahulu sebelum mengikuti instruksi yang sama di atas. Layak untuk ditingkatkan.


2

Saya mencapai ini hanya dengan satu jalur di terminal (dengan Sublime 3):

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

2

Saya menggunakan mac airbook untuk membuka terminal dan ketik

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

Kemudian ketikkan subl sederhana dan nama file

 subl index.py

Lihat di bawah, gunakan yang dengan / usr / * local * / bin. Cobalah untuk tidak menambahkan softlink khusus ke direktori sistem.
Guice

0

Saya menggunakan Oh-My-Zshell dan alias sebelumnya menyatakan tidak bekerja untuk saya jadi saya menulis fungsi bash sederhana yang akan memungkinkan Anda untuk membuka Sublime dari baris perintah dengan menggunakan sublimeuntuk membuka folder saat ini di editor. Dengan fungsionalitas tambahan untuk menentukan file untuk membuka editor.

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

Penggunaan untuk membuka folder saat ini di terminal:

$ sublime

Penggunaan untuk membuka folder tertentu:

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

0

Ringkas berbagai cara yang bisa Anda lakukan untuk mencapainya:

  1. Untuk membuka teks luhur dari terminal
open /Applications/Sublime\ Text.app/
  1. Untuk membuka file tertentu di jalur saat ini (atau memberikan jalur ke file yang perlu Anda buka) menggunakan teks luhur
open -a /Applications/Sublime\ Text.app/ myFileToOpen.txt
  1. Buat perintah Anda singkat dengan memperkenalkan alias baru bernama 'luhur' dan menggunakannya

    Sebuah. buka bash_profile:

    nano ~/.bash_profile

    b. salin baris ini untuk membuat alias dan simpan dan restart terminal

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

    c. penggunaan: apple.txt akan terbuka dengan teks luhur (berikan jalur file jika perlu)

    sublime apple.txt


-1

Saya menggunakan mac dan ini bekerja untuk saya:

open /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.