Орг-режимде тізімдерді белгілеу

Мен орг файлындағы мәтінді көшіріп, қойып, тізім ретінде пішімдедім:

- Funded pensions :: As explained more fully in Chapter 3, funded pensions are paid on behalf of its members.

Тізімді қалай пішімдеуге болады:

- Funded pensions :: As explained more fully in Chapter 3, funded pensions are
      paid on behalf of its members.

fill-region-paragraphs жұмыс істемейтін тағы бір қарапайым мысал:

* first header

- The primary objective of pensions is /economic security in old age/, achieved
through consumption smoothing, insurance, poverty relief, and redistribution.
- The primary objective of pension design is to /optimize old-age security/, includ-
ing the cost of providing it.
1
Бір элементті M-q арқылы толтыруға болады. Бірақ, сіз аймақты заттармен толтырғыңыз келетініне сенемін.
қосылды автор Mike Spivey, көзі
Сіз осындай мысал орналастыруыңыз керек.
қосылды автор Mike Spivey, көзі
Сіздің «басқа қарапайым мысал» - тағы бір оқиға. Онда жалғыз fill-paragraph тілегіңіз келмейді. Әрбір элементте екінші жол элементтің таңбалауышы сияқты бір бағанда басталады. Орг-синтаксис осы жолдың элементіне жатпайтынын білдіреді. Нақ сондықтан да org-adjust-region командасы бар. Осылайша, менің ұсынысым - org-adjust-region префикс арсымен көріңіз.
қосылды автор Mike Spivey, көзі
Иә org-adjust-region дұрыс орг құрылымын алу үшін оқ атаудың алдында көптеген бос орындарды қосады. Егер элемент тізімі орг файлындағы ең бірінші нәрсе болса және * бірінші тақырып дегенді алып тастасаңыз, онда org-adjust-region таңбалаудың алдында бос орындарды енгізбейді. Бұл мінез-құлық қасақана. org-adjust-region ағымдағы аймақта мәтінді түрлендіреді, ол орг-синтаксетті құрметтейді.
қосылды автор Mike Spivey, көзі
Мен басқа мысалды көрдім. Мен M-q немесе fill-region-as-paragraph немесе fill-region-paragraphs -ді автоматты түрде шегіндірмей, пайдаланбаймын. Бірінші жол үзілімін қолмен жою керек.
қосылды автор Curlew, көзі
Менің редакцияланған хабарламаны қараңыз.
қосылды автор Curlew, көзі
org-adjust-region «қарапайым мысалмен» жұмыс істейді, бірақ ол - символы алдында 2 бос орынды енгізеді. Мүмкін, бұл дұрыс емес «prefix arg». Велоспорт үшін TAB ма?
қосылды автор Curlew, көзі
Мен * бірінші тақырыбын жойдым және енді тізім итеріп жатыр *** . Мен org-adjust-region іске қосылды және ол оқтар алдында бос орындарды салмайды. Рақмет сізге.
қосылды автор Curlew, көзі

1 жауаптар

Назар аударыңыз, paragraph-fill түпнұсқасы нұсқасындағы мәселе бұл аймақ белсенді болса, fill-region деп аталады. Бұл барлық элементтерді бірнеше толтырылған элементтердің орнына бір толтырылған элементке біріктіреді.

Әрбір параграфты fill-paragraph интерактивті емес нұсқасымен бірге толтыратын fill-region-paragraphs командасы пайда болады. Бұл ретте аймақтағы заттар бөлек толтырылады. Кодада команда C-c f пернелер бірізділігіне байланысты. Сіз мұны өзіңіздің көңіліңізден өзгерте аласыз.

(defun fill-region-paragraphs (b e &optional justify)
  "Fill region between b and e like `fill-paragraph' for each paragraph in region
instead of `fill-region' which is implied by the original version of `fill-paragraph'.
Justify when called with prefix arg."
  (interactive "r\nP")
  (save-excursion
    (goto-char b)
    (while (< (point) e)
      (fill-paragraph justify)
      (forward-paragraph)
      )))
