Substituir edição de texto como o editor de texto padrão


91

Já vi perguntas como essa que não resolvem completamente o meu problema.

Gostaria de tornar o Sublime Text 3 o visualizador / editor de arquivos padrão para todos os arquivos que atualmente usam o textedit.

A maioria desses arquivos pode ser command+ i'd, mas os que não têm extensão não podem. Eles fornecem todos os tipos de erros de permissão, como os desta imageminformações insuficientes estão disponíveis

Existe alguma maneira de nunca usar o textedit e, em vez disso, definir sublime como o editor padrão para todos os arquivos ?


2
Gostaria de saber se o título dessa pergunta deve ser algo como "Substituir edição de texto como o editor de texto padrão" para que apareça em pesquisas que não fazem referência a texto sublime.
dwightk

1
@dwightk bom ponto, atualizado agora
wrossmck

Funcionaria melhor se você desse uma extensão ao arquivo ou Mostrar extensão no GetInfo ..?
Zo219

@ Zo219 não, alguns arquivos simplesmente não têm / precisam de extensões, e esta pergunta visa definir o editor padrão, não usar alguma solução alternativa não ideal para obter um resultado semelhante.
wrossmck

Respostas:


49

Defina Sublime Text como o manipulador padrão para public.plain-text

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

Esta resposta é para Mavericks e versões anteriores.

Para Yosemite e versões posteriores, use 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;}'

Lembre-se de reiniciar para pegar as alterações.


2
@ Ross Sim (ou efetue logout e logon novamente, se não for o usuário root).
grg

1
Hmm, então isso não pareceu funcionar para mim. (após uma reinicialização completa.) E verifiquei que a entrada está no local correto no launchServices.plist
wrossmck

1
Curiosamente, ele realmente funciona se eu fizer open file2no terminal ou mesmo clicando duas vezes. Eu pensei que não estava funcionando porque, se eu receber informações, isso mostra que é aberto com o TextEdit.
22614 wrossmck

1
@ Justin Parece que após outra reinicialização completa file->infoagora é exibido que o Sublime é o aplicativo padrão. Estou quase certo de que não fiz mais nada para mudar o resultado.
wrossmck

1
No OS X Yosemite, eu precisava editar ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist Enquanto o comando acima criou um arquivo ~ / Library / Preferences / com.apple.LaunchServices.plist que não teve efeito.
DonnaLea

43

Outra opção é usar o duti ( http://duti.org / https://github.com/moretension/duti ).

Execute brew install duti, salve um tipo de arquivo como este:

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

As alterações devem ser aplicadas imediatamente, para que você não precise reiniciar como na edição com.apple.LaunchServices.plist.

Para também alterar o aplicativo padrão para scripts executáveis ​​sem extensão de nome de arquivo, adicione uma linha como esta:

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


1
Ao executar o duti no arquivo, recebo o erro line 1: line too long. Eu era capaz de trabalhar em torno dele por não usar arquivo de configurações e chamando duti -s com.sublimetext.3 public.plain-text alla partir da linha cmd
KyleMit

Isso funcionou para mim. Usar defaultsnão funcionou.
Nathancahill

1
@KyleMit, você precisa de uma linha vazia no final do arquivo para evitar o erro da linha muito longa.
Terry

1
também trabalha com org.vim.MacVim!
ruohola 20/02

2
duti.org não existe mais.
sorin 08/04

38

Eu tentei a solução da grgarside no passado e acredito que funcionou. No entanto, em Yosemite e El Capitan, eu tive problemas.

O comentário de DonnaLea nessa solução me ajudou a criar uma solução. Eu adicionei o caminho da pasta antes que com.apple.launchserviceso arquivo tivesse um nome ligeiramente diferente com.apple.launchservices.secure.

Você pode ver o arquivo / pastas sendo modificados no seguinte caminho:

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

Captura de tela para referência: insira a descrição da imagem aqui

Aqui está o comando que usei no terminal:

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

Por fim, após uma reinicialização da minha máquina, ela funcionou conforme anunciado.


5
Obrigado por apontar que minha resposta está desatualizada. Eu indiquei para quais versões do OS X minha resposta funciona e forneci um link para essa resposta.
grg

1
Obrigado! Pode confirmar que isso funcione no El Capitan. Não mais de edição de texto ao abrir Podfile :)
Senhor Zsolt

Tenho o sublime texto 3 instalado, mas não há arquivo de preferência com.sublimetext.3: preciso criar um?
ling

21
  1. Clique com o botão direito do mouse em um arquivo .txt no Finder.
  2. Escolha "Obter informações".
  3. Expanda "Abrir com:" e escolha seu editor de texto preferido no menu suspenso.
  4. Pressione o botão "Alterar tudo ..." abaixo da lista suspensa e confirme na caixa de diálogo exibida com "Continuar".

Isso funciona no Yosemite (OS X 10.10).


