Formato curto: desejo executar a versão do Mac OSX do Emacs encontrada em http://emacsformacosx.com/ como um daemon, com clientes gráficos e de texto conectados a ele conforme necessário.
Em detalhes, aqui está o fluxo de trabalho que eu quero:
No login, execute
/Applications/Emacs.app/Contents/MacOS/Emacs --daemon
para iniciar o emacs como um daemon. Eu já sei como fazer isso .Ao executar o emacs a partir de um terminal local, desejo Qualquer um destes:
- Se eu executar
emacs
em um prompt de comando local, abra um novo quadro com o arquivo selecionado. - Se o número 1 não for possível, pelo menos se eu executar
emacsclient
na linha de comando, abra um novo quadro com o arquivo selecionado.
- Se eu executar
Ao executar o emacs a partir de um terminal remoto, gostaria que um emacs em modo de texto iniciasse, conectado ao processo daemon.
Se eu executar,
Emacs.app
reutilize o daemon emacs que está sendo executado em segundo plano, em vez de iniciar uma nova instância e abrir uma nova janela nele.
Até agora, sou capaz de realizar apenas os itens 1 e 2.2 acima, mas essas são as partes fáceis. # 3 e # 4 são as coisas mais necessárias para que isso funcione. Alguém sabe como realizar essas coisas?
M-x server-start
usar um emacs iniciado sem--daemon
no modo de servidor. Boas perguntas, BTW.(server-start)
em seus .emacs para que ele começa quando você lançar emacsaRespostas:
Sim, você desejará usar o emacsclient. Para obter um novo quadro, adicione a opção -c. Eu tenho um alias para torná-lo mais rápido e dizer ao emacsclient para não esperar o servidor emacs retornar:
emacsclient -nw
em
alias.Atualizar:
Confira esta dica, documentando como usar o Platypus para criar um wrapper de aplicativo em torno do emacsclient. Você pode usar "Abrir com ..." para iniciar usando o novo invólucro de aplicativo.
fonte
Sim, aqui está uma explicação bastante abrangente sobre como fazer isso muito bem. Eu tentei vários métodos para fazê-lo funcionar bem, mas não melhor do que o que eles descreveram aqui.
https://gist.github.com/304964
Felicidades!
fonte
Para 4. coloque isso no seu .emacs:
A solução de criar um Mac .app (com Platypus) não funciona porque o Mac não abre o mesmo aplicativo duas vezes.
fonte
open -a Emacs.app
é certamente o que faço, mas para ser aberto no mesmo exemplo de instância / daemon de um emacs existente, preciso escrever(setq ns-pop-up-frames nil)
no meu.emacs
como escrevi na minha resposta. Caso contrário, ele cria uma nova janela de qualquer maneira, com ou sem-n
.