Cegah mode-org dari menelan variabel file-lokal

12

Kadang-kadang mudah untuk mendefinisikan variabel file lokal dengan komentar seperti berikut ini, yang harus di akhir file.

# Local Variables:
# fill-column: 80
# End:

Namun, dalam buffer mode-org, komentar ini dianggap “di dalam” tajuk paling terakhir. Misalnya, dalam buffer berikut, komentar akan disembunyikan setiap kali ada subtrees Catau Bdisembunyikan.

* A
* B
** C

# Local Variables:
# fill-column: 80
# End:

Saya tidak keberatan dengan persembunyian ini.
Masalah sebenarnya adalah bahwa komentar akan terbawa setiap kali saya memindahkan Csubtree di tempat lain. Misalnya, jika saya sebut org-refiledi C, atau jika saya bergerak di sekitar dengan org-metaup(dan sejenisnya), komentar dipindahkan bersama dengan subtree, dan kemudian mereka jelas berhenti bekerja.

Apakah ada cara untuk mengatakan org-modeuntuk berhenti melakukan ini?

Malabarba
sumber

Jawaban:

11

Berdasarkan skim cepat melalui dokumentasi tentang Org Sintaks , saya tidak berpikir ada cara bawaan untuk melakukan ini.

Salah satu solusi yang mungkin dilakukan adalah dengan menambahkan judul tingkat atas seperti

* File-local variables

di atas bagian variabel lokal dan beri tag dengan :noexport:. Tentu saja, tag hanya diperlukan jika Anda berencana mengekspor dokumen induk.


Jika Anda ingin melihat penerapan solusi kustom, melihat bagaimana org-modemenggunakan org-list-empty-line-terminates-plain-listsvariabel mungkin bisa membantu. Seperti namanya, ketika variabel ini disetel ke non- nilnilai, satu baris kosong sudah cukup untuk mengakhiri daftar polos, sehingga dimungkinkan untuk mendapatkan sesuatu yang serupa berfungsi untuk subkontraktor.

itu hanya
sumber
1
Saya telah menempatkan * The End(atau ;;;* The Endserupa) di akhir mode buffer Outline saya. Senang diketahui tentang :noexport:mode Org.
Gilles 'SANGAT berhenti menjadi jahat'
7
* COMMENT Local Variablesjuga bekerja untukku.
rvf0068
Saya akan merekomendasikan menggunakan COMMENT, seperti yang disarankan oleh @ rvf0068. Dengan begitu, seluruh tajuk dengan kontennya diperlakukan sebagai komentar yang benar.
Quarky
8

Saya menyimpan judul tingkat atas di akhir file Org saya yang dipanggil * Configuration.

Saya memastikan itu ditandai :NOEXPORT:ARCHIVE:

Dengan ini tidak bisa diekspor (berkat :noexport:tag) dan juga konten tidak terungkap saat bersepeda secara global (berkat :ARCHIVE:tag).

Saya juga menaruh berbagai pilihan Org hubungan konfigurasi ( #+TITLE:, #+AUTHOR, #+OPTIONS, dll) di bawah judul ini sehingga mereka tidak mengambil ruang visual kecuali saya ingin mengedit mereka.

Jonathan Leech-Pepin
sumber
5

Saya telah menghindari masalah ini secara tidak sengaja karena saya selalu menggunakan beberapa catatan kaki dalam dokumen saya. Melakukan C-c C-x fakan memasukkan catatan kaki dan itu akan secara otomatis membuat * Footnotesbagian di akhir buffer.

Ini adalah buffer khusus dan tidak pernah diekspor sebagai bagian oleh mode-org. Jadi Anda tidak perlu memindahkan bagian ini dalam hierarki.

Bahkan jika Anda tidak menggunakan catatan kaki, tidak ada salahnya menyimpan * Footnotesbagian yang kosong di bagian akhir karena tidak akan pernah diekspor sebagai bagian.

Inilah yang akan saya lakukan:

  • Melakukan C-c C-x f
  • Berikan catatan kaki beberapa teks seperti "Ini adalah catatan kaki dummy.".
  • Hapus referensi yang dibuat secara otomatis [fn:1]dari area utama (bukan bagian Catatan Kaki).

Saya menyarankan melakukan ini karena saya tidak yakin apakah mode-org mendeteksi keberadaan deskripsi catatan kaki yang valid di bagian Catatan Kaki untuk menghitungnya sebagai bagian khusus.

Kaushal Modi
sumber