9
Isso não responde à pergunta. A questão é como fazer isso para todos os arquivos, mesmo aqueles sem extensão de arquivo.
wrossmck

Mesmo que a resposta esteja um pouco fora do tópico, ela ainda me ajudou em uma pesquisa no Google. +1
Teddy

wrossmck Você está basicamente certo - minha resposta até repete as perguntas e respostas na primeira linha desta pergunta. Mas não notei isso até depois de reunir minha resposta de outras respostas nesta página e postar essa resposta. Talvez o problema seja que as pesquisas pelas respostas simples (arquivos .txt) levam a esta página e não às outras (como @Teddy e eu descobrimos).
David Resnick

@wrossmck Isso funciona para mim em High Sierra. Depois de fazer isso em um arquivo .txt, digitar algo como open -t script.sqlainda o abriu no meu editor de texto preferido que eu defini usando essas instruções, mesmo que a extensão não seja .txt
Mark White

14

As soluções propostas aqui funcionam perfeitamente para o Sublime, mas eu queria fazer isso no Visual Studio Code. A única diferença é que você precisa encontrar o "identificador de pacote de aplicativos" para qualquer editor de texto usado. Eu executei este comando:

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

link para referência

para obter o identificador "com.microsoft.VSCode". Então eu instalei "duti" e executei este comando:

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

Isso deve funcionar para qualquer editor de texto que você deseja que esteja instalado em / Aplicativos. Espero que isso ajude os usuários não sublimes.


1
Obrigado! O método também funciona para Atom ( com.github.atom).
RobW

1
Também funciona para o MacVim ( org.vim.MacVim)!
ruohola 20/02

Exatamente o que eu estava procurando. Caso você esteja lendo isso e tenha perdido as instruções de instalação dutiacima, está aqui apple.stackexchange.com/a/123954/251846 .
flow2k 11/03

Para obter duti, você pode instalar o homebrew e depois executar brew install duti.
Cameron Hudson

5

Eu centralizo todo o meu gerenciamento de aplicativos padrão com o Magic Launch . Você pode configurá-lo para abrir tudo txtcom Sublime Text como padrão sem linha de comando (ao lado, você pode alterá-lo facilmente System Preferences).

Preferências de inicialização mágica

Mais um recurso excepcional e útil do Magic Launch é que você pode definir regras com base no nome do arquivo e na localização das pastas, que uso intensivamente para escolher diferentes aplicativos para desenvolvimento e gravação.


1

O RCDefaultApp ainda funciona no macOS Sierra. Você pode facilmente selecionar qual programa é o padrão para texto sem formatação (BBEedit no meu caso).

Captura de tela do RCDefaultApp


Isso funciona para arquivos que não têm extensão?
wrossmck

Absolutamente. Na guia, estou mostrando basicamente um frontend gráfico para as respostas da linha de comando. Se você estava interessado em configurar apenas com base em extensões (por que eu sei que você não é), teria que ir para a guia "Erweiterungen" = Extensões.
traindriver

-2

Essa solução é extraída de um vídeo do YouTube, mas funciona perfeitamente para a minha situação (estou apenas usando o Sublime para editar arquivos em linguagens como Python, Java e Ruby).

Para qualquer arquivo em particular, clique com o botão direito do mouse, selecione "Mais informações" e clique na guia "Abrir com". Você pode selecionar qual editor de texto deseja aqui e usar "Alterar tudo" para usar o editor para todos os arquivos desse tipo. Obviamente, isso não funciona para arquivos sem extensão, mas tem sido uma solução rápida e fácil para mim.


Isso não é tão útil porque você precisará fazer isso extensão por extensão. A questão estava em busca de uma solução
única

-3

Clique com o botão direito do mouse no arquivo -> Outro -> Escolha seu editor de texto favorito (eu escolho o texto sublime na minha pasta Aplicativos) -> Marque a caixa de seleção 'Sempre aberto com' -> Abrir.

Essa configuração será aplicada automaticamente a todos os outros arquivos da máquina.

Não há necessidade de reinicialização ou software de terceiros.


2
Isso não funciona quando não há extensão de arquivo.
grg

@grgarside - Eu não acho que isso funcione, independentemente da extensão do arquivo. Eu realmente não culpo Hari, pois esse é um dos recursos básicos que deveriam "simplesmente funcionar". A Apple tem um bug aberto (eu o preenchi anos atrás, e aparentemente se recusa a corrigi-lo).

Parece que funciona muito bem para arquivos com extensões - é assim que costumo mudar as associações de arquivos.
grg

-3

Primeiro, obtenha informações sobre o arquivo que você deseja definir como texto sublime. Em seguida, abra a seção como aberta e escolha sublime. Depois disso, pressione change all e continue no menu pop-up e pronto.Instruções parte 1

Parte 2


Isso não funciona quando o tipo de arquivo não tem uma extensão
wrossmck
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.