버퍼를 종료하거나 다시 열지 않고도 emacs 내에서 파일의 쓰기 권한을 변경할 수 있습니까?
가끔 파일을 열기 전에 파일에 대한 권한을 수정하는 것을 잊어버릴 때가 있습니다. emacs() 내에서 권한을 수정할 수 있지만 M-! chmod u+w filename
쓰기 금지 상태로 유지되고 파일 수정을 거부하는 버퍼는 업데이트되지 않습니다.
버퍼 내에서 권한을 업데이트하는 방법이 있습니까? 바로가기에 할당할 수 있으면 보너스 포인트가 됩니다!
답변1
파일 모드를 변경한 후 편집하기 전에 M-x revert-buffer
파일을 다시 로드하려면 실행하세요. 파일이 이제 쓰기 가능해지면 버퍼는 더 이상 읽기 전용이 아닙니다.
또는 C-x C-q
( read-only-mode
)를 입력합니다. 이렇게 하면 버퍼가 더 이상 읽기 전용이 아닙니다. 편집하고 저장할 수도 있지만 읽기 전용 파일을 덮어쓸지 묻는 확인 메시지가 표시됩니다.
답변2
버퍼의 읽기 전용 상태를 변경하려면 C-xC-q(toggle read-only-mode
)을 사용하세요. 파일 권한을 변경하려면 dired
파일의 디렉터리( ) C-xd에서 실행하고 파일을 검색한 다음 C-s를 M사용하여 해당 모드를 변경할 수 있습니다.
답변3
워크플로우에서 버퍼의 파일 권한을 반복적으로 변경해야 하는 경우 아래와 같이 사용자 정의 기능을 사용하는 것이 도움이 될 수 있습니다.
이는 유닉스 시스템에서만 작동합니다(시스템 명령 "chmod" 실행)
(defun chmod-plus-w ()
(interactive)
(shell-command-to-string (concat "chmod +w " (buffer-file-name (current-buffer))))
(revert-buffer))