Remplacer le texte Modifier comme éditeur de texte par défaut

91

J'ai vu des questions comme celle-ci qui ne résolvent pas tout à fait mon problème.

Je voudrais faire de Sublime Text 3 le visualiseur / éditeur de fichiers par défaut pour tous les fichiers qui utilisent actuellement textedit.

La plupart de ces fichiers peuvent être command+ i'd, mais ceux qui n'ont pas d'extension ne le peuvent pas. Ils donnent toutes sortes d'erreurs d'autorisations telles que celles de cette image.pas assez d'informations disponibles

Existe-t-il un moyen de ne jamais utiliser textedit et de définir sublime comme éditeur par défaut pour tous les fichiers ?

Wrossmck
la source
2
Je me demande si le titre de cette question devrait ressembler à "Remplacer le texte par l'éditeur de texte par défaut" afin qu'il apparaisse dans les recherches qui ne font pas référence au texte sublime.
Dwightk
1
@dwightk bon point, mis à jour maintenant
wrossmck
Est-ce que cela fonctionnerait mieux si vous donniez une extension au fichier ou une extension Unhide dans GetInfo ..?
Zo219
@ Zo219 Non, certains fichiers n'ont tout simplement pas / besoin d'extensions et cette question vise à définir l'éditeur par défaut, et non à utiliser une solution de contournement sous-optimale pour obtenir un résultat similaire.
wrossmck

Réponses:

49

Définir Sublime Text comme gestionnaire par défaut pour public.plain-text

defaults write com.apple.LaunchServices LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Cette réponse est pour Mavericks et plus tôt.

Pour Yosemite et les versions ultérieures, utilisez com.apple.LaunchServices / com.apple.launchservices.secure .

defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

N'oubliez pas de redémarrer pour prendre en compte les modifications.

grg
la source
2
@Ross Yes (ou déconnectez-vous et reconnectez-vous si ce n'est pas l'utilisateur root).
grg
1
Hmm, donc ça n'a pas semblé fonctionner pour moi. (après un redémarrage complet.) Et j'ai vérifié que l'entrée est au bon endroit dans la page launchServices.plist
wrossmck
1
Fait intéressant, cela fonctionne réellement si je le fais open file2en terminal ou même en double-cliquant. Je pensais que cela ne fonctionnait pas, car si je reçois des informations à ce sujet, cela montre que cela s'ouvre avec TextEdit.
wrossmck
1
@Justin Il semble qu'après un autre redémarrage complet, file->infoSublime soit maintenant l'application par défaut. Je suis presque certain que je n'ai rien fait d'autre pour changer le résultat.
wrossmck
1
Sous OS X, je devais modifier ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist alors que la commande ci-dessus créait un fichier ~ / Library / Preferences / com.apple.LaunchServices.plist qui n'a eu aucun effet.
DonnaLea
43

