Emacs 서버/클라이언트와 함께 작동하도록 최근 모드를 얻으려면 어떻게 해야 합니까?

Emacs 서버/클라이언트와 함께 작동하도록 최근 모드를 얻으려면 어떻게 해야 합니까?

나는 recentf 최근에 열었던 파일 목록을 생성하는 Emacs의 패턴을 사용하는 것을 좋아합니다. 목록은 세션 간에 유지되므로 오래 전에 작업한 파일에 액세스할 수 있습니다.

그러나 최근에 Emacsclient를 사용하여 로그인할 때 자동으로 열리는 Emacs 서버에 연결하기 시작했습니다. 전반적으로 이것은 큰 개선입니다. 그러나 recentf패턴이 사라지기 시작합니다.최대컴퓨터를 다시 시작할 때마다 파일이 열립니다. 그것은 기억한다일부그 중 로깅 파일의 모드를 볼 수 없습니다.

이 문제를 어떻게 해결할 수 있나요? 어떻게 하면 기록으로 남길 수 있나요?모두세션 간에 파일에 액세스하고 이를 기억합니까?

답변1

나는 똑같은 문제가 있었고 두 가지를 변경하여 해결했습니다. 가장 먼저 팔로우하세요이 게시물recentf-save-list, 타이머를 자동으로 호출하는 기능을 만들었습니다. 따라서 몇 분마다 ~/.recentf 파일을 자동으로 다시 작성합니다.

(run-at-time nil (* 5 60) 'recentf-save-list)

내가 한 또 다른 일은 로그아웃하거나 종료할 때마다 Emacs 서버를 정상적으로 종료하는 종료 스크립트를 디스플레이 관리자(lightdm)에 추가하는 것이었습니다. 이를 수행하는 방법은 디스플레이 관리자에 따라 다르지만 내 스크립트는 다음과 같습니다.

#!/bin/bash
emacsclient -e "(save-buffers-kill-emacs)"

클라이언트가 서버에서 "연결이 끊어질" 때마다 자동으로 다시 실행되는 후크가 있으면 좋겠지만 recentf-save-list올바른 후크를 찾을 수 없습니다.

관련 정보