Saya punya beberapa blok sumber yang semuanya kusut ke file yang sama. Ketika saya menjalankan C-c '
di dalam satu blok, hanya blok spesifik ini yang ditampilkan di buffer baru.
Apakah ada kemungkinan untuk menampilkan semua bagian file ini di dalam buffer ini (bukan hanya potongan khusus ini)?
Contoh:
#+begin_src emacs-lisp :tangle foo.el
(defvar *ok* "")
#+end_src
This is where the variable is stored...
#+begin_src emacs-lisp :tangle foo.el
(defun add-one (n) (+ 1 n))
#+end_src
Jika saya menekan C-c '
di blok pertama saya mendapatkan:
(defvar *ok* "")
tapi aku ingin:
(defvar *ok* "")
(defun add-one (n) (+ 1 n))
org-mode
org-babel
text-editing
Beyeran
sumber
sumber
org-babel-tangle-jump-to-org
org-babel-detangle
yang mengklaim untuk melakukan ini jika Anda terlibat dengan komentar tautan (:comments link
di blok sumber). Sepertinya saya tidak bisa membuat mereka bekerja dengan benar.Jawaban:
Apa yang Anda cari adalah fitur pengeditan dua arah yang bertahan dari pengeditan selama perjalanan pulang pergi dan bukan hanya output satu arah yang umum untuk perintah kusut dan kusut. Solusi terbaik yang saya temukan adalah teks lenticular yang tersedia sebagai paket lentic pada MELPA.
sumber
Tambahkan argumen tajuk ini
Kekusutan. Anda sekarang dapat mengedit file kusut itu sendiri dan mengeluarkan
org-babel-detangle
untuk mendapatkan semuanya kembali ke file org.sumber
Saya dapat merekomendasikan org-tanglesync , yang memiliki metode sinkronisasi yang lebih sederhana daripada
org-babel-detangle
Pada dasarnya jika suatu blok dirangkai ke file eksternal, maka setiap kali blok itu diedit, file eksternal itu juga diperiksa, dan jika suatu diff terdeteksi, pengguna diminta untuk menolak atau menarik perubahan eksternal ke dalam blok org src. .
Ini juga memiliki fungsi untuk secara otomatis memproses semua blok kusut dalam buffer.
sumber