请教下,有办法键绑定C-u C-c C-l(插入file格式的org-insert-link)这组键吗,我设置(global-set-key [(f10)] (kbd “C-u C-c C-l”)),但却直接返回current文件夹下第一个文件的链接。有其他办法吗?
我想你可能是这个意思:
(global-set-key (kbd "<f10>") 'org-insert-link)
不是,回过来看,我对C-u了解不够,提的问题错了。实际上C-c C-l会先有一堆选项如图示,而我想直接选定file而跳过这个步骤,有好的办法吗?
(defun abs-no-name-space/org-insert-link ()
(interactive)
(let ((current-prefix-arg '(4)))
(call-interactively 'org-insert-link)))
(global-set-key (kbd "<f10>") 'abs-no-name-space/org-insert-link)
呼叫 abs-no-name-space/org-insert-link
或者按下 f10 .
1 个赞
解决我的问题了,非常感谢!
如果要为加了 universal argument C-u 的命令绑定快捷键, 重点是认识到 C-u 的作用是为其后接的交互式命令加了一个 argument, 这个 argument 是 '(4)
, 按 C-u 两次是 '(16)
, 按 C-u 三次是 '(64)
以命令 org-latex-preview
为例:
-
C-u org-latex-preview
等价于M-: (org-latex-preview '(4))
, 取消当前 headline 下的所有 fragments 的图片显示 (显示 latex 源码) -
C-u C-u org-latex-preview
等价于M-: (org-latex-preview '(16))
, 在当前 buffer 内用图片显示所有的 latex fragments. -
C-u C-u C-u org-latex-preview
等价于M-: (org-latex-preview '(64))
, 取消当前 buffer 内的所有 latex fragments 的图片显示 (显示 latex 源码)
按照上面的说明, 你要的函数定义除了用你已经采用的答案, 还可以简单写为
(defun my-org-insert-file-link ()
(interactive)
(org-insert-link '(4)))
3 个赞
感觉大佬的解释,感觉一下就明明白白了。