如何从 MS Office 中的 VBA 向 Emacs 24 发送命令?

如何从 MS Office 中的 VBA 向 Emacs 24 发送命令?

我想从 MS Office 应用程序中调用对我的(打开的)Emacs 应用程序有直接影响的命令,例如

  • 在 Emacs 中搜索当前选定的文本

我想知道我该怎么做。有没有直接的方法向 Emacs 发送命令?我在 Windows 7 上运行 Emacs 24.3.1,并使用服务器选项

;;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

您可以使用 向 Emacs(以服务器模式运行)发送命令emacsclient

例如 :

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

如果 elisp 变得太复杂,你最好将其包装在可以加载的文件中。例如:

趣味

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

命令行

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

相关内容