Sostituisci Modifica testo come editor di testo predefinito


91

Ho visto domande come questa che non risolvono del tutto il mio problema.

Vorrei rendere Sublime Text 3 il visualizzatore / editor di file predefinito per tutti i file che attualmente utilizzano textedit.

La maggior parte di questi file può essere command+ i'd, ma quelli che non hanno estensione non possono farlo. Offrono tutti i tipi di errori di autorizzazione come quelli in questa immaginenon sono disponibili informazioni sufficienti

Esiste un modo per non usare mai textedit e invece impostare sublime come editor predefinito per tutti i file ?


2
Mi chiedo se il titolo di questa domanda dovrebbe essere qualcosa come "Sostituisci la modifica del testo come editor di testo predefinito" in modo che venga visualizzato nelle ricerche che non fanno riferimento al testo sublime.
Dwightk,

1
@dwightk buon punto, aggiornato ora
wrossmck

Funzionerebbe meglio se avessi dato al file un'estensione o Scopri l'estensione in GetInfo ..?
Zo219,

@ Zo219 no, alcuni file semplicemente non hanno / hanno bisogno di estensioni, e questa domanda ha lo scopo di impostare l'editor predefinito, non di usare qualche soluzione non ottimale per ottenere un risultato simile.
wrossmck,

Risposte:


49

Imposta Sublime Text come gestore predefinito per public.plain-text

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

Questa risposta è per Mavericks e precedenti.

Per Yosemite e versioni successive, utilizzare 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;}'

Ricorda di riavviare per raccogliere le modifiche.


2
@Ross Sì (o disconnettersi e riconnettersi se non l'utente root).
GRG

1
Hmm, quindi non sembrava funzionare per me. (dopo un riavvio completo.) E ho verificato che la voce si trova nella posizione corretta in launchServices.plist
wrossmck

1
È interessante notare che in realtà funziona se lo faccio open file2nel terminale o anche facendo doppio clic. Ho pensato che non funzionasse perché se ottengo informazioni su di esso, mostra che si apre con TextEdit.
wrossmck,

1
@Justin Sembra che dopo un altro riavvio completo file->infoora venga visualizzato che Sublime è l'applicazione predefinita. Sono quasi certo di non aver fatto nient'altro per aver cambiato il risultato.
wrossmck,

1
Su OS X Yosemite dovevo modificare ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist Considerando che il comando precedente ha creato un file ~ / Library / Preferences / com.apple.LaunchServices.plist che non ha avuto effetto.
DonnaLea,

43

Un'altra opzione è utilizzare duti ( http://duti.org / https://github.com/moretension/duti ).

Esegui brew install duti, salva un tipo di file come questo come:

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

Le modifiche dovrebbero essere applicate immediatamente, quindi non è necessario riavviare come durante la modifica com.apple.LaunchServices.plist.

Per modificare anche l'applicazione predefinita per gli script eseguibili senza estensione di file, aggiungere una riga come questa:

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


1
Quando eseguo duti in esecuzione sul file ottengo l'errore line 1: line too long. Sono stato in grado di aggirare il problema non usando il file delle impostazioni e chiamando duti -s com.sublimetext.3 public.plain-text alldalla linea cmd
KyleMit

Questo ha funzionato per me. L'uso defaultsnon ha funzionato.
nathancahill,

1
@KyleMit hai bisogno di una riga vuota alla fine del file per evitare l'errore della riga troppo lungo.
Terry,

1
funziona anche con org.vim.MacVim!
ruohola,

2
duti.org non esiste più.
sorin

38

Ho provato la soluzione di grgarside in passato e credo che abbia funzionato. Tuttavia, su Yosemite ed El Capitan, ho riscontrato problemi.

Il commento di DonnaLea in quella soluzione mi ha suggerito di creare una soluzione. Ho aggiunto il percorso della cartella prima che com.apple.launchservicesil file avesse un nome leggermente diverso com.apple.launchservices.secure.

Puoi vedere il file / le cartelle che vengono modificati nel seguente percorso:

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

Schermata di riferimento: inserisci qui la descrizione dell'immagine

Ecco il comando che ho usato nel terminale:

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

Infine, dopo un riavvio sulla mia macchina ha funzionato come pubblicizzato.


5
Grazie per aver sottolineato che la mia risposta è obsoleta. Ho indicato per quali versioni di OS X funziona la mia risposta e ho fornito un link a questa risposta.
GRG

1
Grazie! Posso confermare questo per lavorare su El Capitan. Niente più Text Edit all'apertura di Podfile :)
Lord Zsolt

Ho installato il sublime testo 3 ma non ho alcun file delle preferenze com.sublimetext.3: devo crearne uno?
ling

21
  1. Fai clic con il tasto destro su un file .txt nel Finder.
  2. Scegli "Ottieni informazioni".
  3. Espandi "Apri con:" e scegli il tuo editor di testo preferito nel menu a discesa.
  4. Premi il pulsante "Cambia tutto ..." sotto il menu a discesa, quindi conferma nella finestra di dialogo che appare con "Continua".

Funziona su Yosemite (OS X 10.10).


9
Questo non risponde alla domanda. La domanda è come farlo per tutti i file, anche quelli senza estensione.
wrossmck,

Anche se la risposta è leggermente fuori tema, mi ha comunque aiutato a uscire da una ricerca su Google. +1
Teddy

wrossmck Hai fondamentalmente ragione: la mia risposta ripete anche le domande e risposte di riferimento nella prima riga di questa domanda. Ma non me ne sono accorto fino a quando non ho messo insieme la mia risposta da altre risposte in questa pagina e pubblicato questa risposta. Forse il problema è che la ricerca della risposta semplice (ad es. File .txt) porta a questa pagina e non alle altre (come abbiamo scoperto @Teddy e io).
David Resnick,

@wrossmck Questo funziona per me in High Sierra. Una volta che l'ho fatto su un file .txt, digitando qualcosa di simile è stato open -t script.sqlancora aperto nel mio editor di testo preferito che ho impostato usando queste direzioni, anche se l'estensione non è .txt
Mark White

14

Le soluzioni proposte qui funzionano perfettamente per Sublime, ma volevo farlo per Visual Studio Code. L'unica differenza è che devi trovare l'identificatore del bundle dell'applicazione per qualsiasi editor di testo che usi. Ho eseguito questo comando:

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

link per riferimento

per ottenere l'identificatore "com.microsoft.VSCode". Quindi ho installato "duti" ed eseguito questo comando:

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

Questo dovrebbe funzionare per qualsiasi editor di testo che desideri sia installato in / Applicazioni. Spero che questo aiuti gli utenti non sublimi.


1
Grazie! Il metodo funziona anche per Atom ( com.github.atom).
RobW

1
Funziona anche con MacVim ( org.vim.MacVim)!
ruohola,

Esattamente quello che stavo cercando. Nel caso in cui stai leggendo questo messaggio e hai perso le istruzioni per l'installazione dutisopra, è qui apple.stackexchange.com/a/123954/251846 .
Flow2k

Per ottenere duti, è possibile installare homebrew ed eseguire brew install duti.
Cameron Hudson,

5

Centralizzo tutta la gestione delle mie app predefinite con Magic Launch . Puoi configurarlo per aprire tutto txtcon Sublime Text come predefinito senza riga di comando (a parte, puoi cambiarlo facilmente da System Preferences).

Preferenze di lancio magico

Un'altra utile funzionalità eccezionale di Magic Launch è che puoi impostare regole basate su nome file, posizione delle cartelle, che utilizzo intensamente per scegliere diverse app per lo sviluppo e la scrittura.


1

RCDefaultApp funziona ancora su macOS Sierra. È possibile selezionare facilmente quale programma è predefinito per il testo normale (BBEedit nel mio caso).

Schermata di RCDefaultApp


Funziona con file che non hanno estensione?
wrossmck,

Assolutamente. Nella scheda che ti sto mostrando, sostanzialmente vedi un frontend grafico alle risposte della riga di comando. Se ti interessasse impostare solo in base alle estensioni (perché so che non lo sei), dovresti andare alla scheda "Erweiterungen" = Estensioni.
traindriver

-2

Questa soluzione è strappata da un video di YouTube, ma funziona perfettamente per la mia situazione (sto solo usando Sublime per modificare i file in lingue come Python, Java e Ruby).

Per qualsiasi file specifico, fai clic con il pulsante destro del mouse, seleziona "Ulteriori informazioni" e fai clic sulla scheda "Apri con". Puoi selezionare quale editor di testo vuoi qui e utilizzare "Cambia tutto" per utilizzare l'editor per tutti i file di questo tipo. Ovviamente, questo non funziona per i file senza estensione, ma è stata una soluzione rapida facile per me.


Questo non è così utile perché dovrai farlo in base all'estensione. La domanda era alla ricerca di una soluzione una
tantum

-3

Fai clic con il pulsante destro del mouse sul file -> Altro -> Scegli l'editor di testo preferito (ho scelto Testo sublime nella cartella Applicazioni) -> Seleziona la casella di controllo "Apri sempre con" -> Apri.

Questa impostazione verrà automaticamente applicata a tutti gli altri file nella macchina.

Non è necessario alcun riavvio o nessun software di terze parti.


2
Non funziona quando non c'è estensione di file.
grg

@grgarside - Non penso che funzioni affatto, indipendentemente dall'estensione del file. Non incolpo davvero Hari poiché questa è una delle caratteristiche di base che dovrebbero "funzionare". Apple ha un bug aperto (l'ho riempito anni fa e Apple apparentemente rifiuta di risolverlo).

@jww Sembra funzionare alla grande con me per i file con estensioni: è il modo in cui di solito cambio le associazioni dei file.
grg

-3

Innanzitutto ottieni informazioni sul file che desideri impostare come testo predefinito il testo sublime. Quindi vai all'open come sezione e scegli sublime. Dopodiché premi cambia tutto quindi continua nel menu popup e il gioco è fattoIstruzioni parte 1

Parte 2


Questo non funziona quando il tipo di file non ha estensione
wrossmck
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.