私は時々ファイルを編集しますemacs
が、ファイルの一部は編集しない文書やその他のコンテンツで、他の部分は自由に編集して新しいテキストを作成できる「再生領域」です。
質問:作成できますか?部分emacsバッファは読み取り専用ですか?
最も簡単な例は、行1〜100を読み取り専用にすることです(例:)。より複雑な例(emacsブックマークに似ています)は、[readonly]
との間のすべてのテキストを[/readonly]
編集できないようにすることです。
私はこれを検索しましたが、役に立つものが見つかりませんでした。
答え1
はい、テキスト属性を使用してバッファの一部を読み取り専用にすることができます。以下のコードは、ポイントとマーカーの間の領域に影響を与えるmake-region-read-only
2つの新しいコマンドを定義します。make-region-read-write
コマンドを実行できるようにコードを.emacsファイルに入れますMeta-x。
(defun make-region-read-only (start end)
(interactive "*r")
(let ((inhibit-read-only t))
(put-text-property start end 'read-only t)))
(defun make-region-read-write (start end)
(interactive "*r")
(let ((inhibit-read-only t))
(put-text-property start end 'read-only nil)))