Haga que el búfer sea de solo lectura por archivo

8

Sé que puedo configurar algo como -*- mode: read-only-mode -*-dentro de un comentario y Emacs abrirá el archivo correspondiente como de solo lectura. Mi problema es que todavía quiero leer archivos que incluyen esa línea con el org-modemodo principal; Emacs abre estos archivos en fundamental-mode.

¿Cómo puedo decirle a Emacs que abra un archivo como de solo lectura y aún así usar el modo principal correcto?

Shackra
fuente

Respuestas:

10

read-only-modees un modo menor y no debe configurarse de esa manera.

Es cierto que usar mode:con modos menores solía funcionar. No estoy seguro de antemano si todavía lo hace, pero definitivamente está en desuso (y si es un golpeteo org-mode, entonces tal vez ya no funcione en absoluto).

Solo se usa mode:para establecer el modo principal, y se usa eval:para habilitar modos menores:

Probablemente pueda usar cualquiera de estos:

-*- eval: (read-only-mode 1) -*-
-*- buffer-read-only: t -*-
phils
fuente
Usar mode:con modos menores todavía funciona. Lo uso yo mismo, normalmente enumero un modo mayor primero y luego uno menor (como outline-minor) después. Pero ahora veo que el manual dice que no hagas eso, así que supongo que tendré que cambiar esta práctica. Probablemente con un gancho en lugar de un eval.
Harald Hanche-Olsen
6

La forma normal sería hacer que el archivo sea de solo lectura en su sistema operativo. Con el archivo abierto, ejecute M-x set-file-modes RET(o su alias chmod), presione down RETpara ingresar el nombre del archivo actual e ingrese a=r(para "todo se lee" - vea los permisos del archivo para más detalles). También puede hacerlo desde Dired o cualquier otro administrador de archivos.

Alternativamente, si desea que el archivo sea de solo lectura en Emacs pero que se pueda escribir en otras aplicaciones, configure la variable del archivo buffer-read-onlyen t.

-*- buffer-read-only: t -*-
Gilles 'SO- deja de ser malvado'
fuente