Je trouve souvent qu'une commande Terminal pour ouvrir un fichier dans TextEdit serait très pratique. Une telle commande existe-t-elle sous Mac OS X ?
C'est probablement la meilleure solution.
Je trouve souvent qu'une commande Terminal pour ouvrir un fichier dans TextEdit serait très pratique. Une telle commande existe-t-elle sous Mac OS X ?
open -a TextEdit filename
devrait faire l'affaire.
El -a
spécifie l'application que vous voulez, donc il est applicable à un grand nombre de situations, y compris celles où TextEdit n'est pas l'éditeur par défaut.
-t
s'ouvre dans l'éditeur par défaut (c'est-à-dire si vous utilisez BBEdit, TextMate, etc.)-e
ouvrira le fichier spécifiquement dans TextEdit
Si vous voulez un programme dont le nom comporte des espaces, vous devrez les échapper, par exemple, ouvrir -a Adobe\ Photoshop\ CS6 image.png
Réponse directe et facile - ajoutez un alias à votre ~/.bash_profile comme :
alias textedit='open -a TextEdit'
L'invoquer comme :
textedit theFiletoEdit.txt
La différence entre cette réponse et l'autre, c'est que vous pouvez facilement vous en souvenir quand vous en avez besoin. Dactylographie text
y Tab pour l'autocomplétion, il sera disponible instantanément.
Pour ceux qui ont un peu plus d'expérience dans le domaine du bash et qui veulent connaître le raisonnement sans avoir à s'embêter à le comprendre :
Le problème est qu'un lien symbolique trivial (ou son équivalent, comme un shell script redirigeant vers /Applications/TextEdit.app/Contents/MacOS/TextEdit
provoque une nouvelle instance de TextEdit
pour ouvrir le fichier que vous lui passez. Cela fonctionne, mais ne donne pas le comportement par défaut que vous attendez de Mac OS X. (si vous l'essayez, vous verrez)
Pour obtenir le comportement par défaut de l'interface utilisateur, en utilisant la fonction intégrée Mac open
avec l'option '-a TextEdit' (que d'autres ont mentionnée) incite l'interface utilisateur Mac à faire en sorte que toute instance de TextEdit en cours d'exécution prenne en charge l'appel (sans qu'un 'sudo' inaproprié soit nécessaire pour une utilisation générale).
Pour ceux qui trouvent ce poste :
La solution était d'utiliser la commande sudo open -t /path/file.txt
Et les pages de manuel de la commande open montrent également comment faire d'autres choses comme afficher le fichier dans le finder.
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html
Sauf si le fichier n'est pas accessible à l'utilisateur autrement. Mais en général, d'accord.
En fait, je viens d'essayer d'utiliser cette commande avec sudo pour modifier /etc/hosts
sur Lion et cela ne fonctionne pas (comme prévu). Il ne me permet pas de modifier le dossier. Seulement le cloner. On pourrait tout aussi bien se passer du sudo
dans ce cas. Le fichier sera marqué comme verrouillé de toute façon. Pour pouvoir vraiment le faire, il faut d'abord ouvrir l'éditeur de texte en mode racine, ou utiliser un autre éditeur : apple.stackexchange.com/questions/20199/
Il ne s'agit pas d'une question de programmation. Mais j'ai fait une recherche rapide sur Google et j'ai trouvé ce site :
http://ss64.com/osx/pico.html pico : Un éditeur de texte simple
http://ss64.com/vi.html vi : Editeur de texte
Et ce site explique comment utiliser TextEdit à partir du terminal.
http://www.tech-recipes.com/rx/2754/os_x_edit_file_using_textedit_as_root_superuser/
C'est absolument vrai, merci de l'avoir ajouté, vous êtes un googleur bien plus rapide que moi.
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.
0 votes
J'essaie d'ouvrir Sublime Text à partir de la ligne de commande. J'ai fait "open -a /Applications/Sublime Text 2.app mon_fichier.txt". Cela fonctionne mais cela crée une nouvelle fenêtre à chaque fois que je veux ouvrir un fichier. Une solution ?
2 votes
Si vous le voulez avec
sudo
, Il faut d'abord ouvrir TextEdit en mode racine.0 votes
@MohammadMoghimi Essayez simplement d'utiliser l'option
sublime
commandement.