我在 Windows 上使用 ergoemacs(emacs)。我想使用 org-screenshot(org-screenshot.el) 来捕获屏幕截图。我已经使用cygwin-mount来使用cygwin。不幸的是“导入%f”不起作用。我相信只有当 x-server 开启时它才有效。如果我错了,请告诉我:)。无论如何,我正在尝试使用一个 Windows 工具,它接受文件路径作为参数来捕获屏幕截图。但问题是 emacs 使用“/”斜杠传递文件路径,但该工具需要“\”。我尝试在下面的代码(来自 org-screenshot.el 的代码)中的调用过程之前使用 (replace-regexp-in-string "/" "\" args),但它不起作用。有什么建议吗?如果您需要更多相关信息,请告诉我。
(let* ((arglst (split-string org-screenshot-command-line " "))
(cmd (car arglst))
(scrpath (convert-standard-filename (expand-file-name scrfilename)))
(args (mapcar (lambda (x) (replace-regexp-in-string "%f" scrpath x))
(cdr arglst))))
(setq status (apply 'call-process cmd nil nil nil args))
(unless prfx (make-frame-visible))
(unless (equal status 0)
(error "screenshot command exited with status %d: %s" status
(mapconcat 'identity (cons cmd args) " ")) )
(message "wrote screenshot to %s" scrpath))
(org-display-inline-images nil t)))
我已经制作了这个脚本并将其连接到我的 doom-emacs 设置。我希望它对某人有用。这是仓库:https://github.com/AlexLeSang/scrot.bat.