Как скопировать только видимый текст из сложенного состояния в буфер режима орг? - PullRequest
8 голосов
/ 07 июля 2010

Как скопировать файл org в другой буфер, если источник:

** TODO task #1
   - some text for task #1
** TODO task #2 
   - some text for task #2

но когда вы свернете все задачи, это будет выглядеть как

** TODO task #1 ...
** TODO task #2 ...

Я хочу отметить все задачи и скопировать их в другой буфер, и он должен выглядеть как второй вариант. Не включайте тексты для задач, которые хранятся внутри каждой задачи. Как я могу это сделать?

Ответы [ 3 ]

12 голосов
/ 09 июля 2010

Согласно комментарию Хенди, в текущих версиях режима org вы используете org-copy-visible (C-c C-x v) для копирования видимого содержимого текущего региона в список уничтожений.(C-x h может использоваться в первую очередь для отметки всего буфера, как обычно.)

Кроме того, обратите внимание, что в меню диспетчеризации экспорта (C-x C-e) предусмотрен переключатель «Только видимый», если вы хотитеэкспортируйте этот контент в другой формат.

Для более старых версий режима org, оригинальный ответ ниже должен по-прежнему применяться:

M-x org-export-visible RET SPC скопирует только текущий видимый текст вашего буфера режима org в новый буфер.

org-export-visible - это интерактивная скомпилированная функция Lisp в `org-exp.el '.

(org-export-visible TYPE ARG)

Создать копию видимой части текущего буфера и экспортировать ее.Копия создается во временном буфере и удаляется после использования.TYPE - это последний ключ (в виде строки), который также выбирает команду экспорта в диспетчере экспорта Cc Ce.В особом случае, если вы введете SPC в командной строке, временный файл режима org не будет удален, а представлен вам, чтобы вы могли продолжать его использовать.Префикс arg ARG передается команде экспорта.

Если вы хотите связать это (с C-c o в этом примере), вы можете использовать следующее:

(add-hook 'org-mode-hook 'my-org-mode-hook)
(defun my-org-mode-hook ()
  "Custom behaviours when entering org-mode."
  (local-set-key (kbd "C-c o") (function (lambda () (interactive)
                                           (org-export-visible ?\s nil)))))
6 голосов
/ 26 марта 2014

Существует org-copy-visible, который должен делать именно то, что вам нужно.

0 голосов
/ 08 июля 2010

Попробуйте M-x org-todo-list (или Копия при ).В результате появится список TODO записей (в файлах, перечисленных в списке файлов повестки дня) в буфере * Org Agenda *.

Возможно, вам потребуется добавить текущий файл в список файлов повестки дня.Из org-agenda документации:

Если текущий буфер находится в режиме Org и посещает файл, вы также можете сначала нажать «<» один раз, чтобы указать, что повестка дня должна быть временно (доиспользование Cc а) ограничено текущим файлом.Двойное нажатие на «<» означает ограничение на текущее поддерево или регион (если активен). </p>

...