web-dev-qa-db-fra.com

Texte sublime en ligne de commande

J'ai installé Sublime Text et je voulais savoir comment ouvrir les fichiers rb depuis le terminal. J'ai vu Quelle est la commande pour faire de Sublime Text mon éditeur principal? et je vois que je peux faire de Sublime mon éditeur principal, mais je veux pouvoir taper

sublime file.rb

Comment est-ce que je fais ceci dans Windows?

185
mehulkar

Depuis la compilation 65 (Date de diffusion: le 29 août 2014) à partir du Sublime text inclut un utilitaire de ligne de commande, nameley subl.exe. C'est dans le dossier d'installation de sublime: copiez-le dans un dossier inclus dans le chemin du système. Par exemple, dans mon cas, je l'ai copié

de C:\Program Files\Sublime Text 3

à C:\Windows\System32

Vous pouvez ensuite utiliser dans votre terminal/console subl comme commande pour ouvrir n’importe quel fichier, comme dans votre exemple:

subl file.rb

Ou bien vous pouvez aussi modifier votre variable système PATH pour inclure le dossier d’installation de sublime, mais j’estime que cela est beaucoup plus complexe.

143
sandcastles

Invite de commande Windows

Pour Windows cmd.exe, vous pouvez simplement ajouter le répertoire d’installation de texte sublime à votre variable d’environnement PATH, ce qui vous permettrait de taper:

sublime_text file.rb

Personnellement, j'ajoute un doskey (dans un fichier .bat défini sur autorun avec cmd ) pour pouvoir taper subl file.rb:

> doskey subl="C:\Program Files\Sublime Text 2\sublime_text.exe" $*

Cygwin

Pour le shell bash par défaut, ajoutez un alias à votre fichier ~/.bashrc, par exemple:

$ echo 'alias subl="/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"' >> ~/.bashrc
193
pjumble

J'ai ajouté ceci à mon profil PowerShell :

Set-Alias subl 'C:\Program Files\Sublime Text 2\sublime_text.exe'

Modifiez-le si nécessaire pour Sublime Text 3 (ou toute version ultérieure).

131

Une autre idée serait d’inclure C:\Program Files\Sublime Text 2\ dans votre PATH, puis d’exécuter une invite de commande administrateur:

cd "C:\Program Files\Sublime Text 2\"
mklink sublime.exe sublime_text.exe

Cela fera un lien symbolique avec le nouveau nom. Et maintenant, vous pouvez l'utiliser librement:

sublime hello.txt

Mise à jour: Après avoir eu l'occasion d'utiliser cette astuce et de mettre à jour Sublime Text 2, je suis heureux de dire que la mise à jour vers une nouvelle version n'affecte pas le lien symbolique.

54
John Nelson

J'ai créé subl.bat dans C:\Program Files\Sublime Text 2 avec le contenu:

start sublime_text.exe %*

Maintenant que j'ai C:\Program Files\Sublime Text 2 dans PATH, je peux simplement taper 'sous-dossier' et cela fonctionne à merveille sans rien ajouter à démarrer automatiquement.

24
mblsha

Je pense que cela est plus facile définir le variable d'environnement dans Windows.

Alors juste ajouter un nouvea Variable système appelée SUBLIME_HOME avec la valeur "C :\Program Files\Sublime Text 2\" (sans guillemets) après avoir modifié la variable Chemin en ajoutant à la fin cette valeur ";% SUBLIME_HOME%" (sans guillemets) .

Redémarrez le git BASH et amusez-vous, en utilisant comme ceci:

$ sublime_text mi-new-file

(où sublime_text est la commande)

Remarque: Fonctionne également maintenant pour cmd de Windows.

17
glrodasz

Ajoutez le dossier d'installation au chemin Windows et vous pourrez ouvrir Sublime en tapant le nom du fichier exécutable, qui est par défaut "subl".

Pour inclure le dossier d’installation de Sublime dans le chemin Windows,

  1. Ouvrez l'invite de commande et tapez sysdm.cpl
  2. Dans l'onglet Avancé, sélectionnez Environment variables
  3. Sous variables système, sélectionnez la variable nommée "Path" et cliquez sur Edit.
  4. Ajoutez "C:\Program Files\Sublime Text 3;" à la fin de la chaîne existante.
  5. Enregistrez les modifications et redémarrez la commande Invite.
