Alterar o editor padrão para arquivos abertos no terminal? (por exemplo, defina-o para TextEdit / Coda / Textmate)


110

Existe uma maneira de fazer com que os arquivos abertos para edição no terminal sejam abertos no Textedit?

Por exemplo, onde um comando pode abrir um arquivo para edição (como git commit), em vez de abrir esse arquivo no vim ou emacs, ele abriria no Textedit (ou talvez outro aplicativo de edição de texto de sua escolha, como Coda ou Sublime).

E como uma pergunta bônus, existe alguma maneira de configurar especificamente o git para abrir automaticamente o arquivo criado após a execução git commitem um editor do diretório de aplicativos?


1
Sim, estou usando o OSX (10.6.4).
Diógenes

A melhor solução que encontrei é usar duti-> apple.stackexchange.com/a/123954/58507
Gomino

para mac os 10.10+, as soluções acima não funcionam. Tente este apple.stackexchange.com/questions/123833/…
Rishikesh Shukla

Respostas:


136

A maioria dos programas verificará a $EDITORvariável de ambiente, então você pode definir isso para o caminho do TextEdit em seu bashrc. O Git também usará isso.

Como fazer isso:

  • Adicione o seguinte ao seu ~/.bashrcarquivo:
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • ou apenas digite o seguinte comando em seu Terminal:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

Se você estiver usando zsh, use em ~/.zshrcvez de ~/.bashrc.


20
Perfeito, é isso. Também executei este comando para ter certeza de que o git funciona da maneira que eu esperava. Isso git config --global --unset-all core.editorentão git config --global --add core.editor "open -W -n".
Diógenes

Você está usando um shell diferente?
alternativa

5
no meu caso, estou usando zsh, obviamente, preciso atualizar o .zshrcarquivo de configuração.
Malloc,

3
use aspas se o caminho para seu editor tiver espaços, por exemplo, "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" e você pode ter que recarregar seu .bashrc com:source ~/.bashrc
Mars Redwyne

Obrigado, defini o editor nano como padrão por este. Veja como adicioná-lo ao OSX: http://hints.macworld.com/article.php?story=20021017065800302
Micer

28

Use git config --global core.editor mate -wou git config --global core.editor opencomo @dmckee sugere nos comentários.

Referência: http://git-scm.com/docs/git-config


3
... e configurá-lo para usar opensignifica que você obtém automaticamente o padrão do localizador. Portanto, as mudanças no localizador são propagadas naturalmente.
dmckee --- ex-moderador gatinho

4
openusa Launch Services para determinar o tipo de arquivo, principalmente com base em sua extensão. Se o arquivo tiver uma extensão desconhecida, não conseguirá abri-lo. Geralmente, seu editor CLI deve ser algo que assume arquivos de texto ...
Gordon Davisson

Algumas instruções (muito) explícitas seriam muito úteis ... a referência é extremamente concisa.
Diógenes

2
@Diogenes: Veja minha resposta em uma postagem diferente se você ainda precisar de ajuda mais explícita: stackoverflow.com/questions/6435246/…
X-Istence

4
Melhor ser git config --global core.editor "open -W"(caso contrário, você obterá um Aborting commit due to empty commit message.erro).
rsenna

18

Para OS X e Sublime Text

Disponibilize subl.

Coloque isso em ~/.bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

Coloque isso em ~/.bashrc

export EDITOR=subl

Descobri que isso não funciona corretamente com chsh. O arquivo é aberto, mas todas as alterações são perdidas. Eu tive que usar chsh -s /bin/zshpara trocar as conchas manualmente.
Cryptc

9

Para quem vier aqui em 2018:

  • vá para iTerm -> Preferências -> Perfis -> Avançado -> Histórico Semântico
  • no menu suspenso, escolha Abrir com Editor e no menu suspenso à direita escolha o editor de sua preferência

5

Configure seu editor para apontar para este programa:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Com o SVN, você deve definir SVN_EDITORa variável de ambiente para:

$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

E então, quando você tentar confirmar algo, o TextEdit será iniciado.


1
Eu prefiro usar /usr/bin/open, porque isso usará o padrão do localizador como você definir.
dmckee --- ex-moderador gatinho

Como você faria o mesmo para o git?
Diógenes

A primeira é apenas definir EDITOR = para isso, mas o que eu digito para a segunda linha?
Usuário


0

Se você quiser que o editor trabalhe com operações git, definir a $EDITORvariável de ambiente pode não ser suficiente, pelo menos não no caso de Sublime - por exemplo, se você deseja rebase, ele apenas dirá que o rebase foi bem-sucedido, mas você ganhou ' t tiver a chance de editar o arquivo de qualquer forma, o git irá fechá-lo imediatamente:

git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.

Se você deseja que o Sublime funcione corretamente com o git, você deve configurá-lo usando:

git config --global core.editor "sublime -n -w"

Vim aqui procurando por isso e encontrei a solução nessa essência no github .

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.