Iniciando automaticamente um servidor se ainda não estiver iniciado
Eu recomendo definir uma variável de ambiente para ALTERNATE_EDITOR
a runemacs.exe
. Dessa forma, você sempre pode chamar o emacsclient, mesmo se não houver servidor. Basta adicionar (início do servidor) ao seu arquivo init. Quando um servidor não existe, o emacsclient chama o ALTERNATE_EDITOR
que é emacs no nosso caso. Como o emace inicia um servidor no arquivo init, quaisquer novas chamadas para o emacsclient serão instantâneas.
Como chamar o emacs para que ele utilize o servidor (por exemplo, na linha de comando ou em ferramentas de terceiros)
Use emacsclientw.exe -c -n "your_file"
para abrir seu_arquivo. O -c
argumento cria um novo quadro gráfico e -n
permite fechar o quadro sem perder o estado do servidor. Você pode até chamá-lo sem um nome de arquivo para abrir o *Scratch*
buffer. Também funciona a partir de um atalho na área de trabalho. Usar emacsclient.exe
(observe o w ausente) exibirá um prompt de comando por alguns segundos sempre que você o chamar.
Adicionando ao menu de contexto
O Emacswiki tem uma boa página sobre como adicionar o Emacs ao menu de contexto aqui . Envolve editar o nó do registro HKEY_CLASSES_ROOT\*
para adicionar uma ação a ser aberta com o emacs.