Emacs:バッファーの一部を読み取り専用にする


9

ファイルのemacs一部がドキュメンテーションまたは編集すべきではない何かである場所でファイルを編集することがあり、別の部分は自由に編集して新しいテキストを作成できる「遊び場」です。

質問:emacsバッファーの一部を読み取り専用にできますか?

最も簡単な例は、1行目から100行目を読み取り専用にすることです(たとえば)。より複雑な例(emacsブックマークと同様)は[readonly][/readonly]その間のすべてのテキストを編集不可にすることです。

私はこれをグーグルで調べました、しかし、有用なものを見つけることができませんでした。

回答:


8

はい、テキストプロパティを使用して、バッファの一部を読み取り専用にすることができます。以下のコードは、ポイントとマークの間の領域に影響を与える2つの新しいコマンドmake-region-read-onlyを定義しています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)))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.