это немного сложный случай, поэтому я постараюсь быть максимально кратким.
Я хотел бы использовать подзаголовки (уровень 2+) в org-gcal в Spacemacs. Однако в настоящее время синхронизация допускает только синхронизацию уровня 1. Тем не менее, я вручную протестировал замену заголовков lvl 2 ** и заменил их -- (начало в начале строки или ^). Это позволяет org-gcal синхронизировать подзаголовки с разделом заметок Календаря Google, а мне позволяет делать быстрые заметки, пока я вне дома. Моя цель состояла бы в том, чтобы автоматизировать процедуру замены текста всех файлов *.org с указанным каталогом с помощью одной пользовательской команды и...
(a) преобразовать все ** @ начало строк в -- во всех файлах с указанным каталогом (b) запустить org-gcal-sync для синхронизации измененных файлов (c) после синхронизации файлов выполнить обратный процесс и преобразовать все - - вернуться к ** и разрешить функциональные возможности организационного режима просмотра столбцов и т. д.
В частности, я использую следующие пакеты... 1) https://github.com/sineer/spacemacs-calendar-layer (реализация org-gcal в Spacemacs) 2) http://melpa.org/#/xah -find (для замены текста)
Я сузил код до использования либо xah-find-replace-text, либо (предпочтительнее) xah-find-replace-text-regex. Однако я почти уверен, что у меня проблемы с регулярными выражениями, областью действия и командами lisp в целом. Подробности ниже. Чтобы было ясно, если следующее слишком сложно или есть гораздо более простое решение, я открыт для любых предложений. Заранее спасибо!!!
(xah-find-replace-text "aaa" "bbb" "~/emacs/org/Test/." ".org\'" "y" "y" "y" "y")
Используя интерактивный режим (C-x C-e), я протестировал приведенное выше, и он заменит все экземпляры «aaa» на «bbb», но я бы предпочел использовать что-то более похожее на строки (xah-find-replace-text- регулярное выражение "^**" "--" "~/pathToDir" "y" "y" "y"), так как совпадения будут более специфичными для начала строки. Обратите внимание, что версия регулярного выражения принимает 7 параметров (по сравнению с xah-find-replace-text, который принимает 8).
В конце концов, я бы предпочел автоматизировать, поместив что-то подобное в мой файл .init/.Spacemacs...
(defun org-gcal-sync-subchildren ()
(interactive)
(xah-find-replace-text-regex "^\*\\*" "--"......etc.)
(org-gcal-sync)
(xah-find-replace-text-regex "^--" "**".......etc.))
Для справки: Орг-Гкал: 1) текущий выпуск: https://github.com/myuhe/org-gcal.el/issues/43
xah-find: 1) поиск обычного текста: https://github.com/xahlee/xah-find/blob/master/xah-find.el#L556 2) поиск и замена текста регулярных выражений: https://github.com /xahlee/xah-find/blob/master/xah-find.el#L642
Извините за битые ссылки, но моя репутация не позволяет мне публиковать больше двух.