Machen Sie den Puffer pro Datei schreibgeschützt

8

Ich weiß, dass ich so etwas wie -*- mode: read-only-mode -*-in einem Kommentar festlegen kann und Emacs die entsprechende Datei schreibgeschützt öffnet. Mein Problem ist, dass ich immer noch Dateien lesen möchte, die eine solche Zeile mit dem org-modeHauptmodus enthalten. Emacs öffnet diese Dateien in fundamental-mode.

Wie kann ich Emacs anweisen, eine Datei schreibgeschützt zu öffnen und dennoch den richtigen Hauptmodus zu verwenden?

Shackra
quelle

Antworten:

10

read-only-modeist eine kleinere Modus, und nicht so eingestellt werden soll.

Es ist wahr, dass die Verwendung mode:mit Nebenmodi verwendet wurde, um zu arbeiten. Ich bin mir nicht sicher, ob es immer noch funktioniert, aber es ist definitiv veraltet (und wenn es kaputt geht, funktioniert es org-modevielleicht überhaupt nicht mehr).

Verwenden Sie mode:diese Option nur zum Einstellen des eval:Hauptmodus und zum Aktivieren der Nebenmodi:

Sie können wahrscheinlich eine der folgenden Methoden verwenden:

-*- eval: (read-only-mode 1) -*-
-*- buffer-read-only: t -*-
Phils
quelle
Die Verwendung mode:mit Nebenmodi funktioniert weiterhin. Ich benutze es selbst und liste normalerweise zuerst einen Hauptmodus und danach einen Nebenmodus (wie outline-minor) auf. Aber ich sehe jetzt, dass das Handbuch sagt, dass ich das nicht tun soll, also muss ich diese Praxis wohl ändern. Wahrscheinlich eher mit einem Haken als mit einem eval.
Harald Hanche-Olsen
6

Der normale Weg wäre, die Datei in Ihrem Betriebssystem schreibgeschützt zu machen. Wenn die Datei geöffnet ist, führen Sie sie aus M-x set-file-modes RET(oder ihren Alias chmod), drücken Sie down RET, um den Namen der aktuellen Datei einzugeben, und geben Sie ein a=r(für "Alles wird gelesen" - Einzelheiten finden Sie unter Dateiberechtigungen ). Sie können dies auch über Dired oder einen anderen Dateimanager tun.

Wenn Sie alternativ möchten, dass die Datei in Emacs schreibgeschützt, aber in anderen Anwendungen beschreibbar ist, setzen Sie die Dateivariable buffer-read-onlyauf t.

-*- buffer-read-only: t -*-
Gilles 'SO - hör auf böse zu sein'
quelle