ファイルごとにバッファを読み取り専用にする


8

-*- mode: read-only-mode -*-はコメント内に何かを設定できることを知っており、Emacsは対応するファイルを読み取り専用として開きます。私の問題は、そのような行を含むファイルをorg-modeメジャーモードで引き続き読みたいということです。Emacsはこれらのファイルをで開きますfundamental-mode

Emacsにファイルを読み取り専用で開き、正しいメジャーモードを使用させるにはどうすればよいですか?

回答:


10

read-only-modeマイナーモードであり、そのように設定しないでください。

mode:マイナーモードでの使用が機能していたことは事実です。それでもまだ機能するかどうかはわかりませんが、確実に非推奨になっています(そして、それが壊れている場合org-modeは、おそらくまったく機能しません)。

mode:メジャーモードを設定するためにのみ使用しeval:、マイナーモードを有効にするために使用します。

次のいずれかを使用できます。

-*- eval: (read-only-mode 1) -*-
-*- buffer-read-only: t -*-

mode:マイナーモードでの使用は引き続き機能します。私はそれを自分で使用し、通常はまずメジャーモードをリストし、次にマイナーモード(などoutline-minor)をリストします。しかし、マニュアルにはそうしないように書かれているので、この方法を変更する必要があると思います。おそらくフックではなくeval
Harald Hanche-Olsen 2014

6

通常の方法は、オペレーティングシステムでファイルを読み取り専用にすることです。ファイルを開いた状態で実行M-x set-file-modes RET(またはそのエイリアスchmod)を押しdown RETて、現在のファイルの名前を入力し、a=r(「すべて読み取り」の場合-詳細についてはファイルのアクセス許可を参照)と入力します。これは、Diredまたはその他のファイルマネージャからも実行できます。

あるいは、ファイルをEmacsでは読み取り専用にしたいが、他のアプリケーションでは書き込み可能にしたい場合は、ファイル変数buffer-read-onlyをに設定しますt

-*- buffer-read-only: t -*-
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.