Ersetzen Sie Text Edit als Standard-Texteditor

91

Ich habe Fragen zu sehen , wie diese , die nicht ganz mein Problem lösen.

Ich möchte Sublime Text 3 zum Standard-Datei-Viewer / -Editor für alle Dateien machen, die derzeit textedit verwenden.

Die meisten dieser Dateien können command+ i'd sein, diejenigen ohne Erweiterung jedoch nicht. Sie geben alle Arten von Berechtigungsfehlern wie die in diesem BildEs sind nicht genügend Informationen verfügbar

Gibt es eine Möglichkeit, einfach nie textedit zu verwenden und stattdessen sublime als Standardeditor für alle Dateien festzulegen ?

Wrossmck
quelle
2
Ich frage mich, ob der Titel dieser Frage etwa "Text ersetzen als Standard-Texteditor bearbeiten" lauten sollte, damit er in Suchanfragen angezeigt wird, die nicht auf erhabenen Text verweisen.
Dwightk
1
@ Dwightk guter Punkt, aktualisiert es jetzt
Wrossmck
Wäre es besser, wenn Sie der Datei eine Erweiterung geben oder die Erweiterung in GetInfo einblenden ...?
Zo219,
@ Zo219 nein, einige Dateien haben einfach keine / benötigen Erweiterungen, und diese Frage zielt darauf ab, den Standardeditor festzulegen und keine suboptimale Problemumgehung zu verwenden, um ein ähnliches Ergebnis zu erzielen.
Wrossmck

Antworten:

49

Legen Sie Sublime Text als Standardhandler für public.plain-text fest

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

Diese Antwort ist für Mavericks und früher.

Verwenden Sie für Yosemite und höher 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;}'

Denken Sie daran, neu zu starten, um die Änderungen zu übernehmen.

grg
quelle
2
@Ross Ja (oder abmelden und wieder anmelden, wenn kein Root-Benutzer vorhanden ist).
grg
1
Hmm, das schien für mich nicht zu funktionieren. (Nach einem vollständigen Neustart.) Und ich habe überprüft, dass der Eintrag in der launchServices.plist
wrossmck
1
Interessanterweise funktioniert es tatsächlich, wenn ich es open file2im Terminal oder sogar per Doppelklick tue . Ich dachte, es würde nicht funktionieren, denn wenn ich Informationen dazu erhalte, wird angezeigt, dass es mit TextEdit geöffnet wird.
Wrossmck
1
@Justin Es scheint, als ob nach einem weiteren vollständigen Neustart file->infonun angezeigt wird, dass Sublime die Standardanwendung ist. Ich bin fast sicher, dass ich nichts anderes getan habe, um das Ergebnis zu ändern.
Wrossmck
1
Unter OS X Yosemite musste ich ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist bearbeiten. Mit dem obigen Befehl wurde eine Datei ~ / Library / Preferences / com.apple.LaunchServices.plist erstellt hatte keine Wirkung.
DonnaLea
43

