2

Сегодня я обнаружил, что переключаюсь между Emacs и оболочкой несколько раз, просто чтобы проверить права доступа к файлу перед сохранением файла, который я открыл в Emacs.

Излишне говорить, что это неоптимально и дает широкие возможности для улучшения.

Я хотел бы, чтобы моделин показывал биты прав доступа, вроде как;

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

Самое близкое, что я видел для достижения этой цели, - это блог emacs-fu, но мне хотелось бы более общего решения, чем просто проверка, доступен ли файл только для чтения.

Как бы я этого достиг?

1 ответ1

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)--------------

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .