모델라인에 파일 권한 비트를 표시하시겠습니까?

모델라인에 파일 권한 비트를 표시하시겠습니까?

나는 오늘 Emacs에서 연 파일을 저장하기 전에 파일 권한을 확인하기 위해 Emacs와 쉘 사이를 여러 번 전환했습니다.

말할 필요도 없이 이는 차선책이며 개선할 수 있는 충분한 기회를 제공합니다.

나는 모델라인이 다음과 같은 권한 비트를 표시하도록 하고 싶습니다.

-:--- .netrc 0600 .... further modeline stuff ....

이 목표를 달성하기 위해 제가 본 가장 가까운 것은 다음과 같습니다.emacs-fu 블로그에서, 그러나 파일이 읽기 전용인지 확인하는 것보다 더 일반적인 솔루션을 원합니다.

어떻게 이것을 달성할 수 있습니까?

답변1

나는 그것을 조금 가지고 놀았고 이것이 나에게 도움이 되도록 했습니다:

;; New variable to contain buffer file permission format construct.
(defvar my-mode-line-buffer-permissions
  '(:eval (when (buffer-file-name) (format " %04o" (file-modes (buffer-file-name))))))
;; The variable must be marked as "risky" (see C-h v mode-line-format)
(put 'my-mode-line-buffer-permissions 'risky-local-variable t)
;; And finally add it right after the file name:
(setq-default
 mode-line-buffer-identification
 (append mode-line-buffer-identification (list 'my-mode-line-buffer-permissions)))

내 모드 라인은 이제 다음과 같이 말합니다:

-uu-:---F1  .emacs       0644   Top L1     (Emacs-Lisp)--------------

관련 정보