web-dev-qa-db-fra.com

Ouvrir un dossier dans Sublime Text 3 en utilisant la ligne de commande

J'essaie d'ouvrir un répertoire en sublime Text 3.

Je peux lancer sublime à partir de la ligne de commande en utilisant la commande subl.

Le texte d'aide affiche les éléments suivants:

Sublime Text build 3059

Usage: subl [arguments] [files]         edit the given files
   or: subl [arguments] [directories]   open the given directories
   or: subl [arguments] -               edit stdin

Arguments:
  --project <project>: Load the given project
  --command <command>: Run the given command
  -n or --new-window:  Open a new window
  -a or --add:         Add folders to the current window
  -w or --wait:        Wait for the files to be closed before returning
  -b or --background:  Don't activate the application
  -s or --stay:        Keep the application activated after closing the file
  -h or --help:        Show help (this message) and exit
  -v or --version:     Show version and exit

--wait is implied if reading from stdin. Use --stay to not switch back
to the terminal when a file is closed (only relevant if waiting for a file).

Filenames may be given a :line or :line:column suffix to open at a specific
location.

Ainsi, pour ouvrir un répertoire, je devrais pouvoir utiliser les éléments suivants: 

subl ./folder_name

mais ça ne marche pas pour moi. Sublime s'ouvre (avec un nouveau document vide) et je ne peux pas voir le dossier dans la barre latérale.

Est-ce que je me trompe ...

BTW. J'utilise la coquille de poisson avec l'add-'Oh mon poisson' (j'ai aussi ajouté l'add-on sublime) ... 

30
Ismail Moghul

Mac ou Linux uniquement  

La meilleure façon de procéder consiste à créer un lien symbolique du fichier exécutable Sublime (subl) vers un dossier déjà présent dans votre $ PATH (par exemple, /usr/local/bin/). Si tu fais ça; vous n'aurez pas à mettre cela à jour à chaque fois sublime ...

Pour les utilisateurs de BASH (c'est-à-dire la plupart des utilisateurs):

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

Si cela ne fonctionne pas, créez un dossier bin dans votre répertoire personnel (s'il n'existe pas déjà), ajoutez-le à votre variable PATH et créez un lien vers ce fichier.

mkdir $HOME/bin
export PATH=$HOME/bin:$PATH
ln -s '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' $HOME/bin/subl



Ensuite, avant de commencer à l'utiliser correctement, je vous suggère de jeter un coup d'œil au texte d'aide, qui explique son utilisation:

 subl -h

par exemple.

subl my_folder_name/filename.txt
subl my_folder_name

pour ouvrir un fichier et un dossier dans Sublime respectivement .


Un pas de plus

J'utilise une fonction BASH pour aller un peu plus loin avec les avantages suivants suivants:

  • raccourcissez le raccourci à s (qui est un peu plus court que subl).
  • ouvre automatiquement le répertoire actuel que vous êtes si aucun fichier/répertoire n'est spécifié après subl/s.

Si vous le souhaitez, vous pouvez utiliser cette fonction en exécutant ce qui suit (après avoir exécuté ce qui précède):

cd
subl .bashrc

Cela devrait ouvrir le fichier .bashrc dans Sublime Text. Ajoutez ce qui suit au bas.

function s {
  if [ "$1" != "" ]; then
    subl $1
  else
    subl $PWD
  fi
}   

Ensuite, vous pouvez ouvrir Sublime en tapant simplement une s (tous les arguments sublimes fonctionnent toujours) ...

(Side Point, j'utilise aussi une fonction similaire pour open (pour mac)/ou xdg-open (pour ubuntu); où je raccourcis la commande à o. Je l'utilise beaucoup pour ouvrir le répertoire actuel dans le gestionnaire de fichiers) ...


Utilisateurs de coquillages (vous savez qui vous êtes)

La ligne d'exportation ci-dessus ne fonctionnera pas; alors échangez-le contre ce qui suit

set PATH $HOME/bin:$PATH



Avant édition

J'avais différentes versions du sublime et du sublime texte en ligne de commande trois installés. J'ai simplement supprimé la commande subl puis ré-ajouté et cela a résolu le problème pour moi ...

Pour ceux qui peuvent trouver cela utile, voici ce que j'ai fait:

 subl -v

Cela m'a montré la construction du sublime en ligne de commande. Lorsque j'ai vérifié cela par rapport à la version de mon Sublime actuel, j'ai remarqué que la ligne de commande subl était une version plus ancienne. J'ai donc essayé de trouver l'emplacement de la ligne de commande subl en utilisant la commande suivante (pour moi, c'était /usr/bin/subl):

which subl

J'ai donc d'abord supprimé ce texte sublime plus ancien en ligne de commande.

