
내가 묻는 이유는 Thunderbird 외부 편집기 확장(편집기가 으로 지정됨 emacsclient -c
)을 사용할 때를 제외하고 대부분 비슷해 보이기 때문입니다. 이 emacsclient 인스턴스로 생성된 프레임을 C-x C-c
( C-x #
가끔 작동하지 않습니까?)로 닫으면 이 프레임과 관련된 버퍼도 종료됩니다(일반적인 emacsclient 동작이 아님).
그리고 일반적으로 C-x C-c
해당 프레임에서 다른 버퍼를 방문하지 않는 한 프레임을 닫습니다. 그 후에는 C-x C-c
모든 emacs를 닫으려고 시도합니다. 이 동작을 이해하려면 어떻게 해야 합니까?
답변1
Emacs에서는 Ch k를 누른 다음 알고 싶은 키 조합을 입력하여 모든 키에 대한 도움말을 얻을 수 있습니다. Ch k Cx #를 누르면 다음이 반환됩니다.
Cx #은 `server.el'에 있는 대화형으로 컴파일된 Lisp 함수인 server-edit 명령을 실행합니다.
Cx #에 바인딩되어 있습니다.
(서버 편집 및 선택적 ARG)
다음 서버 편집 버퍼로 전환합니다. 현재 버퍼에 대해 "완료"라고 말합니다. 서버 버퍼가 현재인 경우 "완료"로 표시되고 선택적으로 저장됩니다. 클라이언트가 요청하기 전에 버퍼가 존재하지 않은 경우에도 버퍼가 종료됩니다. 클라이언트의 모든 버퍼가 "완료"로 표시되면 클라이언트에 알림이 전송됩니다.
MH 파일과 같은 임시 파일은 묻지 않고 항상 저장 및 백업됩니다. (nil인 경우 'make-backup-files' 변수는 여전히 백업을 금지합니다. 특정 버퍼에 로컬로 설정하여 백업을 방지할 수 있습니다.) 'server-temp-file-regexp' 변수는 어떤 파일 이름을 제어할지를 제어합니다. 일시적인 것으로 간주됩니다.
접두사 인수를 사용하여 호출하거나 실행 중인 서버 프로세스가 없는 경우 서버 프로세스를 시작하고 그게 전부입니다. Cx #에 의해 호출됩니다. Cx #은 'server.el'에서 대화형으로 컴파일된 Lisp 함수인 server-edit 명령을 실행합니다.
Cx Cc의 경우에도 유사
Cx Cc는 `files.el'에 있는 대화형으로 컴파일된 Lisp 함수인 save-buffers-kill-terminal 명령을 실행합니다.
Cx Cc, 에 바인딩되어 있습니다.
(저장-버퍼-킬-터미널 및 선택적 ARG)
각 버퍼를 저장한 다음 현재 연결을 끊습니다. 현재 프레임에 클라이언트가 없으면 Emacs 자체를 종료하십시오.
접두사 ARG를 사용하면 모든 파일 방문 버퍼를 자동으로 저장한 다음 종료합니다.
편집할 파일 이름 목록으로 emacsclient를 시작한 경우 해당 파일만 저장하라는 메시지가 표시됩니다.