문제
실수로 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)
제휴하지 않습니다 StackOverflow