如何让 TUI Emacs 中的 kill-ring-save 支持系统剪贴板

2022-07-26 16:25:25 浏览数 (1)

在之前和狗哥的节目[1]中,他提到了使用 TUI 的快感,想想我最早接触 Emacs 用的也是 TUI,但是后来由于需要在 org 中展示图片就用上了 GUI,再也没没回去过。

最近心血来潮,又想试试 TUI,结果发现有几个不符合预期的地方,一个重要地方是使用 M-w(kill-ring-save) 只能复制到 kill-ring 中,不能复制到系统剪切板(GUI 都可以),这及其不方便,但是立马想到一个解决方案:

代码语言:javascript复制
;; Hack clipboard for macOS in TUI mode(defun my/kill-ring-save (orig-fun beg end &optional region)  (unless (display-graphic-p)    (let ((inhibit-message t))      (shell-command-on-region beg end "pbcopy")))  (funcall orig-fun beg end region))(advice-add 'kill-ring-save :around #'my/kill-ring-save)

没错就是 advice,不需要修改原始代码,就能改变一个函数行为的机制。

你使用 advice “修复”了哪些行为?欢迎留言分享。

引用链接

[1] 狗哥的节目: https://emacstalk.github.io/podcast/002/

0 人点赞