diferencia entre visitar un archivo a través de emacs o con emacsclient?

2

La razón por la que pregunto es que la mayoría de las cosas parecen similares, excepto cuando se usa la Extensión de editor externo de Thunderbird (con el editor designado como emacsclient -c). Cerrar el marco creado con esta instancia de emacsclient con C-x C-c( C-x #¿no funciona a veces?) También eliminará el búfer asociado con este marco (no es el comportamiento habitual de emacsclient).

Y, en general, C-x C-csolo cerrará el marco a menos que se visite otro búfer en ese marco; después de esto, C-x C-cintentará cerrar todos los emacs. ¿Cómo trato de entender este comportamiento?

hatmatrix
fuente

Respuestas:

2

Desde Emacs, puede obtener ayuda para cualquier tecla presionando Ch k y luego ingresando la combinación de teclas que desea conocer. Al presionar Ch k Cx # se devuelve esto:

Cx # ejecuta el comando server-edit, que es una función Lisp compilada interactiva en `server.el '.

Está vinculado a Cx #.

(edición de servidor y ARG opcional)

Cambie al siguiente búfer de edición del servidor; diga "Listo" para el búfer actual. Si un búfer del servidor es actual, se marca "hecho" y, opcionalmente, se guarda. El búfer también se elimina si no existía antes de que los clientes lo solicitaran. Cuando todas las memorias intermedias de un cliente se marcan como "hecho", se notifica al cliente.

Los archivos temporales, como los archivos MH, siempre se guardan y se respaldan, sin hacer preguntas. (La variable 'make-backup-files', si es nula, todavía inhibe una copia de seguridad; puede configurarla localmente en un búfer particular para evitar una copia de seguridad). La variable 'server-temp-file-regexp' controla qué nombres de archivo Se consideran temporales.

Si se invoca con un argumento de prefijo, o si no se está ejecutando ningún proceso del servidor, comienza el proceso del servidor y eso es todo. Invocado por Cx #. Cx # ejecuta el comando server-edit, que es una función Lisp compilada interactiva en 'server.el'.

De manera similar para Cx Cc

Cx Cc ejecuta el comando save-buffers-kill-terminal, que es una función interactiva de Lisp compilada en `files.el '.

Está vinculado a Cx Cc,.

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

Ofrezca guardar cada búfer, luego elimine la conexión actual. Si el marco actual no tiene cliente, elimine a Emacs.

Con el prefijo ARG, guarde en silencio todos los búferes de visita de archivos, luego elimine.

Si emacsclient se inició con una lista de nombres de archivo para editar, solo se pedirá que se guarden estos archivos.

spiffworks
fuente