Zastąp edycję tekstu jako domyślny edytor tekstu

91

Widziałem takie pytania, które nie rozwiązują mojego problemu.

Chciałbym ustawić Sublime Text 3 jako domyślną przeglądarkę / edytor plików dla wszystkich plików, które obecnie używają textedit.

Większość z tych plików może być command+ i'd, ale pliki bez rozszerzenia nie mogą. Dają wszelkiego rodzaju błędy uprawnień, takie jak te na tym obraziebrak wystarczających informacji

Czy jest jakiś sposób, aby nigdy nie używać textedit i zamiast tego ustawić sublime jako domyślny edytor dla wszystkich plików ?

wrossmck
źródło
2
Zastanawiam się, czy tytuł tego pytania powinien brzmieć „Zastąp edycję tekstu jako domyślny edytor tekstu”, aby pojawiał się w wynikach wyszukiwania, które nie odwołują się do wzniosłego tekstu.
dwightk
1
@dwightk dobry punkt, zaktualizowałem go teraz
wrossmck
Czy lepiej by było, gdybyś nadał temu plikowi rozszerzenie lub Odkryj rozszerzenie w GetInfo ..?
Zo219,
@ Zo219 nie, niektóre pliki po prostu nie mają / nie potrzebują rozszerzeń, a to pytanie ma na celu ustawienie domyślnego edytora, a nie użycie jakiegoś nieoptymalnego obejścia w celu uzyskania podobnego rezultatu.
wrossmck,

Odpowiedzi:

49

Ustaw Sublime Text jako domyślny moduł obsługi dla public.plain-text

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

Ta odpowiedź dotyczy Mavericks i wcześniejszych.

W przypadku Yosemite i nowszych należy użyć 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;}'

Pamiętaj, aby ponownie uruchomić, aby odebrać zmiany.

grg
źródło
2
@ Ross Tak (lub wyloguj się i zaloguj ponownie, jeśli nie jesteś użytkownikiem root).
grg
1
Hmm, więc to nie działało dla mnie. (po pełnym ponownym uruchomieniu.) I sprawdziłem, czy wpis znajduje się we właściwej lokalizacji w launchServices.plist
wrossmck,
1
Co ciekawe, to faktycznie działa, jeśli robię to open file2w terminalu lub nawet przez podwójne kliknięcie. Myślałem, że to nie działa, ponieważ jeśli otrzymam informacje na ten temat, pokazuje, że otwiera się za pomocą TextEdit.
wrossmck,
1
@Justin Wygląda na to, że po kolejnym pełnym restarcie file->infowyświetla się teraz, że Sublime jest domyślną aplikacją. Jestem prawie pewien, że nie zrobiłem nic innego, aby zmienić wynik.
wrossmck
1
W systemie OS X Yosemite musiałem edytować ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist Podczas gdy powyższe polecenie utworzyło plik ~ / Library / Preferences / com.apple.LaunchServices.plist, który nie miało wpływu.
DonnaLea,
43