12
notsopopularguy

Je sais que ce fil est un peu vieux, mais j'ai récemment proposé cette solution et je pensais le partager ...

Si vous utilisez Cygwin, vous pouvez créer un script bash qui convertira les noms de chemin d'accès unix en chemins Windows et les transmettra à sublime. Collez ce qui suit dans un nouveau fichier:

#!/bin/bash

/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe `cygpath -w $@` &

Enregistrez-le dans /usr/bin/subl (ou où vous voulez, à condition que l'emplacement se trouve dans votre $PATH) et rendez-le exécutable ($ chmod a+x /usr/bin/subl).

Avec ce script, vous pouvez utiliser les chemins de style UNIX et Windows (/cygdrive/c/ ou C:/), car l'utilitaire cygpath convertit les alias de chemin / et ~. leurs fenêtres équivalentes.

Maintenant, vous pouvez utiliser $ subl file1.txt file2.md ~/file3.txt pour ouvrir ces fichiers en sublime!

10
Josh

J'essaie Ruby sur Rails dans Windows et inclut le chemin PATH C:\Program Files\Sublime Text 2\, puis change le nom sublime.exe en subl.exe.

a bien fonctionné dans les cmd standard et "Invite de commandes avec Ruby et Rails" cmd

8
user1973194

Le réponse acceptée ne semble pas fonctionner, du moins pour Sublime Text 3 sous Windows 7. Copier le fichier directement dans C:\Windows\System32 permet à subl de résoudre correctement à partir du Shell, mais quand je le lance, rien ne se passe.

J'ai eu plus de succès avec un lien dur:

mklink /h c:\windows\system32\subl.exe "c:\Program Files\Sublime Text 3\subl.exe"

Avec cela, subl <file.txt> et subl <directory> fonctionnent correctement.

8
pneumatics

essaye ça:

alias subl='"/c/Program Files/Sublime Text 2/sublime_text.exe"'

assurez-vous que le sublime installe quel répertoire. Il va créer l'alias pour sublime puis tapez:

subl file.rb
4
Vishnu Mishra

J'ai créé un simple fichier de commandes (s.bat) dans le répertoire windows pour démarrer le texte sublime

Voici le code que j'ai mis dans le fichier de commandes pour démarrer Sublime Text 2

@start "sublime" "%ProgramW6432%\Sublime Text 2\sublime_text.exe" %*

J'appelle sublime en tapant

s

J'ouvre directement un fichier en utilisant

s filename.ext
4
Clooner

Je viens d'exécuter le programme d'invite de commande en tant qu'administrateur et d'exécuter la commande suivante.
Simple, mais fonctionne pour moi.

echo "c:\Program Files\Sublime Text 3\subl.exe" %1 > %systemroot%\system32\subl.bat

Bien sûr, vous pouvez appeler le fichier chauve-souris comme vous le souhaitez. À partir de là, comme tout utilisateur, vous pouvez simplement utiliser:

subl myfile.txt
4
digarok

Si vous utilisez Cmder, vous pouvez ajouter l’alias à votre fichier d’alias, qui se trouve où que vous ayez installé cmder, puis config\aliases

Vous pouvez ensuite ajouter (ceci est pour le texte sublime 3)

subl="C:\Program Files\Sublime Text 3\sublime_text.exe" $1

Depuis Cmder, vous pouvez ouvrir n'importe quel répertoire en sublime via

subl="C:\Program Files\Sublime Text 3\sublime_text.exe" $1
4
Samwise

créer dans le registre:

HKEY_LOCAL_MACHINE\LOGICIEL\Microsoft\Windows\CurrentVersion\App Paths\sublime.exe

mettre à jour la valeur du paramètre par défaut (REG_SZ) pour:

C:\Program Files\Sublime Text 2\sublime_text.exe

3
feech
  • Définissez le chemin d'accès pour sublime: Mon ordinateur >> Propriétés >> Paramètres avancés >> Variables d'environnement >> Chemin variable >> Ajouter >> C:\Program Files\Sublime Text 3

  • Allez simplement dans le répertoire où sublime est installé et renommez sublime_text en sublime.

Ouvrez la commande Invite et tapez sublime.

3
pratik_nalage

Je voulais démarrer une nouvelle instance de Sublime Text à partir de la ligne de commande. La page suivante m'a aidée, même si elle ne dit que OSX: http://www.sublimetext.com/docs/3/osx_command_line. html .

Donc, j'utilise un fichier de commandes dans mon chemin d'utilisateur pour lancer "sublime". Voici en gros ce que j'utilise (** le contenu du fichier de commandes):

@start "sublime" "%~dp0Sublime Text\sublime_text.exe" --new-window %*

(mon fichier de commandes %~-dp0 se trouve dans un dossier au-dessus du chemin d'installation de Sublime Text.)

Je sais que c'est un vieux fil, mais je pensais ajouter ce que je cherchais (et que je trouvais). Cela pourrait aider quelqu'un d'autre!

2
wasatchwizard

Sortir de la réponse la plus acceptée, mais son auteur a malheureusement dit que modifier le PATH est "difficile" - ce n'est pas du tout. C'est très facile. Je viens de le faire, et vous pouvez aussi!

Voici ce qu'il faut faire:

Accédez à votre répertoire de texte sublime dans l'Explorateur Windows et copiez le chemin d'accès complet à partir de la barre de chemin.

Par exemple, quelques outils de développement ont été configurés en tant qu'applications portables dans Dropbox. J'ai donc copié le chemin:

C:\Users\username\Dropbox\Programs\Sublime Text Build 3114 x64

Allez dans le Panneau de configuration-> Système-> Paramètres système avancés-> Variables d'environnement.

Dans la fenêtre résultante, accédez à "chemin" dans la fenêtre du bas, mettez-le en surbrillance et cliquez sur "Modifier".

Dans la fenêtre qui apparaît, cliquez sur "Nouveau", collez-le dans le chemin de votre texte sublime, puis cliquez sur "OK".

Maintenant, ouvrez CMD ou Powershell et tapez subl

La fenêtre Texte sublime devrait s'ouvrir. Prendre plaisir!

Remarque: j'ai remarqué que quelqu'un d'autre avait répondu de la même manière, mais utilisait un emplacement fixe pour Sublime Text. Cela peut fonctionner pour certaines personnes, mais pour d'autres, les instructions seront erronées. Le fait est que l'emplacement de texte sublime peut se trouver n'importe où sur le lecteur. Le fait de savoir où il se trouve et de copier cet emplacement particulier est l'une des parties les plus importantes de l'affectation de la variable PATH.

2
AveryFreeman

Cette powershell me permet de diriger vers la fonction d'édition (ou de l'utiliser de manière normale)

function edit
{
    param( [Parameter(ValueFromPipeline=$true,Position=0)] $file )
    begin { set-alias EDITOR 'W:\tools\sublime_text.bat' }
    process { EDITOR $file }
}

voici le sublime_text.bat qui pour une raison quelconque semble nécessaire (quelqu'un sait pourquoi?)

START "Sublime Text 2" "C:\Program Files\Sublime Text 2\sublime_text.exe" %*
2
George Mauer

Vous pouvez simplement installer Notepad Replacer http://www.binaryfortress.com/NotepadReplacer/ ce qu’il va faire est de rendre sublime votre bloc-notes par défaut sous Windows, puis vous pourrez simplement utiliser les commandes que vous utilisez généralement pour ouvrez le bloc-notes intégré dans Windows. par exemple

`//to open test.txt, just type
notepad test.txt
//to open sublime, Type
notepad`
2
Pankaj Barnwal

ajoutez le dossier d'installation de Sublime à votre chemin. @set PATH=C:\Program Files\Sublime Text 3;%PATH%

ou

Pour définir une variable d'environnement de manière permanente dans Windows (afin qu'elle soit disponible pour tous les processus Windows),

start the "Control Panel" ⇒ "System" ⇒ (Vista/7/8) "Advanced system settings" ⇒ Switch to "Advanced" tab ⇒ "Environment variables" ⇒ Choose "System Variables" (for all users) or "User Variables" (for this login user only) ⇒ Choose "Edit" (for modifying an existing variable) or "New" (to create a new variable) ⇒ Enter the variable "Name" and "Value".

dans ce cas, ajoutez C:\Program Files\Sublime Text 3 au chemin.

Maintenant, vous pouvez faire une copie de 'sublime_text.exe' en tant que 'sublime.exe'

Puis, dans n'importe quelle invite de commande, vous pourrez peut-être exécuter un fichier file.txt en

C:\Users\MyUsername>sublime filename.txt
1

Si vous ne voulez pas changer votre chemin, vous pouvez associer des fichiers avec sublime. Alors faites un clic droit sur le fichier, cliquez sur les propriétés, puis cliquez sur ouvre avec un texte sublime.

A partir de la ligne de commande: myFile.py

Va ouvrir le fichier en sublime. Je suppose que cela vous évite environ cinq frappes.

1
jdeyrup
  1. Dans la variable d'environnement, j'ai également ajouté la variable %SUBLIME_HOME% à la variable de chemin d'accès.

  2. Puis fait un lien symbolique depuis mon terminal de commande

mklink sb sublime_text.exe
1
Emma

Creux chacun.

Je construis un moyen très facile de faire cela.

page du projet github

il suffit de télécharger "install.bat" et de cliquer droit sur install.bat -> de cliquer sur "exécuter en tant qu'administrateur"

1
staytime
    @echo off
    :: File: TextFiles.Starter.DESKTOP-M175NUE.cmd v1.1.0 docs at the end 

    :: this just an iso-8601 wrapper for windows:
    :: src: http://www.cs.tut.fi/~jkorpela/iso8601.html
    call GetNiceTime.cmd

    :: go the run dir
    cd %~dp0z

    :: this is the dir containing the batch file
    set _MyDir=%CD%

    :: look around , set vars
    for %%A in (%0) do set _MyDriveLetter=%%~dA
    for %%A in (%0) do set _MyPath=%%~pA
    for %%A in (%0) do set _MyName=%%~nA
    for %%A in (%0) do set _MyEtxtension=%%~xA

    :: contains absolute file paths of the files to open like this
    set _ListFile=%_MyDir%\%_MyName%.lst
    :: example of lines in the list file - take out the ::space
    :: C:\Users\ysg\Desktop\TextFiles.Starter.DESKTOP-M175NUE.cmd
    :: C:\Users\ysg\Desktop\TextFiles.Starter.DESKTOP-M175NUE.lst


    :: set _Program="C:\Program Files\TextPad 8\TextPad.exe"
    set _Program="C:\Program Files\Sublime Text 3\sublime_text.exe"
    set _
    :: DEBUG PAUSE

    :: sleep 2
    ping -n 2 www.google.com > NUL

    :: for each line of the cat file do open 
    :: for TextPad , obs note the quoting 
    :: for /f "tokens=*" %%i in ('type "%_ListFile%"') do ^
    :: cmd /c "%_Program% "%%i""

    :: for sublime, obs note the quoting 
    for /f "tokens=*" %%i in ('type "%_ListFile%"') do ^
    cmd /c "%_Program% -t "%%i""
    :: DEBUG PAUSE

    :: Purpose: 
    :: to start a list of non-binary files from a list file on Windows 10
    :: Tested on Windows 10, should work on Win7 too
    :: 
    :: Requirements:
    :: TextPad 8 or Sublime
    :: 
    :: 
    :: Usage: 
    :: copy this file onto your Desktop, list the absolute paths in to the list file 
    :: change the program name in the _Program if if you want other editor
    :: 
    :: VersionHistory: 
    :: 1.1.0 --- 2017-10-06 09:42:54 --- ysg --- added sublime 
    :: 1.0.1 --- 2013-04-15 08:19:10 --- ysg --- added - todo-%today%.txt file opening
    :: 1.0.0 --- 2012-05-23 09:08:57 --- ysg -- Initial creation 
1
Yordan Georgiev