一直想要使用 Org mode 来保存自己书签,刚刚使用,暂时不想用protocol这种比较复杂的功能。
想要使用一下这个模版来保存:
(add-to-list 'org-capture-templates
'("b" "Bookmark" entry
(file+headline "~/Public/Drop box/org/bookmark.org" "Link")
"* [[%x][%?]] \n:PROPERTIES:\n:CREATED: %U\n:END:\n\n" :empty-lines 1))
其中 [[%x][%?]]
的部分并没有生效,是不是 []
使得其转义了,还是 %x
根本不能抓去系统剪贴板?
%x
目前支持 X 和 Windows,参见C-h f org-get-x-clipboard
。
1 个赞
大神的就是看了你的blog才开始用capture的 看来是针对mac的失效了吗
根据前面 @xuchunyang 的回答,我去查了下,确认 %x
这个标记在 MAC 上是不能使用的。
填充模板用的是 org-capture-fill-template
这个函数,对应 %x
的部分为
(let* ((template (or template (org-capture-get :template)))
;; 省略
(v-x (or (org-get-x-clipboard 'PRIMARY)
(org-get-x-clipboard 'CLIPBOARD)
(org-get-x-clipboard 'SECONDARY)))
;; 省略
这就是刚才前面的回答里提到 org-get-x-clipboard
函数的原因。在这个函数里,只处理 window-system
为 x
和 win32
这两种情况,MAC 上这个变量的值应该是 ns
,参考 Window Systems ,你可以试试 C-h v
然后输入 window-system
查看它的值来确认一下。
我想到可能的一种解决办法是,利用 pbcopy/pbpaste 拿到 MAC 系统上剪贴板里的内容,然后塞到 kill-ring
的前面,这样你模板里的 %x
也许可以用 %c
替代。
不过我没有 MAC 的环境,没有办法做这个尝试了……
好的 我这边使用手动粘贴好了,只是稍微麻烦了点。不过以后的会跑去linux的
如果用的是 Emacs Mac Port 是自带 Org-protocol 支持的,然后浏览器设置一个 js 的书签就好,非常方便,建议试下。
可以参考:
1 个赞