Sudo rm /usr/bin/subl   (use `Sudo` only if necessary)

Et puis re-ajouté Subl à mon CHEMIN (comme ci-dessus)

55
Ismail Moghul

Pour ouvrir sublime dans le même dossier, vous pouvez simplement taper votre ligne de commande:

subl . 

Pour pouvoir travailler, vous devez configurer certaines choses:

1) Pour empêcher l’ouverture de projets antérieurs, vous devez définir les propriétés suivantes de vos paramètres d’utilisateur Sublime:

"hot_exit": false,
"remember_open_files": false

2) Pour utiliser subl.exe de n’importe où, vous devez ajouter le dossier Sublime dans les variables d’environnement. C'est à dire. C:\Program Files\Sublime Text 3

19
fabio_biondi

J'ai déjà eu ce problème auparavant, sous Mac OSX et Windows, et j'ai trouvé quelques bizarreries.

Mac OSX Vous devez soit déjà ouvrir Sublime Text pour que la commande subl ./folder_name ouvre réellement le dossier, soit vous avez déjà quitté Sublime avec les fenêtres toujours ouvertes - si vous fermez toutes les fenêtres, quittez Sublime en utilisant la commande subl ./folder_name ouvrira simplement une fenêtre Sublime vierge.

Windows Vous devez avoir Sublime ouvert pour que le subl ./folder_name fonctionne. Sans Sublime ouvert, il ne vous reste plus qu'à ouvrir une fenêtre Sublime vierge.

Je n'ai pas encore trouvé le moyen d'ouvrir correctement la commande, peu importe comment vous avez quitté Sublime/lorsque vous avez fermé Sublime.

Essayez d’ouvrir Sublime pendant que vous exécutez la commande et voyez si cela fonctionne.

4
olimortimer

C’est parce que par défaut la barre latérale ne s’affiche pas, vous pouvez afficher la barre latérale par 

View > Side Bar> Show Side Bar

[enter image description here1

2
Ivan Li

J'avais du mal à ouvrir le texte sublime 3 avec le texte sublime 2 actuellement installé. Pour résoudre ce problème: 

1) ouvrez/usr/local/bin depuis le terminal.

2) localiser et supprimer le sous-dossier bin

3) copier et coller '/ Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'/usr/local/bin/subl dans le terminal.

4) localiser le nouveau sous-dossier dans le dossier bin

5) utilisé dans le terminal pour vérifier que la commande ouvre correctement le texte sublime 3.

6) utilisé sous -v et obtenu Sublime Text Build 3083 

1
Jose' C Flores

Pour ouvrir un dossier en tant que projet dans Sublime Text, utilisez subl . lorsque vous vous trouvez dans le dossier que vous essayez d'ouvrir.

Linux Donc, si vous voulez ouvrir ~/Documents/folder_name, déplacez-vous dans ce dossier dans Terminal cd Documents/folder_name et tapez la commande subl .

Note Ceci n’a été testé que dans Ubuntu avec Sublime Text 2.

Modifier Réponse trouvée ici: http://olivierlacan.com/posts/launch-sublime-text-3-from-the-command-line/

1
ncronquist

Bien qu'il y ait déjà plusieurs réponses et je m'excuse d'avoir ajouté au bruit, je ne comprends pas pourquoi vous utilisez subl ./folder_name pour ouvrir un répertoire local. Pourquoi ne pas utiliser subl folder_name/ à la place?

Quoi qu'il en soit, mon installation ST3 (build 3083) sous OS X ouvre un répertoire enfant avec subl ./child ou subl child/, que Sublime soit ouvert avant la commande ou non.

PS: Assurez-vous de ne pas fermer la barre latérale lorsque vous ouvrez des répertoires en exécutant Command + K puis B. J'ai souvent supposé qu'un répertoire ne s'ouvrait pas simplement parce que ma barre latérale était fermée et que je ne pouvais pas voir les fichiers répertoriés à l'intérieur.

0
Olivier Lacan

Il y a probablement un alias avec le nom subl fourni par «Oh mon poisson». Vous pouvez vérifier s'il existe un alias en utilisant la commande alias dans le terminal. Cela affichera tous les alias de votre session. Si vous l'avez sur la liste, il entre en collision avec votre lien symbolique. Désactivez l'alias en corrigeant la source ou en utilisant unalias subl (unalias ne le corrigera que pour la session en cours).

J'ai eu ce problème lors de l'utilisation d'alias bash-it pour osx. Le désactiver a résolu le problème pour moi.

0
Jose Llausas

Pour les utilisateurs Linux et MacOs et Sublime Text 3 Essayez la commande suivante: Subl3

0
Mahrez BenHamad