Buat buffer hanya-baca berdasarkan per file

8

Saya tahu saya dapat mengatur sesuatu seperti -*- mode: read-only-mode -*-di dalam komentar dan Emacs akan membuka file yang sesuai sebagai read-only. Masalah saya adalah saya masih ingin membaca file yang menyertakan baris seperti itu dengan org-modemode utama; Emacs membuka file-file ini di fundamental-mode.

Bagaimana saya bisa memberi tahu Emacs untuk membuka file sebagai hanya-baca dan masih membuatnya menggunakan mode utama yang benar?

shackra
sumber

Jawaban:

10

read-only-modeadalah mode minor , dan tidak boleh diatur seperti itu.

Memang benar menggunakan mode:dengan mode minor dulu bekerja. Saya tidak yakin begitu saja apakah masih ada, tapi sudah pasti usang (dan jika itu musnah org-mode, maka mungkin itu tidak lagi berfungsi sama sekali).

Hanya gunakan mode:untuk mengatur mode utama, dan gunakan eval:untuk mengaktifkan mode minor:

Anda mungkin dapat menggunakan salah satu dari ini:

-*- eval: (read-only-mode 1) -*-
-*- buffer-read-only: t -*-
phils
sumber
Penggunaan mode:dengan mode minor masih berfungsi. Saya menggunakannya sendiri, biasanya mendaftar mode utama pertama dan kemudian yang kecil (seperti outline-minor) setelah itu. Tetapi saya melihat sekarang bahwa manual mengatakan tidak melakukan itu, jadi saya kira saya harus mengubah praktik ini. Mungkin dengan kail bukan eval.
Harald Hanche-Olsen
6

Cara biasa adalah membuat file hanya-baca di sistem operasi Anda. Dengan file terbuka, jalankan M-x set-file-modes RET(atau alias chmod), tekan down RETuntuk memasukkan nama file saat ini, dan masukkan a=r(untuk "semua menjadi dibaca" - lihat izin file untuk detail). Anda juga dapat melakukan ini dari Dired atau manajer file lainnya.

Atau, jika Anda ingin file hanya-baca di Emacs tetapi dapat ditulis dalam aplikasi lain, atur variabel file buffer-read-onlyke t.

-*- buffer-read-only: t -*-
Gilles 'SANGAT berhenti menjadi jahat'
sumber