Emacs에서 임시 버퍼를 종료하기 전에 어떻게 경고를 받나요?

StackOverflow https://stackoverflow.com/questions/86963

  •  01-07-2019
  •  | 
  •  

문제

실수로 Emacs의 임시 버퍼를 종료하여 작업을 잃은 적이 여러 번 있었습니다.파일과 연결되지 않은 버퍼를 종료할 때 경고를 표시하도록 Emacs를 설정할 수 있습니까?

도움이 되었습니까?

해결책

버퍼가 편집되었고 파일과 연결되지 않은 것이 확실한지 묻는 기능을 만드세요.그런 다음 해당 기능을 목록에 추가하십시오. kill-buffer-query-functions.

에 대한 문서를 보면 버퍼 파일 이름 당신은 이해합니다:

  • 변수가 다음과 같은 경우에만 버퍼가 파일을 방문하지 않는 것입니다. buffer-file-name 0이다

해당 통찰력을 사용하여 함수를 작성하십시오.

(defun maybe-kill-buffer ()
  (if (and (not buffer-file-name)
           (buffer-modified-p))
      ;; buffer is not visiting a file
      (y-or-n-p "This buffer is not visiting a file but has been edited.  Kill it anyway? ")
    t))

그런 다음 다음과 같이 후크에 함수를 추가합니다.

(add-to-list 'kill-buffer-query-functions 'maybe-kill-buffer)

다른 팁

(defun maybe-kill-buffer ()
  (if (and (not buffer-file-name)
           (buffer-modified-p))
      ;; buffer is not visiting a file
      (y-or-n-p (format "Buffer %s has been edited.  Kill it anyway? "
                        (buffer-name)))
    t))

(add-to-list 'kill-buffer-query-functions 'maybe-kill-buffer)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top