Làm thế nào để điền (bọc) một tiêu đề chế độ org?


9

Tôi muốn điền (bọc) một tiêu đề dài trong chế độ org. Tôi không thấy đề cập đến cách làm như vậy trong hướng dẫn org .

Nếu tôi tự bọc dòng bằng cách chèn một dòng mới, chế độ org sẽ không nhận ra văn bản được bọc như một tiêu đề.

Điều này có thể không?

Lưu ý: org-fill-paragraphkhông làm điều này:

(defun org-fill-paragraph (&optional justify)
  "Fill element at point, when applicable.

This function only applies to comment blocks, comments, example
blocks and paragraphs.  Also, as a special case, re-align table
when point is at one.

If JUSTIFY is non-nil (interactively, with prefix argument),
justify as well.  If `sentence-end-double-space' is non-nil, then
period followed by one space does not end a sentence, so don't
break a line there.  The variable `fill-column' controls the
width for filling.

For convenience, when point is at a plain list, an item or
a footnote definition, try to fill the first paragraph within."
  (interactive)
  ; ...

Câu trả lời:


11

Người đăng ban đầu đang sử dụng các từ fillwraphoán đổi cho nhau - chúng không giống nhau.

Xem biến org-startup-truncated:

Non-nil means entering Org-mode will set `truncate-lines'.
This is useful since some lines containing links can be very long and
uninteresting.  Also tables look terrible when wrapped.

Mặc định là t. Để thay đổi điều này, người dùng có thể đặt đoạn mã sau vào .emacstệp:

(setq org-startup-truncated nil)

org-modecần một đầu cuối để xác định chính xác một tiêu đề. Để xem ví dụ về biểu thức chính quy org-modesử dụng cho các tiêu đề, người dùng có thể nhập (sau khi org-modebộ đệm đã được tải):

M-x describe-variable RET org-complex-heading-regexp RET

Có thể thấy, kết thúc là $- tức là đến cuối dòng.

^\\(\\*+\\)\\(?: +\\(TODO\\|DONE\\)\\)?\\(?: +\\(\\[#.\\]\\)\\)?\\(?: +\\(.*?\\)\\)??\\(?:[     ]+\\(:[[:alnum:]_@#%:]+:\\)\\)?[    ]*$

Cảm ơn đã làm rõ điền so với gói. Sự khác biệt đó không rõ ràng khi đọc www.emacswiki.org/emacs/FillPar Đoạn. Cảm ơn đã hiển thị các biểu thức chính quy cơ bản. Đối với phương pháp thực hiện, điều này có chính xác không? Trừ khi người ta sửa đổi regex đó, điền (chèn dòng mới) không phải là một lựa chọn. Cắt ngắn sẽ hoạt động, bằng cách sử dụng cách bạn hiển thị hoặc với M-x toggle-truncate-lines(hiển thị trong câu trả lời của tôi).
David J.

1
Để vô hiệu hóa tự động cắt ngắn, biến org-startup-truncatedlà thích hợp nhất vì việc khởi tạo org-modekiểm tra giá trị của biến đó và trừ khi có nil, quá trình khởi tạo được đặt cụ thể (setq truncate-lines t). Để giữ hành vi mặc định và chỉ chuyển đổi thủ công, thì toggle-truncate-lineschắc chắn là phù hợp. Regex cơ bản cho các tiêu đề có thể dễ dàng thay đổi (theo ý kiến ​​của tôi) bởi vì có một triệu và một chức năng dựa vào nó - ví dụ : org-agenda-list; org-search-view; org-tags-view, đến tên một vài.
luật

1
Bạn cũng có thể quan tâm đến visual-line-modenhững nỗ lực để giữ toàn bộ các từ với nhau khi gói. Để thiết lập riêng, tôi đã sửa đổi chỉnh sửa các mục cần làm như sau: chỉnh sửa tự động thu hẹp bộ đệm vào tác vụ tôi đang chỉnh sửa; visual-line-modeđược kích hoạt và tôi thực hiện chỉnh sửa của mình; khi thoát khỏi bộ đệm bị thu hẹp, visual-line-modesẽ bị tắt; cắt ngắn vẫn là mặc định khi bộ đệm không bị thu hẹp. Tôi có một thiết lập tùy chỉnh giữ cho bộ đệm không bị thu hẹp ở trạng thái chỉ đọc, được đọc khi chỉnh sửa và sau đó được đặt thành chỉ đọc khi hoàn tất.
luật

4

Tôi không thấy làm thế nào để làm cho công việc điền. Vì vậy, một công việc xung quanh là để sử dụng M-x toggle-truncate-lines. Điều này chỉ ảnh hưởng đến việc trình bày tiêu đề. Nó không chèn dòng mới.

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.