Inną opcją jest użycie duti ( http://duti.org / https://github.com/moretension/duti ).

Uruchom brew install duti, zapisz typ pliku taki jak ten:

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

Zmiany powinny zostać zastosowane natychmiast, więc nie musisz restartować jak podczas edycji com.apple.LaunchServices.plist.

Aby również zmienić domyślną aplikację dla skryptów wykonywalnych bez rozszerzenia nazwy pliku, dodaj wiersz taki:

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

Lri
źródło
1
Podczas uruchamiania programu duti przeciwko plikowi pojawia się błąd line 1: line too long. Byłem w stanie obejść ten problem, nie używając pliku ustawień i dzwoniąc duti -s com.sublimetext.3 public.plain-text allz linii cmd
KyleMit
To zadziałało dla mnie. Korzystanie defaultsnie działało.
nathancahill
1
@KyleMit potrzebujesz pustej linii na końcu pliku, aby uniknąć błędu zbyt długiej linii.
Terry,
1
współpracuje również z org.vim.MacVim!
ruohola
2
duti.org już nie istnieje.
sorin
38

W przeszłości próbowałem rozwiązania Grgarside i uważam, że zadziałało. Jednak w Yosemite i El Capitan napotkałem problemy.

Komentarz DonnaLea w tym rozwiązaniu nakłonił mnie do stworzenia rozwiązania. Dodałem ścieżkę folderu, zanim com.apple.launchservicesplik miał nieco inną nazwę com.apple.launchservices.secure.

Plik / foldery można modyfikować w następującej ścieżce:

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

Zrzut ekranu w celach informacyjnych: wprowadź opis zdjęcia tutaj

Oto polecenie, którego użyłem w terminalu:

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

Wreszcie po ponownym uruchomieniu komputera działało zgodnie z reklamą.

Michael Mizner
źródło
5
Dziękuję za zwrócenie uwagi, że moja odpowiedź jest nieaktualna. Wskazałem, dla których wersji OS X moja odpowiedź działa i podałem link do tej odpowiedzi.
grg
1
Dzięki! Potwierdź to, aby działać na El Capitan. Nigdy więcej edycji tekstu podczas otwierania Podfile :)
Lord Zsolt
Mam zainstalowany sublime text 3, ale nie mam pliku preferencji com.sublimetext.3: czy muszę go utworzyć?
mol
21
  1. Kliknij prawym przyciskiem myszy plik .txt w Finderze.
  2. Wybierz „Uzyskaj informacje”.
  3. Rozwiń „Otwórz za pomocą:” i wybierz preferowany edytor tekstu z menu rozwijanego.
  4. Naciśnij przycisk „Zmień wszystko ...” poniżej menu rozwijanego, a następnie potwierdź w oknie dialogowym, które pojawia się za pomocą „Kontynuuj”.

Działa na Yosemite (OS X 10.10).

David Resnick
źródło
9
To nie odpowiada na pytanie. Pytanie brzmi, jak to zrobić dla wszystkich plików, nawet tych bez rozszerzenia pliku.
wrossmck,
Nawet jeśli odpowiedź jest nieco nie na temat, nadal pomogła mi w wyszukiwaniu w Google. +1
Teddy
wrossmck Zasadniczo masz rację - moja odpowiedź powtarza nawet odniesienie do pytań i odpowiedzi w pierwszym wierszu tego pytania. Ale nie zauważyłem tego, dopóki sam nie ułożyłem odpowiedzi z innych odpowiedzi na tej stronie i nie opublikowałem tej odpowiedzi. Być może problem polega na tym, że wyszukiwanie prostej odpowiedzi (tj. Plików .txt) prowadzi do tej strony, a nie do innych (jak znalazłem @Teddy i).
David Resnick
@wrossmck To działa dla mnie w High Sierra. Kiedy to zrobiłem w pliku .txt, wpisanie czegoś takiego jak open -t script.sqlnadal otwierało go w moim preferowanym edytorze tekstu, który ustawiłem za pomocą tych wskazówek, mimo że rozszerzenie nie jest .txt
Mark White
14

Proponowane tutaj rozwiązania działają idealnie dla Sublime, ale chciałem to zrobić dla Visual Studio Code. Jedyną różnicą jest to, że musisz znaleźć „identyfikator pakietu aplikacji” dla dowolnego edytora tekstu, którego używasz. Uruchomiłem to polecenie:

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

link w celach informacyjnych

aby uzyskać identyfikator „com.microsoft.VSCode”. Następnie zainstalowałem „duti” i uruchomiłem polecenie:

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

Powinno to działać z każdym edytorem tekstowym, który jest zainstalowany w / Aplikacje. Mam nadzieję, że to pomoże użytkownikom niebanalnym.

