2013-10-23 18 views
56

Sto cercando di configurare Sublime Text 3 su OS X Mavericks e ottenere livelli di frustrazione.Sublime Text 3 e Terminal prompt per OS X Mavericks?

Ho seguito tutti i soliti sospetti per quanto riguarda l'installazione e l'impostazione, ad esempio cercare su Google il sito Web di Sublime Text e Stack Overflow. Inevitabilmente è qualcosa di minore che mi manca, ma mi sta causando un forte bruciore di stomaco.

Quello che ho fatto finora:

  1. Scaricato Sublime Text 3, seduto nella mia directory/Applications
  2. seguito la guida Launch Sublime Text 2 from Mac Terminal

I problemi inizia qui. So che il collegamento simbolico presentato in questo collegamento utilizza ST2, ma desidero utilizzare "sublime" anziché "subl" (preferenza personale). Ho cercato in giro e trovato quello che mi serve per incollare nel terminale per ST3:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" ~/usr/local/bin/sublime 
  1. già avuto un ~/.bash_profile: export PATH=/usr/local/bin:$PATH. Tuttavia, quando ho echo $PATH ottengo:

    /usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin 
    

    Questo sembra corretta?

  2. Ora quando digito sublime nel terminale ottengo command not found

Che cosa mi manca. Questo mi sta facendo impazzire mentre cadevo che ho seguito tutti i passaggi, ma ST3 non sta ancora lavorando per me

+1

Sei sicuro che sia ''/usr/local/bin/sublime'' e non ''/usr/local/bin/sublime''? – fjarri

+0

@Bogdan: Ho provato a rimuovere ~, e le virgolette davanti a/Applicazione e le virgolette dopo subl (fai riferimento alla mia domanda originale), ma ora ho 'ln:/usr/local/bin/sublime: No such file o directory'. Ma quando scrivo cd in/usr/local/bin/'posso vedere la lista sublime. Qualche idea? – Zoop

+0

Sembra una domanda generica, non una domanda relativa alla programmazione. – trojanfoe

risposta

127

dovrebbe essere:

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

Avviso ho tolto la tilde (~). Tilde (~) in Unix fa riferimento alla home directory dell'utente, quindi la tua origine era corretta, ma il secondo argomento era collocare il link in/Users/[nome utente]/usr/local/bin/che non è incluso in $ PATH.

Nella tua nota hai detto che hai provato a rimuovere le virgolette dall'argomento sorgente. Se rimuovi le virgolette, devi essere sicuro di sfuggire al carattere dello spazio come segue:

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

Questo dovrebbe funzionare.

+0

Copia/incolla il tuo primo bit di codice nel terminale. Terminale restituisce 'ln:/usr/local/bin/sublime: File esiste '. Quando digito "sublime" nel terminale ho ancora il comando "non trovato". Questa è la fonte della mia confusione/frustrazione. – Zoop

+3

@Zoop, molto probabilmente hai creato '/ usr/local/bin/sublime' quando hai eseguito il comando' ln' senza il ~. Prova 'ls -l/usr/local/bin/sublime' e vedrai qualcosa di simile a:/usr/local/bin/subl ->/Applications/Sublime'. In tal caso, 'rm/usr/local/bin/sublime' e quindi eseguire il comando' ln' che ho fornito di nuovo. – Michael

+0

FISSO. Grazie amico, mi stavo strappando i capelli. Non sono sicuro di quello che ho fatto che ha rovinato tutto, ma è tutto a posto. Corro sublime nel terminale e la finestra ST3 si apre pronta per andare al lavoro. Grazie per l'aiuto - buona! – Zoop

14

Mavericks non viene fornito con una directory ~/bin, ma ho riscontrato che si è verificato un problema durante il tentativo di installare il comando subl in una qualsiasi directory del contenitore di sistema di basso livello.Ho trovato la seguente soluzione lavorato ordinatamente:

Creare una directory ~/bin per l'utente:

mkdir ~/bin 

aggiungere il comando subl come per la documentazione Sublime Text:

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

Aprire/etc/percorsi nel tuo (secondo) editor di testo preferito:

sudo vi /etc/paths 

Aggiungi th La cartella ~/bin dell'utente attivo. Ecco come il mio si occupava di aver aggiunto ~/bin:

~/bin 
/usr/bin 
/bin 
/usr/sbin 
/sbin 
/usr/local/bin 
+0

grazie molto ha funzionato: P –

8

Dopo alcuni giorni di difficoltà con il problema, questo ha funzionato per me.

Assicurarsi di avere ~/usr/bin set in $PATH

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

Se si ottiene un permesso negato errore:

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

Digitare la password.

+1

/usr/bin non è lo stesso di ~/usr/bin. L'autorizzazione negata si verificava se si utilizza/usr/bin. – Frans

+1

So che non sono la stessa cosa. Sto solo dicendo che la soluzione ha funzionato per me. –

10

Invece di avere legami sudo ingombranti per impostare Io preferisco usare una semplice funzione di bash e usare il nativo Mac open comando:

#somewhere in your .bashrc or .zshrc 
sublime() { 
    open -a "Sublime Text" [email protected] 
} 

Ora tutto quello che dovete fare è sublime . ogni volta che si desidera aprire sublime da una determinata cartella. Ovviamente puoi semplicemente rinominarlo subl.

Nota Il nome di scrivere nel parametro -a è il nome dell'applicazione, memorizzato nella cartella del /Applications:

enter image description here

+0

Bello, grazie. Come aprire non una nuova sublime ma in una nuova scheda sublime se un'istanza sublime è già aperta. – Narek

0

Le risposte già date sono tutte belle, ma che dire di fare la tua vita è sempre più semplice e fai affidamento su buoni strumenti;)

  1. Installa "Oh My ZSh" (imho: a must have) https://github.com/robbyrussell/oh-my-zsh
  2. Aprire il file di configurazione: ~/.zshrc
  3. Aggiungi sublime i plugin: plugins = (sublime) (altre raccomandazioni: birra color-man git osx)
  4. Aprire il terminale con gli steroidi e digitare: st foo.txt
  5. Risolvi la beatitudine e leggi le altre cose interessanti che "Oh My ZSh" può fare per te!
0

Se si desidera eseguire Sublime dal terminale, aggiungere quanto segue al file di ~/.bash_profile (~/.zshrc nel caso in cui si utilizza zsh).

subl() { open -n -b "com.sublimetext.3" --args $* ;} 

Ora, è sufficiente digitare subl . in qualsiasi cartella per iniziare a modificare i file in quella cartella.

1

Questo funziona anche per me:

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

di quanto si può scrivere semplicemente:

st filename.file extension 

Si dovrebbe opere. Ho provato tante cose ma questo ha funzionato prima.

Problemi correlati