web-dev-qa-db-fra.com

Sortie borne ouverte en sublime 2

Je veux ouvrir la sortie des commandes du terminal dans sublime2.

par exemple. quand je fais $ list, il répertorie tous les fichiers/dossiers du terminal. Je veux que lorsque j'exécute cette commande, un fichier texte temporaire doit être créé et la sortie est ouverte dans l'éditeur sublime2. Je n'ai aucune intention de le sauver. Je veux juste ouvrir la sortie dans sublime2.

J'ai vu que vous pouvez ouvrir dans textmate dans Mac en canalisant la sortie.

$ls | mate (Je ne suis pas sûr de la syntaxe)

2
Jashwant

Vous pouvez utiliser un script très simple pour ce faire.

Voici le script:

#! /bin/bash

"$@" > $$.txt
sublime-text $$.txt
rm $$.txt

Enregistrez-le sous sublime.sh (vous pouvez utiliser n'importe quel autre nom) et rendez-le exécutable en exécutant:

chmod +x sublime.sh

Pour l'utiliser:

./sublime.sh <command>

Exemple:

./sublime.sh ls -l

Explication:

  • La ligne 1 est le Shebang , qui spécifie juste l'interpréteur.
  • La ligne 3 exécute la commande que vous avez passée et l'enregistre dans un fichier nommé $$.txt. $$ renvoie le PID du terminal que vous utilisez (n'hésitez pas à utiliser tout autre nom de fichier).
  • La ligne 4 ouvre le fichier dans sublime-text
  • La ligne 5 supprime le fichier, car vous ne souhaitez pas enregistrer le fichier de façon permanente.

Mise à jour: Vous pouvez également le mettre dans votre ~/.bashrc fichier pour y accéder facilement.

  • Ouvrez un terminal.
  • Accédez au dossier d'accueil.
CD
  • Ouvert .bashrc fichier.
 gedit .bashrc 
  • Copiez ce qui suit à la fin du fichier.
 fonction sublime () 
 {
 "$ @"> ~/$$. txt 
 sublime-text ~/$$. txt 
 rm ~/$$. txt 
} 
  • Exécutez la commande suivante pour actualiser:
. .bashrc 
  • Terminé!! Maintenant, utilisez-le:
 sublime ls -l 
2
green

J'ai utilisé cette méthode dans le passé pour réaliser ce que vous voulez (je pense)

ls -lrt > tmp.txt && gedit tmp.txt

vous devez évidemment changer la référence à gedit pour qu'il utilise votre éditeur préféré, dans ce cas sublime.

Ma question serait: qu'essayez-vous de réaliser avec cela? Il semble que vous essayez d'enregistrer la sortie de vos sessions de terminal. Si tel est le cas, vous pouvez utiliser la commande "script"

user@machine $ script ~/temp/terminal.txt

tapez simplement exit pour quitter l'enregistrement

user@machine ~/temp $ exit
exit
Script done, file is /home/user/temp/terminal.txt

Cela devrait maintenant signifier que terminal.txt contient un journal complet de cette session, j'espère que cela vous aidera

1
apacheuk