Ouvrez Sublime Text depuis le terminal sous macOS


417

Dans le terminal lorsque j'utilise .subl

Il revient -bash: .subl: command not found

Quelqu'un sait-il comment ouvrir Sublime Text 3 à partir de la ligne de commande dans macOS?


3
Comment en êtes-vous arrivé là? J'ai aussi des problèmes avec sublST3. J'ai créé le lien symbolique dans /usr/local/bin/subllequel pointe /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl. J'ai même ajouté export PATH=/usr/local/bin:$PATHet export EDITOR="subl -w"dans mon ~/.bash_profile- pourtant cela ne fonctionne toujours pas et j'obtiens la même erreur.
rs77

J'ai un problème étrange dans lequel je dois réellement ouvrir le dossier subl pour obtenir la commande à exécuter. L'exécution suivante s'exécute: 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] Et Sublime Text 3 s'ouvre enfin dans une nouvelle session. J'ai installé Homebrew et j'ai suivi les instructions pour cela.
Angelfirenze

4
Si vous souhaitez ouvrir le fichier file.txtavec Sublime Text à partir de la ligne de commande, la commande open -a "Sublime Text" file.txtpeut être mieux adaptée.
mareoraft

La commande ne l'est pas .subl, elle l'est subl.
The Tin Man

Réponses:


627

