Puis-je ouvrir des fichiers dans TextEdit à partir du terminal sous Mac OS X?

168

Je trouve fréquemment qu'une commande de terminal pour ouvrir un fichier dans TextEdit serait très pratique. Une telle commande existe-t-elle sur Mac OS X?

wfbarksdale
la source
J'essaie d'ouvrir Sublime Text à partir de la ligne de commande. J'ai fait "ouvrir -a / Applications / Sublime Text 2.app my_file.txt". Cela fonctionne mais crée une nouvelle fenêtre chaque fois que je veux ouvrir un fichier. Une solution?
Mohammad Moghimi
1
Si vous le voulez avec sudo, ouvrez TextEdit en mode racine en premier
cregox
@MohammadMoghimi Essayez simplement d'utiliser la sublimecommande.
Timothy Mueller-Harder

Réponses:

229

open -a TextEdit filename devrait faire l'affaire.

L’ -aindicateur spécifie l’application de votre choix. Il est donc applicable à toutes les situations, y compris celles où TextEdit n’est pas l’éditeur par défaut.

Autres options pertinentes

  • -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
robmathers
la source
2
Probablement la meilleure solution.
daviesgeek
Si vous voulez un programme dont le nom contient des espaces, vous devez les échapper, par exemple, ouvrez -a Adobe \ Photoshop \ CS6 image.png
Choylton B. Higginbottom
Comment l'ouvrir avec SublimeText3 qui reste dans / path / SublimeText3?
emeraldhieu
3
Dans openle manuel de la commande, vous verrez -e Causes the file to be opened with /Applications/TextEdit. Alors, open -e filenamefaites la même chose, et c'est plus simple.
DawnSong
Les applications disponibles sont-elles définies comme celles vivant à l'intérieur de /Applications/?
Daniel Pendergast
39

Réponse directe et facile - ajoutez un alias à votre ~ / .bash_profile comme ceci:

alias textedit='open -a TextEdit'

Invoquez-le comme ceci:

textedit theFiletoEdit.txt

La différence entre ceci et l’autre réponse est que vous pouvez facilement vous en rappeler quand vous le souhaitez. En le tapant textet Taben le complétant automatiquement, il sera immédiatement disponible


Pour ceux qui ont un peu plus de fond, qui veulent le raisonnement sans avoir à se soucier de le comprendre:

  • Le problème est qu'un lien symbolique trivial (ou son équivalent, comme une redirection de script shell) /Applications/TextEdit.app/Contents/MacOS/TextEditprovoque l' TextEditouverture d' une nouvelle instance du fichier que vous lui transmettez. Cela fonctionne, mais ne donne pas le comportement par défaut attendu pour Mac OS X. (si vous l'essayez, vous verrez)

  • Pour obtenir le comportement par défaut de l'interface utilisateur, à l'aide de la opencommande intégrée Mac , avec l'indicateur '-a TextEdit' (mentionné par d'autres), l'interface utilisateur Mac doit avoir (toute instance en cours d'exécution de TextEdit) la gestion de l'appel (sans inapropos '). sudo 'nécessaire pour l’utilisation générale du cas).

Matt S.
la source
L'ouverture d'un fichier dans une instance de textedit en cours d'exécution ne fonctionne pas dans mojave. J'ai essayé tous les drapeaux.
Karl Pokus le
6

La commande open peut être utilisée pour ouvrir des fichiers (dans leurs applications par défaut, sauf si vous utilisez l'indicateur -a), des URL (dans votre navigateur Web par défaut) et des répertoires (dans le Finder).

Un exemple serait

open /Users/Example/Desktop/example.rtf
Alexandre
la source
1
C'est probablement le moyen le plus simple d'ouvrir des fichiers texte à éditer dans un éditeur graphique à partir du terminal.
David Thomas
4

Pour ceux qui trouvent ce post:

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 procéder, comme afficher le fichier dans le viseur.

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html

wfbarksdale
la source
10
L'utilisation sudoest inutile et indésirable.
Chris Page
1
Sauf si le fichier n'est pas accessible à l'utilisateur autrement. Mais en général, d'accord.
Bobson
2
En fait, je viens d’essayer d’utiliser cette commande avec sudo pour éditer /etc/hostssur Lion et cela ne fonctionne tout simplement pas (comme prévu). Cela ne me permet pas de modifier le fichier. Seulement le cloner. Autant se passer du sudo, dans ce cas. Le fichier sera marqué comme verrouillé de toute façon. Pour être vraiment capable de le faire, vous devez d'abord ouvrir TextEdit en mode racine, ou tout simplement utiliser un éditeur différent: apple.stackexchange.com/questions/20199/…
cregox,
0

Ce n'est pas une question de programmation. Mais j'ai fait un rapide google et trouvé ce site:

http://ss64.com/osx/

http://ss64.com/osx/pico.html pico: éditeur de texte simple

http://ss64.com/vi.html vi: éditeur de texte

Et ce site explique comment utiliser TextEdit depuis un terminal.

http://www.tech-recipes.com/rx/2754/os_x_edit_file_using_textedit_as_root_superuser/


la source
1
Aucun de ces liens ne montre comment ouvrir le fichier dans textEdit.
Le dernier lien fait.
Absolument, merci d'avoir ajouté cela, vous êtes un
Ça marche? Parce que je n'ai aucune expérience avec Mac OSX (fan fan Windows ^^)