Chỉnh sửa nhiều khối nguồn trong một bộ đệm


10

Tôi đã có nhiều khối nguồn bị rối vào cùng một tệp. Khi tôi gọi C-c 'bên trong một khối, chỉ khối cụ thể này được hiển thị trong bộ đệm mới.

Có khả năng hiển thị tất cả các phần của tệp này trong bộ đệm này (thay vì chỉ đoạn trích cụ thể này) không?

Thí dụ:

#+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

Nếu tôi đánh C-c 'trong khối đầu tiên, tôi nhận được:

(defvar *ok* "")

nhưng tôi muốn:

(defvar *ok* "")
(defun add-one (n) (+ 1 n))

2
Có các chức năng org-babel-tangle-jump-to-org org-babel-detangleyêu cầu thực hiện việc này nếu bạn rối với các nhận xét liên kết ( :comments linktrong khối nguồn). Tôi dường như không thể làm cho họ làm việc đúng.
erikstokes

Câu trả lời:


2

Những gì bạn đang tìm kiếm là một tính năng chỉnh sửa hai chiều, tồn tại các chỉnh sửa trong suốt chuyến đi khứ hồi và không chỉ là đầu ra một chiều phổ biến cho các lệnh rối và tháo gỡ. Giải pháp tốt nhất tôi tìm thấy là văn bản dạng thấu kính có sẵn dưới dạng gói lentic trên MELPA.


2

Thêm đối số tiêu đề này

#+PROPERTY: header-args+ :comments link

Rối. Bây giờ bạn có thể chỉnh sửa tệp bị rối và phát hành org-babel-detangleđể lấy lại mọi thứ vào tệp org.


2

Tôi có thể giới thiệu org-tanglesync , phương pháp đồng bộ hóa đơn giản hơn nhiều so vớiorg-babel-detangle

Về cơ bản nếu một khối bị vướng vào một tệp bên ngoài, thì mỗi lần chỉnh sửa khối đó, tệp bên ngoài cũng được kiểm tra và nếu phát hiện ra một khác biệt, người dùng sẽ được nhắc từ chối hoặc kéo các thay đổi bên ngoài vào khối org src .

Điều này cũng có chức năng tự động xử lý tất cả các khối rối trong bộ đệm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.