J'ai finalement réussi à faire fonctionner ma boîte OSX. J'ai utilisé ces étapes pour le faire fonctionner:

  1. Testez subldepuis votre installation ST:

    Tout d'abord, accédez à un petit dossier dans Terminal que vous souhaitez que ST ouvre et entrez la commande suivante:

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

    REMARQUE: vous devrez peut-être remplacer Sublime\ Text.appdans la commande ci-dessus Sublime\ Text\ 3.appou Sublime\ Text\ 2.appselon l'endroit où l'application est stockée dans votre Applicationsrépertoire. La .fin de la commande ci-dessus ouvre le répertoire de travail actuel dans lequel vous vous trouvez (assurez-vous à nouveau que vous êtes dans un répertoire qui ne contient que quelques fichiers!).

    Si vous n'obtenez PAS Sublime Text ouvrant votre répertoire de travail actuel, la prochaine série d'étapes ne fonctionnera PAS. Si rien ne se passe ou si vous obtenez une erreur du terminal, ce sera parce qu'il n'a pas pu trouver l'application Sublime Text. Cela signifierait que vous devriez vérifier ce que vous avez tapé (orthographe, etc.) OU que Sublime Text n'est pas installé!

  2. Vérifiez ".bash_profile":

    Il est maintenant temps de créer votre lien symbolique dans votre PATHdossier, MAIS, avant de le faire, vérifions votre fichier de profil à l'aide de nano ~/.bash_profile. Ce sont les lignes suivantes qui concernent le subltravail sur la ligne de commande pour Sublime Text:

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

    La première ligne définit l'emplacement où vous voulez que Terminal recherche des binaires sur votre machine, je vais stocker mon lien symbolique dans le /usr/local/binrépertoire - je suppose que vous pouvez le stocker n'importe où à condition que vous ayez informé Terminal où rechercher les binaires.

    La deuxième ligne est FACULTATIVE et définit simplement Sublime Text comme éditeur par défaut. Le drapeau -wa été ajouté et vous pouvez en savoir plus sur les drapeaux en accédant aux documents Sublime Text: ST3 subl ou ST2 subl

    Si vous apportez des modifications à ce fichier une fois que vous l'avez fermé, vous devez exécuter la commande:

    source ~/.bash_profile 
    

    pour compiler vos modifications nouvellement appliquées. Si vous voyez des erreurs après avoir obtenu votre fichier, corrigez-les avant de passer à l'étape finale.

  3. Créez un lien symbolique vers Sublime Text:

    Maintenant, dans le chemin que /usr/local/binvous avez choisi (j'ai utilisé ), vous entrez maintenant la commande suivante:

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

    L' /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/sublêtre EXACTEMENT au même endroit que ce que vous avez entré et vérifié comme fonctionnant à l'ÉTAPE 1 ci-dessus. L' /usr/local/bin/sublêtre étant l'endroit où vous souhaitez que le lien symbolique soit situé - doit être l'un de vos PATHemplacements à partir de l'ÉTAPE 2 ci-dessus.

    Maintenant, lorsque vous accédez à un dossier ou un fichier que vous souhaitez ouvrir dans Sublime Text, il vous suffit maintenant d'entrer sublsuivi du nom du fichier ou .d'ouvrir le répertoire de travail actuel.


3
J'ai eu un problème avec ST3 où quand je tapé subl .je recevrais un éditeur Sublime appelé untitledet il n'a pas fait référence à tous les fichiers dans le répertoire que j'étais. Faire export EDITOR='subl -w'à mon .bash_profilefixe cela.
Richard Ortega

4
Cela a fonctionné pour moi, mais j'ai d'abord dû supprimer le lien symbolique vers l'ancien fichier subl.
Giles Butler

3
cela a fonctionné à merveille jusqu'à la dernière étape. Je reçois des ln: /usr/subl: Permission deniedpensées?
stevenspiel

2
Je pense avoir trouvé la réponse ici stackoverflow.com/questions/10196449/…
stevenspiel

1
Comme l'a trouvé @ mr.musicman, vous devrez peut-être utiliser sudodevant la commande à l'étape 3.
Sarah Lewis

312

Pour MAC 10.8+:

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

travaillé.


1
J'ai dû utiliser le répertoire personnel, ~, au lieu de / usr / bin, pour que cela fonctionne pour moi ... "sudo ln -s / Applications / Sublime \ Text.app/Contents/SharedSupport/bin/subl ~ / bin / subl "
Ben Haley

Cela fonctionne, mais il n'ouvre pas le même plié où j'ai couru Subl
Jitendra Vyas

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

A travaillé sur OS X 10.10.4
Kuchi

59
@Tinple Cela fonctionne en 10.11 sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl Voir la réponse ici pour savoir pourquoi - apple.stackexchange.com/questions/196224/…
Ross

152

En supposant:

  • Vous avez déjà installé Homebrew.
  • / usr / local / bin est dans votre $ PATH.
  • Vous êtes sur Yosemite ou El Capitain.

MacOS Sierra 10.12.5 fonctionne également confirmé par David Rawson et MacOS Sierra 10.12.6 confirmé par Alexander K.

Exécutez le script suivant dans Terminal pour créer le lien symbolique spécifique.

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

Alors:

subl .

Hit Returnet il devrait ouvrir instantanément Sublime Text.


3
@ChutipongRoobklom Merci. Cela a fonctionné pour moi macOS Sierra Version: 10.12 (16A323).
Subhajit

Travailler sur macOS Sierra 10.12.5. Merci
David Rawson

3
Peut également confirmer que cela fonctionne sur macOS Sierra 10.12.6. Je vous remercie!
Alexander K.

mon chemin de texte sublime était différent, je suppose que c'est parce que j'utilise sublime 2 ln -s / Applications / Sublime \ Text \ 2.app/Contents/SharedSupport/bin/subl / usr / local / bin / subl
talsibony

1
Fonctionne sur High Sierra OSX 10.13.3
chichilatte

66

Cela a fonctionné pour moi (j'utilise OS X Mavericks)

Créez d'abord un lien symbolique:

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

Maintenant, vous pouvez ouvrir sublime avec

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

1
J'ai dû sudo rm / usr / bin / subl pour le faire fonctionner sur OSX 10.9, merci!
dnlcrl

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

pourquoi avons-nous besoin de devis? cela fonctionne avec des guillemets pour moi, mais ne fonctionne pas sans eux?
vgrinko

11
ln: / usr / bin / subl: opération non autorisée
Ken Ratanachai S.

16
@KenRatanachaiS. Utilisez /usr/local/bin/subl, au lieu de /usr/bin/subl.
Josh Foskett

65

J'utilise oh-my-zsh sur Mac OSX Mavericks et le lien de symbole ne fonctionnait pas pour moi, j'ai donc ajouté un alias dans mon fichier .zshrc à la place:

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

Ouvrez un nouveau terminal et vous devriez être prêt à taper subl.


Même chose ici, mais pour Bash.
merqlove

2
De même ici, cela a fonctionné pour moi, mais je devais le changer en texte sublime 2 avec cette chaîne: "Sublime \ Text \ 2.app/"
Joshua Soileau

C'est pour ST 2 je suppose. ST 3 est livré avec CLI mais je ne peux pas encore l'exécuter.
atilkan

@emrah J'utilise ST3
Thomas Bindzus

@ThomasBindzus J'ai compris plus tard. Merci.
atilkan

43

Celui que j'utiliserai est très simple.

open -a "sublime text" [file]

cela ouvre tout de suite le texte sublime. Vous pouvez spécifier le fichier à ouvrir comme paramètre facultatif, par exemple pour ouvrir "monfichier.txt" dans le répertoire courant.


3
Si vous accédez plus rapidement, vous pouvez créer un alias. Tapez nano .bash_profile et collez-le: alias subl = "open -a 'sublime text'"
mbokil

1
Je vous remercie! C'est la seule solution qui a fonctionné pour moi. Pour l'ouvrir dans un nouvel onglet de la fenêtre existante (pas dans une nouvelle), voir stackoverflow.com/questions/9961350/…
Dennis Golomazov

Je pense que c'est l'option la plus propre de toutes. Merci!
grooveplex

Comment modifiez-vous cela pour qu'il crée un fichier qui n'existe pas réellement? Je sais comment utiliser open -a sublimetext pour ouvrir un fichier qui existe, mais si je crée un nouveau fichier texte, à quoi dois-je modifier le script open?
esaruoho

28

Il existe un moyen simple de procéder. Cela ne prend que quelques étapes et vous n'avez pas besoin d'utiliser trop la ligne de commande. Si vous êtes nouveau sur la ligne de commande, c'est la façon de le faire.

Étape 1: recherche du fichier bin dans lequel placer le fichier exécutable sublime

  1. Ouvrez le terminal
  2. tapez cd ..--------------------- cela devrait remonter un répertoire
  3. tapez ls------------------------ pour voir une liste de fichiers dans le répertoire
  4. tapez cd ..--------------------- jusqu'à ce que vous obteniez un dossier contenant usr
  5. tapez open usr--------------- cela devrait ouvrir le viseur et vous devriez voir certains dossiers
  6. ouvrez le dossier bin ------- c'est ici que vous allez copier votre sublime fichier exécutable.

Étape 2: recherche du fichier exécutable

  1. ouvrir le viseur
  2. Sous fichier, ouvrez une nouvelle fenêtre de recherche (CMD + N)
  3. Accédez au dossier des applications
  4. recherchez Sublime Text et faites un clic droit pour obtenir un menu déroulant
  5. Cliquez sur Afficher le contenu du package
  6. Ouvrez Content / SharedSupport / bin
  7. Copiez le fichier subl
  8. Collez-le dans le dossier bin dans le dossier usr que nous avons trouvé plus tôt
  9. Dans le type de terminal dans subl-------------- cela devrait ouvrir Sublime Text

Assurez-vous qu'il est copié et qu'il ne s'agit pas d'un raccourci. Si vous rencontrez un problème, affichez le dossier usr / bin sous forme d'icônes et collez le subl dans une zone vide du dossier. Il ne doit pas y avoir de flèche de raccourci dans l'image de l'icône.


Après avoir essayé les autres réponses, celle-ci était la seule à travailler pour moi. Mac OS X Yosemite 10.10.1.
tmthyjames

Cela n'a pas fonctionné pour moi sur Mac OS X El Capitan - je n'ai pas pu copier pour archiver. La réponse de Chutipong Roobklom a cependant fonctionné.
CodeBiker

Depuis El Capitan et plus, vous devez coller le fichier subl dans le dossier / usr / local / bin. Suivez donc l'étape 2 au point 6, ouvrez-le dans le terminal et exécutez la commande sudo cp subl / usr / local / bin. Cela est dû à la nouvelle fonctionnalité de protection de l'intégrité du système.
PeeJee

18

Essaye ça.

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

^ Utilisez celui-ci. Liens logiciels vers / usr / * local * / bin.
guice

16

La commande Symlink de la documentation Sublime Text 3 ne fonctionnera pas car il n'y a pas de ~/bin/répertoire dans l'emplacement d'accueil sur Mac OS X El Capitan ou version ultérieure.

Donc, nous devrons placer le lien symbolique sur le /usr/local/bincomme ce chemin serait dans notre $PATHvariable dans la plupart des cas .

Ainsi, la commande suivante devrait faire l'affaire:

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

Une fois que vous avez créé le lien symbolique correctement, vous pourrez exécuter Sublime Text 3 comme ceci: subl . (. Signifie le répertoire courant)


12

Vous pouvez créer un nouvel alias dans Terminal:

nano ~/.bash_profile

Copiez cette ligne et collez-la dans l'éditeur:

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

Appuyez sur control+ x, puis y, puisenter pour l'enregistrer et le fermer.

Fermez toutes les fenêtres du terminal et ouvrez-le à nouveau.

Voilà, vous pouvez maintenant utiliser subl filenameousubl .


11

Veuillez noter de ne pas écrire dedans /usr/binmais plutôt dedans /usr/local/bin. Le premier est pour les applications qui écrivent elles-mêmes le binaire dans le système et le dernier est pour cette utilisation spécifique de la création de nos propres binaires à l'échelle du système (ce qui est notre cas ici lors de la liaison symbolique).

Est également /usr/local/binlu après/usr/bin et est donc également un bon endroit pour remplacer toute application par défaut.

Compte tenu de cela, la bonne liaison symbolique serait:

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


10

Dans OS X Mavericks exécutant Sublime Text 2, les éléments suivants ont fonctionné pour moi.

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

C'est pratique pour localiser le fichier dans le Finder et le glisser-déposer dans la fenêtre du terminal afin que vous puissiez être sûr que le chemin est le bon, je ne suis pas un grand utilisateur de terminal, donc c'était plus confortable pour moi. alors vous pouvez aller au début du chemin et commencer à ajouter dans les autres parties comme les commandes UNIX abrégées. J'espère que cela t'aides


9

Ça marche !!!! pour moi sur MacOS Sierra 10.12.2

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

et le trouver dans le terminal subl


9

Fermez Sublime. Exécutez cette commande. Il le désinstallera. Vous ne perdrez pas vos préférences. Ensuite, exécutez-le à nouveau. Il se liera automatiquement subl.

brew install Caskroom/cask/sublime-text

2
Cela l'a finalement fait, merci beaucoup d'avoir posté ça! J'ai essayé d'obtenir ST3 à partir de la ligne de commande pendant des mois après la rupture du lien symbolique d'origine pour une raison quelconque. Quoi qu'il en soit, merci!
Angelfirenze

Merci, cela a fonctionné, mais il ne suffisait pas de l'exécuter deux fois, il fallait d'abord supprimer le sublime existant sudo rm -rfdans le répertoire sublime du dossier des applications.
cardamome

7

L'ajouter à ur .bashrc ou .zshrc est une solution simple.

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

6

Vous ne devez pas polluer le répertoire / usr / bin sauf si vous en avez vraiment besoin. J'utilise toujours / usr / local / bin pour les binaires qui ne sont pas gérés par le gestionnaire de packages de distribution. Pourquoi? Parce que si le gestionnaire de paquets est mis à jour, il remplacera toujours les fichiers dans / usr / bin.

Donc ce que je ferais c'est

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


5

si vous avez configuré subl pour être appelé à partir de la ligne de commande, la commande appropriée pour ouvrir le répertoire en cours est:

subl .

" OS X Command Line " est un lien sur la façon de s'assurer que tout est configuré.


Il revientln: /Users/###/bin/subl: No such file or directory
user1405049

avez-vous regardé le lien au bas de ma réponse? essayez de suivre la commandeln -s "/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" ~/bin/subl
danmanstx

@danmanstx J'ai créé le lien symbolique dans mon /usr/local/binrépertoire mais il me donne toujours l'erreur. Je note que mon package ST3 a été installé sur /Applications/Sublime Text.app/...et j'ai fait la distinction lors de la création de mon lien symbolique. Pourtant, l'erreur persiste - je pense que cela a quelque chose à voir avec mon .bash_profiledossier.
rs77

Dans mon cas, le lien pointe versln -s /Volumes/Macintosh\ HD/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
NicolásKittsteiner

5

Vous pouvez simplement ajouter un alias

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

Ensuite, vous devriez pouvoir ouvrir un dossier ou autre chose avec

subl <path>

3

Pour tous ceux qui cherchent à ouvrir un fichier avec Sublime sur mac depuis le terminal

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

3

C'est pour le faire fonctionner comme un ALIAS, pas un lien symbolique!

Cela vous permettra d'exécuter des commandes supplémentaires dans le terminal sans interrompre la sous-session. L'utilisation d'un grand nombre des réponses de lien symbolique ici ( ln -s), fait durer le processus terminal tout en utilisant du texte sublime. Si vous voulez la séparation, créez un alias dans le profil Bash comme ceci:

  1. Tester subldepuis votre installation ST:

    Tout d'abord, accédez à un dossier dans Terminal que vous souhaitez que ST ouvre et entrez la commande suivante:

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

    REMARQUE: vous devrez peut-être remplacer Sublime\ Text.appdans la commande ci-dessus Sublime\ Text\ 3.appou Sublime\ Text\ 2.appselon l'endroit où l'application est stockée dans votre Applicationsrépertoire. le.fin de la commande ci-dessus ouvre le répertoire de travail actuel dans lequel vous vous trouvez (assurez-vous à nouveau que vous êtes dans un répertoire qui ne contient que quelques fichiers!).

    Si vous n'obtenez PAS Sublime Text ouvrant votre répertoire de travail actuel, la prochaine série d'étapes ne fonctionnera PAS. Si rien ne se passe ou si vous obtenez une erreur du terminal, ce sera parce qu'il n'a pas pu trouver l'application Sublime Text. Cela signifierait que vous devriez vérifier ce que vous avez tapé (orthographe, etc.) OU que Sublime Text n'est pas installé!

  2. Vérifiez et mettez à jour ".bash_profile":

    Ajoutez maintenant l'alias dans votre profil Bash. Ouvrez-le via vim ~/.bash_profile. Ce sont les lignes suivantes qui concernent le subltravail sur la ligne de commande pour 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'
    

    Je suggère de toujours commenter votre code ici avec ##. La deuxième ligne est FACULTATIVE et définit simplement Sublime Text comme éditeur par défaut. Le drapeau -wa été ajouté et vous pouvez en savoir plus sur les drapeaux en accédant aux documents Sublime Text: ST3 subl ou ST2 subl

    Si vous apportez des modifications à ce fichier une fois que vous l'avez fermé, vous devez accéder à sourcece fichier dans votre session en cours ou fermer le terminal (onglet) et en ouvrir un nouveau. Vous pouvez accéder à sourcece fichier en exécutant la commande source ~/.bash_profileRésoudre les erreurs avant de passer à l'étape finale.


2

J'ajouterais que si vous effectuez une mise à niveau à partir de Sublime Text 2, allez dans / usr / bin et supprimez d'abord votre ancien subl avant de suivre les mêmes instructions ci-dessus. Cela vaut la mise à niveau.


2

J'y parviens avec une seule ligne dans le terminal (avec Sublime 3):

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

2

J'utilise mac airbook ouvrez votre terminal et tapez

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

Tapez ensuite le nom de fichier et le fichier subl.

 subl index.py

Voir ci-dessous, utilisez celui avec / usr / * local * / bin. Essayez de ne pas ajouter de liens logiciels personnalisés dans les répertoires système.
guice

0

J'utilise Oh-My-Zshell et les alias précédents n'ont pas fonctionné pour moi, j'ai donc écrit une fonction bash simple qui vous permettra d'ouvrir Sublime à partir de la ligne de commande en utilisant sublimepour ouvrir le dossier actuel dans l'éditeur. Avec la fonctionnalité d'ajout pour spécifier un fichier à partir duquel ouvrir l'éditeur.

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

Utilisation pour ouvrir le dossier actuel dans le terminal:

$ sublime

Utilisation pour ouvrir un dossier spécifique:

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

0

Résumant les différentes façons de l'accomplir:

  1. Pour ouvrir un texte sublime à partir du terminal
open /Applications/Sublime\ Text.app/
  1. Pour ouvrir un fichier spécifique dans le chemin d'accès actuel (ou fournir le chemin d'accès au fichier que vous devez ouvrir) en utilisant du texte sublime
open -a /Applications/Sublime\ Text.app/ myFileToOpen.txt
  1. Faites votre commande courte en introduisant un nouvel alias nommé «sublime» et utilisez-le

    une. ouvrir bash_profile:

    nano ~/.bash_profile

    b. copiez cette ligne pour créer l'alias et enregistrer et redémarrer le terminal

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

    c. utilisation: apple.txt s'ouvrira avec un texte sublime (fournissez le chemin du fichier si nécessaire)

    sublime apple.txt


-1

Je suis sur un Mac et cela a fonctionné pour moi:

open /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.