diferença entre visitar um arquivo através do emacs ou com o emacsclient?

diferença entre visitar um arquivo através do emacs ou com o emacsclient?

A razão pela qual pergunto é que na maioria das vezes eles parecem semelhantes, exceto ao usar a Extensão de Editor Externo Thunderbird (com o editor designado como emacsclient -c). Fechar o quadro criado com esta instância do emacsclient com C-x C-c( C-x #às vezes não funciona?) também eliminará o buffer associado a este quadro (não é o comportamento usual do emacsclient).

E, em geral, C-x C-capenas fechará o quadro, a menos que outro buffer seja visitado naquele quadro - depois disso, C-x C-ctentará fechar todo o emacs. Como tento entender esse comportamento?

Responder1

No Emacs, você pode obter ajuda para qualquer tecla pressionando Ch k e inserindo a combinação de teclas que deseja conhecer. Pressionar Ch k Cx # retorna isto:

Cx # executa o comando server-edit, que é uma função Lisp compilada interativa em `server.el'.

Está vinculado a Cx #.

(edição do servidor e ARG opcional)

Mude para o próximo buffer de edição do servidor; diga "Concluído" para o buffer atual. Se um buffer do servidor estiver atual, ele será marcado como "concluído" e opcionalmente salvo. O buffer também será eliminado se não existir antes dos clientes solicitarem. Quando todos os buffers de um cliente são marcados como “concluídos”, o cliente é notificado.

Arquivos temporários, como arquivos MH, são sempre salvos e copiados, sem perguntas. (A variável 'make-backup-files', se nula, ainda inibe um backup; você pode configurá-la localmente em um buffer específico para evitar um backup dele.) A variável 'server-temp-file-regexp' controla quais nomes de arquivos são considerados temporários.

Se invocado com um argumento de prefixo, ou se não houver nenhum processo do servidor em execução, inicia o processo do servidor e pronto. Invocado por Cx #. Cx # executa o comando server-edit, que é uma função Lisp compilada interativa em 'server.el'.

Da mesma forma para Cx Cc

Cx Cc executa o comando save-buffers-kill-terminal, que é uma função Lisp compilada interativa em `files.el'.

Está vinculado a Cx Cc,.

(save-buffers-kill-terminal e ARG opcional)

Ofereça-se para salvar cada buffer e, em seguida, elimine a conexão atual. Se o quadro atual não tiver cliente, elimine o próprio Emacs.

Com o prefixo ARG, salve silenciosamente todos os buffers de visita ao arquivo e depois mate.

Se o emacsclient foi iniciado com uma lista de nomes de arquivos para editar, então apenas esses arquivos serão solicitados a serem salvos.

informação relacionada