Eine weitere Option ist Duti zu verwenden ( http://duti.org / https://github.com/moretension/duti ).

Führen Sie aus brew install duti, speichern Sie einen Dateityp wie folgt:

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

Die Änderungen sollten sofort übernommen werden, damit Sie nicht wie beim Bearbeiten neu starten müssen com.apple.LaunchServices.plist.

Um auch die Standardanwendung für ausführbare Skripte ohne Dateinamenerweiterung zu ändern, fügen Sie eine Zeile wie die folgende hinzu:

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

Lri
quelle
1
Beim Ausführen von DUTI gegen die Datei bekomme ich den Fehler line 1: line too long. Ich konnte es duti -s com.sublimetext.3 public.plain-text all
umgehen,
Das hat bei mir funktioniert. Mit defaultshat nicht funktioniert.
NathanCahill
1
@KyleMit Sie benötigen eine leere Zeile am Ende der Datei, um den Fehler zu vermeiden, dass die Zeile zu lang ist.
Terry
1
funktioniert auch mit org.vim.MacVim!
Ruohola
2
duti.org existiert nicht mehr.
Sorin
38

Ich habe in der Vergangenheit die Lösung von grgarside ausprobiert und ich glaube, es hat funktioniert. Auf Yosemite und El Capitan hatte ich jedoch Probleme.

Der Kommentar von DonnaLea in dieser Lösung hat mich auf die Erstellung einer Lösung aufmerksam gemacht. Ich habe den Ordnerpfad hinzugefügt, bevor com.apple.launchservicesdie Datei zusätzlich einen etwas anderen Namen hatte com.apple.launchservices.secure.

Sie können die Datei / Ordner sehen, die im folgenden Pfad geändert werden:

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

Screenshot als Referenz: Bildbeschreibung hier eingeben

Hier ist der Befehl, den ich im Terminal verwendet habe:

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

Nach einem Neustart auf meinem Computer funktionierte es schließlich wie angekündigt.

Michael Mizner
quelle
5
Vielen Dank für den Hinweis, dass meine Antwort veraltet ist. Ich habe angegeben, für welche Versionen von OS X meine Antwort funktioniert, und einen Link zu dieser Antwort bereitgestellt.
grg
1
Vielen Dank! Kann dies bestätigen, um auf El Capitan zu arbeiten. Keine Textbearbeitung mehr beim Öffnen von Podfile :)
Lord Zsolt
Ich habe sublime text 3 installiert, aber keine com.sublimetext.3-Einstellungsdatei: muss ich eine erstellen?
ling
21
  1. Klicken Sie mit der rechten Maustaste auf eine TXT-Datei im Finder.
  2. Wählen Sie "Get Info".
  3. Erweitern Sie "Öffnen mit:" und wählen Sie in der Dropdown-Liste Ihren bevorzugten Texteditor aus.
  4. Klicken Sie auf die Schaltfläche "Alle ändern ..." unter der Dropdown-Liste und bestätigen Sie im daraufhin angezeigten Dialogfeld mit "Weiter".

Dies funktioniert unter Yosemite (OS X 10.10).

David Resnick
quelle
9
Dies beantwortet die Frage nicht. Die Frage ist, wie Sie dies für alle Dateien tun können, auch für Dateien ohne Dateierweiterung.
Wrossmck
Auch wenn die Antwort ein wenig vom Thema abweicht, hat sie mir bei einer Google-Suche geholfen. +1
Teddy
wrossmck Sie haben grundsätzlich Recht - meine Antwort wiederholt sogar die in der ersten Zeile dieser Frage genannten Fragen und Antworten. Aber ich habe das erst bemerkt, nachdem ich meine Antwort selbst aus anderen Antworten auf dieser Seite zusammengesetzt und diese Antwort gepostet hatte. Möglicherweise liegt das Problem darin, dass die Suche nach der einfachen Antwort (dh TXT-Dateien) zu dieser Seite führt und nicht zu den anderen (wie @Teddy und ich gefunden haben).
David Resnick
@wrossmck Das funktioniert bei mir in High Sierra. Sobald ich tat dies auf eine .txt - Datei, etwas eingeben , wie open -t script.sqles noch in meinem bevorzugten Texteditor geöffnet , dass ich diese Richtungen Satz verwenden, auch wenn die Erweiterung nicht .txt ist
Mark White
14

Die hier vorgeschlagenen Lösungen funktionieren perfekt für Sublime, aber ich wollte dies für Visual Studio Code tun. Der einzige Unterschied besteht darin, dass Sie die "Anwendungspaket-ID" für den von Ihnen verwendeten Texteditor suchen müssen. Ich habe diesen Befehl ausgeführt:

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

Link als Referenz

um die Kennung "com.microsoft.VSCode" zu erhalten. Dann habe ich "duti" installiert und diesen Befehl ausgeführt:

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

Dies sollte für jeden gewünschten Texteditor funktionieren, der unter / Applications installiert ist. Ich hoffe das hilft nicht Sublime Usern.

