1

Я хочу вызывать команды из приложения MS Office, которые напрямую влияют на мое (открытое) приложение Emacs, например

  • выполнить поиск выбранного текста в Emacs

Интересно, как я могу это сделать. Есть ли прямой способ отправки команд в Emacs? Я использую Emacs 24.3.1 в Windows 7 с опциями сервера

;;prevent error message of unsafe server (see http://stackoverflow.com/a/1313577/772434 )
(require 'server)
(and (>= emacs-major-version 23) (defun server-ensure-safe-dir (dir) "Noop" t))
(server-start)
;;(add-to-list 'load-path "~/path/to/org/protocol/")
(require 'org-protocol)

и я использую орг-протокол

1 ответ1

2

Вы можете отправить команду в Emacs (работает в режиме сервера), используя emacsclient .

Например :

emacsclient --eval "(org-search-view nil """pattern""")"

Если elisp становится слишком сложным, вам может быть лучше обернуть его в файл, который вы можете загрузить. Например :

fun.el

(defun my/search (pattern)
  (with-current-buffer "BUFFER-NAME"
     (search-forward pattern)))

командная строка

emacsclient --load fun.el --eval '(my/search "PATTERN")'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .