Quando quero alternar entre programas no Windows, normalmente uso a tecla windows e uma tecla numérica para executar um programa na minha barra de tarefas. A maioria dos programas iniciará a execução ou, se já houver uma instância, trará para o primeiro plano e se concentrará nela. Mas o Emacs (iniciado com runemacs.exe) criará uma nova entrada na barra de tarefas, e usar o atalho novamente criará uma nova instância. Até onde eu sei, nem consigo alternar entre os diferentes quadros usando os comandos do Emacs (tentei Cx 5 o).
Existe uma maneira de fazê-lo para que os usos subsequentes das teclas de atalho do Windows usem apenas a instância existente do Emacs e, se não, posso pelo menos fazê-lo para que eu possa navegar facilmente entre os diferentes quadros? Eu tentei este trecho:
(require 'server)
(unless (server-running-p)
(start-server))
da resposta a esta pergunta , mas não fez diferença.
fonte
emacsclientw.exe
runemacs.exe
como editor alternativo, pode ligaremacsclientw.exe
mesmo quando não há um servidor de edição em execução.Respostas:
Adicione isso ao seu arquivo init para garantir que um servidor de edição seja criado quando o emacs iniciar
Agora faça o atalho do Windows apontar para
emacsclientw.exe
o seguinte:Isso deve focar um quadro Emacs existente (se houver), ou então chamar de
runemacs.exe
outra forma. (Obrigado a Vamsi pela ajuda com o ajuste dos parâmetros de comando)fonte
-c
bandeira corrige esse problema?C:\path\to\emacsclientw.exe -n -e "(raise-frame)" -a "C:\path\to\runemacs.exe"
para evitar a criação de um novo quadro e aumentar o quadro anterior.-c
vontade de esperar também um arquivo para visitar? (Se você não pode dizer que eu não estou em uma máquina Windows agora.)-c
ter a-e
expressão.Encontrei outra resposta para o problema no SuperUser hoje. Parece mais hackish, mas o resultado é mais consistente com outros programas no Windows.
fonte
Properties
você também pode definir oStart in
diretório e abrir o Emacs para um arquivo ou diretório específico. (I começar Emacs com Dired noStart in
diretório IOW, eu passo o mesmo dir (."
-Quoted) como argumento pararunemacs
.)