Mark Kurkowski
quelle
1
Vielen Dank! Die Methode funktioniert auch für Atom ( com.github.atom).
RobW
1
Funktioniert auch für MacVim ( org.vim.MacVim)!
Ruohola
Genau das, wonach ich gesucht habe. Falls Sie dies lesen und die Anweisungen zur Installation dutioben verpasst haben , finden Sie sie hier: apple.stackexchange.com/a/123954/251846 .
flow2k
Um zu bekommen duti, können Sie Homebrew installieren und dann ausführen brew install duti.
Cameron Hudson
5

Ich zentralisiere alle meine Standard-Apps mit Magic Launch . Sie können es so konfigurieren, dass alle txtmit Sublime Text als Standard ohne Befehlszeile geöffnet werden (daneben können Sie es problemlos ändern System Preferences).

Magic-Starteinstellungen

Eine weitere außergewöhnlich nützliche Funktion von Magic Launch ist, dass Sie Regeln basierend auf dem Dateinamen und dem Speicherort der Ordner festlegen können, die ich intensiv verwende, um verschiedene Apps für die Entwicklung und das Schreiben auszuwählen.

sayzlim
quelle
1

RCDefaultApp läuft immer noch unter macOS Sierra. Sie können ganz einfach auswählen, welches Programm für Klartext voreingestellt ist (in meinem Fall BBEedit).

Bildschirmfoto von RCDefaultApp

Zugführer
quelle
Funktioniert dies für Dateien ohne Endung?
Wrossmck
Absolut. Auf der Registerkarte Ich zeige Ihnen im Grunde ein grafisches Frontend zu den Kommandozeilenantworten. Wenn Sie daran interessiert wären, Einstellungen nur auf der Basis von Erweiterungen vorzunehmen (wieso wissen Sie das nicht?), Müssen Sie auf die Registerkarte "Erweiterungen" klicken.
Zugfahrer
-2

Diese Lösung stammt aus einem YouTube-Video, funktioniert aber in meiner Situation perfekt (ich benutze nur Sublime, um Dateien in Sprachen wie Python, Java und Ruby zu bearbeiten).

Klicken Sie mit der rechten Maustaste auf eine bestimmte Datei, wählen Sie "Weitere Informationen" und klicken Sie auf die Registerkarte "Öffnen mit". Hier können Sie den gewünschten Texteditor auswählen und mit "Alle ändern" den Editor für alle Dateien dieses Typs verwenden. Offensichtlich funktioniert dies nicht für Dateien ohne Erweiterung, aber für mich war es eine einfache Schnellreparatur.

M. Fisher
quelle
Dies ist nicht so nützlich, da Sie dies von Erweiterung zu Erweiterung tun müssen. Die Frage war auf der Suche nach einer
endgültigen
-3

Klicken Sie mit der rechten Maustaste auf die Datei -> Andere -> Wählen Sie Ihren bevorzugten Texteditor (ich wähle Sublime-Text in meinem Anwendungsordner) -> Aktivieren Sie das Kontrollkästchen "Immer geöffnet mit" -> Öffnen.

Diese Einstellung wird automatisch auf alle anderen Dateien im Gerät angewendet.

Kein Neustart oder Software von Drittanbietern erforderlich.

Hari Hara Kumar Earlapati
quelle
2
Das funktioniert nicht, wenn es keine Dateierweiterung gibt.
grg
@grgarside - Ich denke, das funktioniert überhaupt nicht, unabhängig von der Dateierweiterung. Ich beschuldige Hari nicht wirklich, da dies eine der grundlegenden Funktionen ist, die "einfach funktionieren" sollten. Apple hat einen offenen Fehler (ich habe ihn vor Jahren behoben, und Apple weigert sich anscheinend, ihn zu beheben).
@jww Für Dateien mit Dateierweiterungen scheint das großartig zu funktionieren. Normalerweise ändere ich so die Dateizuordnungen.
grg
-3

Holen Sie sich zunächst Informationen zu der Datei, für die Sie den erhabenen Text als Standard festlegen möchten. Gehen Sie dann zum Abschnitt Öffnen als und wählen Sie Erhaben. Drücken Sie danach auf Alle ändern und fahren Sie mit dem Popup-Menü fortAnleitung Teil 1

Teil 2

user169950
quelle
Dies funktioniert nicht, wenn der Dateityp keine Erweiterung hat
wrossmck