(global-set-key (kbd "C-c f") 'fill-region-paragraphs)

Төменде басқа сұраққа жауап . Мен оған paragraph-fill қосылдым.

Алдымен толтырғыңыз келетін элементтерді таңдаңыз. Содан кейін сіз қажетті пішімдеуді алу үшін C-u және C - + префикстерін басыңыз.

(defun org-adjust-region (b e)
  "Re-adjust stuff in region according to the preceeding stuff."
  (interactive "r") ;; current region
  (save-excursion
    (let ((e (set-marker (make-marker) e))
      (_indent (lambda ()
             (insert ?\n)
             (backward-char)
             (org-indent-line)
             (delete-char 1)))
      last-item-pos)
      (goto-char b)
      (beginning-of-line)
      (while (< (point) e)
    (indent-line-to 0)
    (cond
     ((looking-at "[[:space:]]*$")) ;; ignore empty lines
     ((org-at-heading-p)) ;; just leave the zero-indent
     ((org-at-item-p)
      (funcall _indent)
      (let ((struct (org-list-struct))
        (mark-active nil))
        (ignore-errors (org-list-indent-item-generic -1 t struct)))
      (setq last-item-pos (point))
      (when current-prefix-arg
        (fill-paragraph)))
     ((org-at-block-p)
      (funcall _indent)
      (goto-char (plist-get (cadr (org-element-special-block-parser e nil)) :contents-end))
      (org-indent-line))
     (t (funcall _indent)))
    (forward-line))
      (when last-item-pos
    (goto-char last-item-pos)
    (org-list-repair)
    ))))

(define-key org-mode-map (kbd "C-+") 'org-adjust-region)

emacs -Q 25.1.50.2 тестілеу үшін test.org файлын қолдандым:

* first header

- Funded pensions :: As explained more fully in Chapter 3, funded pensions are paid on behalf of its members.
- Funded pensions :: As explained more fully in Chapter 3, funded pensions are paid on behalf of its members.
- Funded pensions :: As explained more fully in Chapter 3, funded pensions are paid on behalf of its members.

Аймақ ретінде барлық элементтерді таңдау және fill-region-as-paragraph деп қоңырау шалу:

* first header

- Funded pensions :: As explained more fully in Chapter 3, funded
pensions are paid on behalf of its members.  - Funded pensions :: As
explained more fully in Chapter 3, funded pensions are paid on behalf
of its members.  - Funded pensions :: As explained more fully in
Chapter 3, funded pensions are paid on behalf of its members.

бұл сіз қалаған нәрсе емес.

fill-region-paragraphs нәтижесін келесі мәтінге қолдану:

* first header

- Funded pensions :: As explained more fully in Chapter 3, funded
     pensions are paid on behalf of its members.
- Funded pensions :: As explained more fully in Chapter 3, funded
     pensions are paid on behalf of its members.
- Funded pensions :: As explained more fully in Chapter 3, funded
     pensions are paid on behalf of its members.

Бұл мәтін маған қалағаныңыздай көрінеді.

C-u C - + іске қосу тіпті шегінісін алады:

* first header

  - Funded pensions :: As explained more fully in Chapter 3, funded
       pensions are paid on behalf of its members.
  - Funded pensions :: As explained more fully in Chapter 3, funded
       pensions are paid on behalf of its members.
  - Funded pensions :: As explained more fully in Chapter 3, funded
       pensions are paid on behalf of its members.
3
қосылды
Мен орнына fill-region-as-paragraph орнына бір ғана ерекшелікпен жақсы нәтиже бердім: бұл параграфта алдымен бірінші жол үзілімін қолмен жоюға тура келді.
қосылды автор Curlew, көзі
Менің редакцияланған хабарламаны қараңыз.
қосылды автор Curlew, көзі