Mark Kurkowski
źródło
1
Dzięki! Metoda działa również w przypadku Atom ( com.github.atom).
RobW
1
Działa również dla MacVim ( org.vim.MacVim)!
ruohola
Dokładnie tego szukałem. Jeśli czytasz to i nie znasz instrukcji instalacji dutipowyżej, znajdziesz ją tutaj apple.stackexchange.com/a/123954/251846 .
flow2k
Aby uzyskać duti, możesz zainstalować homebrew, a następnie uruchomić brew install duti.
Cameron Hudson,
5

Centralizuję wszystkie moje domyślne zarządzanie aplikacjami za pomocą Magic Launch . Możesz go skonfigurować tak, aby otwierał wszystko txtz Sublime Text jako domyślnym bez wiersza poleceń (poza tym możesz go łatwo zmienić System Preferences).

Preferencje uruchamiania Magic

Jeszcze jedna wyjątkowa przydatna funkcja Magic Launch polega na tym, że możesz ustawić reguły na podstawie nazwy pliku i lokalizacji folderów, których intensywnie używam do wybierania różnych aplikacji do programowania i pisania.

sayzlim
źródło
1

RCDefaultApp nadal działa na macOS Sierra. Możesz łatwo wybrać, który program jest domyślny dla zwykłego tekstu (w moim przypadku BBEedit).

Zrzut ekranu aplikacji RCDefaultApp

maszynista
źródło
Czy to działa w przypadku plików bez rozszerzenia?
wrossmck
Absolutnie. Na zakładce pokazuję w zasadzie graficzną nakładkę na odpowiedzi z wiersza poleceń. Jeśli chcesz ustawić tylko oparte na rozszerzeniach (dlaczego wiem, że nie jesteś), musisz przejść do zakładki „Erweiterungen” = Rozszerzenia.
traindriver
-2

To rozwiązanie jest zgrywane z filmu na YouTube, ale działa idealnie w mojej sytuacji (używam Sublime do edycji plików w językach takich jak Python, Java i Ruby).

W przypadku konkretnego pliku kliknij prawym przyciskiem myszy, wybierz „Więcej informacji” i kliknij kartę „Otwórz za pomocą”. Możesz tutaj wybrać edytor tekstu i użyć „Zmień wszystko”, aby użyć edytora dla wszystkich plików tego typu. Oczywiście nie działa to w przypadku plików bez rozszerzenia, ale dla mnie to łatwa szybka naprawa.

M. Fisher
źródło
Nie jest to tak przydatne, ponieważ musisz to zrobić dla poszczególnych rozszerzeń. Pytanie
dotyczyło ostatecznego
-3

Kliknij prawym przyciskiem myszy plik -> Inne -> Wybierz swój ulubiony edytor tekstu (wybieram Podniosły tekst w folderze Aplikacje) -> Zaznacz pole wyboru „Zawsze otwieraj za pomocą” -> Otwórz.

To ustawienie zostanie automatycznie zastosowane do wszystkich innych plików w urządzeniu.

Nie ma potrzeby żadnego ponownego uruchamiania ani żadnego oprogramowania innych firm.

Hari Hara Kumar Earlapati
źródło
2
To nie działa, gdy nie ma rozszerzenia pliku.
grg
@grgarside - Nie sądzę, że to w ogóle działa, niezależnie od rozszerzenia pliku. Tak naprawdę nie winię Hari, ponieważ jest to jedna z podstawowych funkcji, która powinna „po prostu działać”. Apple ma otwarty błąd (wypełniłem go lata temu, a Apple najwyraźniej nie chce go naprawić).
@jww Wydaje mi się, że działa świetnie dla plików z rozszerzeniami - tak zazwyczaj zmieniam skojarzenia plików.
grg
-3

Najpierw uzyskaj informacje o pliku, który chcesz ustawić wysublimowany tekst jako domyślny. Następnie przejdź do sekcji open as i wybierz wzniosły. Następnie naciśnij zmień wszystko, a następnie kontynuuj w menu podręcznym i gotoweInstrukcje część 1

Część 2

użytkownik169950
źródło
To nie działa, gdy typ pliku nie ma rozszerzenia
wrossmck