Une autre option consiste à utiliser duti ( http://duti.org / https://github.com/moretension/duti ).

Exécuter brew install duti, enregistrer un type de fichier comme celui-ci en tant que:

duti -s com.sublimetext.3 public.plain-text all

Les modifications doivent être appliquées immédiatement, de sorte que vous n'avez pas à redémarrer comme lors de l'édition com.apple.LaunchServices.plist.

Pour modifier également l'application par défaut pour les scripts exécutables sans extension de nom de fichier, ajoutez une ligne comme celle-ci:

duti -s com.sublimetext.3 public.unix-executable all

Lri
la source
1
Lorsque je lance Duti sur le fichier, le message d'erreur s'affiche line 1: line too long. J'ai pu contourner le duti -s com.sublimetext.3 public.plain-text all
problème en
Cela a fonctionné pour moi. L'utilisation defaultsn'a pas fonctionné.
nathancahill
1
@KyleMit vous avez besoin d'une ligne vide à la fin du fichier pour éviter une erreur de ligne trop longue.
Terry
1
travaille aussi avec org.vim.MacVim!
Ruohola
2
duti.org n'existe plus.
sorin
38

J'ai essayé la solution grgarside par le passé et je crois que cela a fonctionné. Cependant, sur Yosemite et El Capitan, j'ai rencontré des problèmes.

Le commentaire de DonnaLea dans cette solution m'a appris à créer une solution. J'ai ajouté le chemin du dossier avant que com.apple.launchservicesle fichier porte un nom légèrement différent com.apple.launchservices.secure.

Vous pouvez voir les fichiers / dossiers en cours de modification dans le chemin suivant:

/user/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist

Capture d'écran pour référence: entrez la description de l'image ici

Voici la commande que j'ai utilisée dans le terminal:

defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Enfin, après un redémarrage sur ma machine, cela a fonctionné comme annoncé.

Michael Mizner
la source
5
Merci d'avoir signalé que ma réponse est obsolète. J'ai indiqué les versions d'OS X pour lesquelles ma réponse fonctionne et fourni un lien vers cette réponse.
grg
1
Merci! Peut confirmer que cela fonctionne sur El Capitan. No more Text Edit à l'ouverture de Podfile :)
Lord Zsolt
J'ai du texte sublime 3 installé mais pas de fichier de préférences com.sublimetext.3: dois-je en créer un?
ling
21
  1. Faites un clic droit sur un fichier .txt dans le Finder.
  2. Choisissez "Obtenir des informations".
  3. Développez "Ouvrir avec:" et choisissez votre éditeur de texte préféré dans le menu déroulant.
  4. Appuyez sur le bouton "Changer tout ..." situé sous le menu déroulant, puis confirmez dans la boîte de dialogue qui s'affiche avec "Continuer".

Cela fonctionne sur Yosemite (OS X 10.10).

David Resnick
la source
9
Cela ne répond pas à la question. La question est de savoir comment procéder pour tous les fichiers, même ceux sans extension de fichier.
wrossmck
Même si la réponse est légèrement hors sujet, cela m'a quand même aidé à partir d'une recherche Google. +1
Teddy
wrossmck Vous avez fondamentalement raison - ma réponse répète même les questions et réponses évoquées à la première ligne de cette question. Mais je ne m'en suis rendu compte qu'après avoir reconstitué moi-même ma réponse à partir d'autres réponses figurant sur cette page et avoir posté cette réponse. Peut-être que le problème est que les recherches pour la réponse simple (fichiers .txt) mènent à cette page et non aux autres (comme @Teddy et moi avons trouvé).
David Resnick
@wrossmck Cela fonctionne pour moi dans High Sierra. Une fois que j'ai fait cela sur un fichier .txt, en tapant quelque chose comme si open -t script.sqlc'était toujours ouvert dans mon éditeur de texte préféré que j'ai défini en utilisant ces instructions, même si l'extension n'est pas .txt
Mark White
14

Les solutions proposées ici fonctionnent parfaitement pour Sublime, mais je voulais le faire pour Visual Studio Code. La seule différence est que vous devez trouver "l'identificateur de groupe d'applications" pour l'éditeur de texte que vous utilisez. J'ai lancé cette commande:

/usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' /Applications/Visual\ Studio\ Code.app/Contents/Info.plist 

lien pour référence

pour obtenir l'identifiant "com.microsoft.VSCode". Ensuite, j'ai installé "duti" et lancé cette commande:

duti -s com.microsoft.VSCode public.plain-text all

Cela devrait fonctionner pour tout éditeur de texte de votre choix installé sous / Applications. J'espère que cela aide les utilisateurs non-Sublimes.

Mark Kurkowski
la source
1
Merci! La méthode fonctionne également pour Atom ( com.github.atom).
RobW
1
Fonctionne également pour MacVim ( org.vim.MacVim)!
Ruohola
Exactement ce que je cherchais. Dans le cas où vous lisez ceci et avez manqué les instructions d'installation dutici-dessus, vous trouverez ici apple.stackexchange.com/a/123954/251846 .
flow2k
Pour obtenir duti, vous pouvez installer homebrew puis exécuter brew install duti.
Cameron Hudson
5

Je centralise toute la gestion de mes applications par défaut avec Magic Launch . Vous pouvez le configurer pour qu'il s'ouvre tout txtavec Sublime Text par défaut sans ligne de commande (à côté, vous pouvez le changer facilement System Preferences).

Préférences de lancement magique

Une autre caractéristique exceptionnelle de Magic Launch est que vous pouvez définir des règles basées sur le nom du fichier, l'emplacement des dossiers, que j'utilise intensément pour choisir différentes applications à développer et à écrire.

sayzlim
la source
1

RCDefaultApp fonctionne toujours sur macOS Sierra. Vous pouvez facilement sélectionner le programme par défaut pour le texte brut (BBEedit dans mon cas).

Capture d'écran de RCDefaultApp

conducteur de train
la source
Est-ce que cela fonctionne pour les fichiers sans extension?
wrossmck
Absolument. Sur l'onglet, je vous montre en gros une interface graphique avec les réponses en ligne de commande. Si vous souhaitez configurer uniquement en fonction des extensions (pourquoi je sais que vous ne l'êtes pas), vous devez accéder à l'onglet "Erweiterungen" = Extensions.
Traindriver
-2

Cette solution est extraite d'une vidéo YouTube, mais elle fonctionne parfaitement dans mon cas (j'utilise simplement Sublime pour modifier des fichiers dans des langages tels que Python, Java et Ruby).

Pour un fichier particulier, cliquez avec le bouton droit de la souris, sélectionnez "Plus d'infos", puis cliquez sur l'onglet "Ouvrir avec". Vous pouvez sélectionner ici l'éditeur de texte que vous voulez et utiliser "Changer tout" pour utiliser l'éditeur pour tous les fichiers de ce type. Évidemment, cela ne fonctionne pas pour les fichiers sans extension, mais cela a été une solution rapide et facile pour moi.

M. Fisher
la source
Ce n'est pas aussi utile car vous devrez le faire extension par extension. La question cherchait une solution
unique
-3

Cliquez avec le bouton droit sur le fichier -> Autre -> Choisissez votre éditeur de texte favori (je choisis le texte Sublime dans mon dossier Applications) -> Cochez la case "Toujours ouvrir avec" -> Ouvrir.

Ce paramètre sera automatiquement appliqué à tous les autres fichiers de la machine.

Pas besoin de redémarrage ni de logiciel tiers.

Hari Hara Kumar Earlapati
la source
2
Cela ne fonctionne pas lorsqu'il n'y a pas d'extension de fichier.
grg
@grgarside - Je ne pense pas que cela fonctionne du tout, quelle que soit l'extension du fichier. Je ne blâme pas vraiment Hari puisqu'il s'agit d'une des fonctionnalités de base qui devrait "fonctionner". Apple a un bogue ouvert (je l'ai rempli il y a des années et Apple refuse apparemment de le réparer).
@jww Cela semble très bien pour moi pour les fichiers avec des extensions - c'est comme ça que je vais habituellement pour changer les associations de fichiers.
grg
-3

Commencez par obtenir des informations sur le fichier pour lequel vous souhaitez définir le texte sublime comme fichier par défaut. Ensuite, allez dans la section open as et choisissez sublime. Ensuite, appuyez sur tout changer, puis continuez dans le menu contextuel et vous avez terminé.Instructions partie 1

Partie 2

utilisateur169950
la source
Cela ne fonctionne pas quand le type de fichier n'a pas d'extension
wrossmck